Compare commits

..

1 commit

Author SHA1 Message Date
Riccardo Mottola
84a2495a61 Tag version 0_6_1
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/tags/projectcenter-0_6_1@35201 72102866-910b-0410-8b05-ffd578937521
2012-06-13 13:04:40 +00:00
223 changed files with 2928 additions and 4888 deletions

View file

@ -1,23 +0,0 @@
#! /usr/bin/env sh
set -ex
echo "Building..."
# build dependencies...
./.github/scripts/dependencies.sh
export LIBRARY_PATH=$HOME/staging/lib:$HOME/staging/lib64:$LIBRARY_PATH;
export LD_LIBRARY_PATH=$HOME/staging/lib:$HOME/staging/lib64:$LD_LIBRARY_PATH;
if [ $LIBRARY_COMBO = 'ng-gnu-gnu' ];
then
export CPATH=$HOME/staging/include;
else
export CPATH=/usr/lib/gcc/x86_64-linux-gnu/4.8/include;
fi;
export PATH=$HOME/staging/bin:$PATH;
export GNUSTEP_MAKEFILES=$HOME/staging/share/GNUstep/Makefiles;
. $HOME/staging/share/GNUstep/Makefiles/GNUstep.sh;
# Build gorm
make && make install && make check || (cat Tests/tests.log && false);

View file

@ -1,135 +0,0 @@
#! /usr/bin/env sh
set -ex
DEP_SRC=$HOME/dependency_source/
DEP_ROOT=$HOME/staging
install_prerequisites() {
sudo apt-get -qq update
sudo apt-get install -y cmake pkg-config libgnutls28-dev libgmp-dev libffi-dev libicu-dev \
libxml2-dev libxslt1-dev libssl-dev libavahi-client-dev zlib1g-dev
if [ $LIBRARY_COMBO = 'gnu-gnu-gnu' ];
then
if [ $CC = 'gcc' ];
then
sudo apt-get install -y gobjc;
fi;
sudo apt-get install -y libobjc-8-dev libblocksruntime-dev;
else
curl -s -o - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -;
sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main" && sudo apt-get update -qq;
sudo apt-get install -y clang-9 libkqueue-dev libpthread-workqueue-dev;
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-9 10 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-9;
export PATH=$(echo "$PATH" | sed -e 's/:\/usr\/local\/clang-7.0.0\/bin//');
if [ "$RUNTIME_VERSION" = "gnustep-2.0" ];
then
sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 10;
fi;
fi;
if [ $LIBRARY_COMBO = 'ng-gnu-gnu' ];
then
curl -LO https://cmake.org/files/v3.15/cmake-3.15.5-Linux-x86_64.tar.gz;
tar xf cmake-3.15.5-Linux-x86_64.tar.gz;
mv cmake-3.15.5-Linux-x86_64 $HOME/cmake;
export PATH=$HOME/cmake/:$HOME/cmake/bin:$PATH
fi;
}
install_gnustep_make() {
cd $DEP_SRC
git clone https://github.com/gnustep/tools-make.git
cd tools-make
if [ -n "$RUNTIME_VERSION" ]
then
WITH_RUNTIME_ABI="--with-runtime-abi=${RUNTIME_VERSION}"
else
WITH_RUNTIME_ABI=""
fi
./configure --prefix=$DEP_ROOT --with-library-combo=$LIBRARY_COMBO $WITH_RUNTIME_ABI
make install
echo Objective-C build flags: `$HOME/staging/bin/gnustep-config --objc-flags`
}
install_ng_runtime() {
cd $DEP_SRC
git clone https://github.com/gnustep/libobjc2.git
cd libobjc2
git submodule init
git submodule sync
git submodule update
cd ..
mkdir libobjc2/build
cd libobjc2/build
export CC="clang"
export CXX="clang++"
export CXXFLAGS="-std=c++11"
cmake -DTESTS=off -DCMAKE_BUILD_TYPE=RelWithDebInfo -DGNUSTEP_INSTALL_TYPE=NONE -DCMAKE_INSTALL_PREFIX:PATH=$DEP_ROOT ../
make install
}
install_libdispatch() {
cd $DEP_SRC
# will reference upstream after https://github.com/apple/swift-corelibs-libdispatch/pull/534 is merged
git clone -b system-blocksruntime https://github.com/ngrewe/swift-corelibs-libdispatch.git
mkdir swift-corelibs-libdispatch/build
cd swift-corelibs-libdispatch/build
export CC="clang"
export CXX="clang++"
export LIBRARY_PATH=$DEP_ROOT/lib;
export LD_LIBRARY_PATH=$DEP_ROOT/lib:$LD_LIBRARY_PATH;
export CPATH=$DEP_ROOT/include;
cmake -DBUILD_TESTING=off -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX:PATH=$HOME/staging -DINSTALL_PRIVATE_HEADERS=1 -DBlocksRuntime_INCLUDE_DIR=$DEP_ROOT/include -DBlocksRuntime_LIBRARIES=$DEP_ROOT/lib/libobjc.so ../
make install
}
install_gnustep_base() {
export GNUSTEP_MAKEFILES=$HOME/staging/share/GNUstep/Makefiles
. $HOME/staging/share/GNUstep/Makefiles/GNUstep.sh
cd $DEP_SRC
git clone https://github.com/gnustep/libs-base.git
cd libs-base
./configure
make
make install
}
install_gnustep_gui() {
export GNUSTEP_MAKEFILES=$HOME/staging/share/GNUstep/Makefiles
. $HOME/staging/share/GNUstep/Makefiles/GNUstep.sh
cd $DEP_SRC
git clone https://github.com/gnustep/libs-gui.git
cd libs-gui
./configure
make
make install
}
install_gnustep_back() {
export GNUSTEP_MAKEFILES=$HOME/staging/share/GNUstep/Makefiles
. $HOME/staging/share/GNUstep/Makefiles/GNUstep.sh
cd $DEP_SRC
git clone https://github.com/gnustep/libs-back.git
cd libs-back
./configure
make
make install
}
mkdir -p $DEP_SRC
if [ "$LIBRARY_COMBO" = 'ng-gnu-gnu' ]
then
install_ng_runtime
install_libdispatch
fi
install_prerequisites
install_gnustep_make
install_gnustep_base
install_gnustep_gui
install_gnustep_back

View file

@ -1,10 +0,0 @@
#! /usr/bin/env sh
set -ex
echo "Testing..."
. $HOME/staging/share/GNUstep/Makefiles/GNUstep.sh;
# Test gorm
make check || (cat Tests/tests.log && false);

View file

@ -1,38 +0,0 @@
# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the workflow will run
on: push
# A workflow run is made up of one or more jobs that can run
# sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
env:
LIBRARY_COMBO: gnu-gnu-gnu
CC: gcc
# Steps represent a sequence of tasks that will be executed as
# part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE,
# so your job can access it
- uses: actions/checkout@v2
# Runs a single command using the runners shell
- name: Build source
run: ./.github/scripts/build.sh
# Runs a single command using the runners shell
- name: Run tests
run: ./.github/scripts/test.sh
# Runs a set of commands using the runners shell
- name: Run a multi-line script
run: |
echo Add other actions to build,
echo test, and deploy your project.

14
.gitignore vendored
View file

@ -1,14 +0,0 @@
*.app
*.debug
*.profile
*.plugin
*.framework
*.debugger
*.editor
*.parser
*.preferences
*.project
*.swp
derived_src
obj
*~

View file

@ -1,6 +0,0 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @global-owner1 and @global-owner2 will be requested for
# review when someone opens a pull request.
* @rmottola
* @gcasa

871
ChangeLog
View file

@ -1,874 +1,3 @@
2022-01-16 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectWindow.m
nil the delegates of the split-view, avoid a crash on close window.
2022-01-13 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectInspector.m
Don't assign nil, it is useless, just destroy it: retaining nil is
useless.
2022-01-12 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditor.h
* Modules/Editors/ProjectCenter/PCEditor.m
Reduce scope of _extScrollView _intScrollView from ivar to local
variables, release after setting to content view and fix
double-release of _intScrollView.
2021-11-30 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditorView.h
* Modules/Editors/ProjectCenter/PCEditorView.m
Use a timer also for line calculation and status update.
2021-11-26 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditor.m
Do not send double computeNewParenthesisNesting: on key pressed.
Furthermore, use a timer so that in case of rapid re-computing
it gets invalidated before and only calculated at the last event.
2021-10-19 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditorView.h
* Modules/Editors/ProjectCenter/PCEditorView.m
Remove insertText and handle keys through appropriate methods (inserTab, cancelOperation)
2021-08-18 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditor.m
Turn off ligatures, both when setting up the editor as well as when
loading a file.
2021-08-18 Riccardo Mottola <rm@gnu.org>
* PCInfoContronoller.m
Center info panel correctly the first time on load.
2021-08-10 Gregory John Casamento <greg.casamento@gmail.com>
* Framework/PCEditorManager.m: Add method -gotoFile:atLine:
* Framework/PCProjectEditor.m: Add method openEditorForFilePath:windowed:
* Framework/PCProjectManager.m: Add method openFileAtPath:windowed:
* Headers/ProjectCenter/PCEditorManager.h
* Headers/ProjectCenter/PCProjectEditor.h
* Headers/ProjectCenter/PCProjectManager.h: Declarations for above methods.
* Modules/Debuggers/ProjectCenter/GDBWrapper.h
* Modules/Debuggers/ProjectCenter/GDBWrapper.m: Add code to pull
"thread-selected" dictionary when the debugger stops by using break/pause
or by using up or down. Code to syncronize editor with where the debugger
has stopped.
* Modules/Debuggers/ProjectCenter/PCDebugger.h
* Modules/Debuggers/ProjectCenter/PCDebugger.m: updateEditor method. This
method makes use of the gotoFile:atLine: method to get the file and show it
in the code editor and go to the line where it has stopped.
* Modules/Editors/ProjectCenter/PCEditor.m: Update internal editor
* Modules/Editors/ProjectCenter/PCEditorView.m: minor bugfixes.
2021-07-16 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/GDBWrapper.h
* Modules/Debuggers/ProjectCenter/GDBWrapper.m
Don't send keystrokes directly to gdb, but accumulate a line until return and send, allows to handle backspaces.
2021-07-09 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectLauncher.m
If we already instantiated a Debugger, reuse it.
2021-07-06 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PCDebugger.h
* Modules/Debuggers/ProjectCenter/PCDebugger.m
Change parsing of MI interface to a LAR parser and avoid issue
of recursive [] {} values in the previous parser.
2021-06-22 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PCDebugger.h
* Modules/Debuggers/ProjectCenter/PCDebugger.m
Accessor methods for specific debugger information as wellas filename and line.
2021-05-13 Riccardo Mottola <rm@gnu.org>
* Modules/Projects/Application/PCAppProject+Inspector.h
* Modules/Projects/Application/PCAppProject+Inspector.m
* Modules/Projects/Application/PCAppProject.m
* Modules/Projects/Application/Resources/Inspector.gorm
Fix HelpFile by saving the property in the app project and generating
the plist.
2021-02-19 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditor.h
* Modules/Editors/ProjectCenter/PCEditor.m
Keep track of the file modification date on each open/save,
compare it to the current file to detect external modifications.
2021-02-12 Riccardo Mottola <rm@gnu.org>
* Framework/PCFileManager.m
Open in project directory preferentially if no last open
dir (quick version, ignores file type).
2021-02-06 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditor.m
Respect background selection preferences and infer text
as inverse.
2021-02-04 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectManager.m
* PCAppController.m:
Cleanup a bit the setting of the active project and the key win.
2021-02-03 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectInspector.m
Check for invalid filenames and in case, reset to the original
file name.
2021-02-03 Riccardo Mottola <rm@gnu.org>
* Framework/PCEditorManager.m:
Do not open an external editor if an in-window is requested.
2020-09-08 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/SyntaxHighlighter.h
* Modules/Editors/ProjectCenter/SyntaxHighlighter.m
Add setters for fonts.
* Modules/Editors/ProjectCenter/PCEditorView.h
* Modules/Editors/ProjectCenter/PCEditorView.m
Separate font accessors in to class and instance methods.
Do not use preferences in class methods, since they are outside the
protocol.
2020-09-08 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectLauncher.m
Access Preferences through its protocol, since the launcher is in the
Framework.
2020-04-16 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditorView.m:(drawRect:)
Fix range to use characters and not glyphs, sicne highlighting is based on chars.
2020-03-24 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectLauncher.m
* Modules/Debuggers/ProjectCenter/PCDebugger.m
* Modules/Debuggers/ProjectCenter/PCDebuggerView.h
* Modules/Debuggers/ProjectCenter/PCDebuggerViewDelegateProtocol.h
* Modules/Debuggers/ProjectCenter/PipeDelegate.h
* Modules/Debuggers/ProjectCenter/PipeDelegate.m
* Modules/Editors/ProjectCenter/PCEditorView.m
Uniform font defaults to use PCPreferenceController, fix Debugger to
actually make setFont work thorugh the view-delegate chain.
2020-03-24 Riccardo Mottola <rm@gnu.org>
* Modules/Preferences/EditorFSC/PCEditorFSCPrefs.m
Fix loading of font from preferences.
2019-12-29 Fred Kiefer <FredKiefer@gmx.de>
* Framework/PCButton.m
* Framework/PCProjectBrowser.m
* Framework/PCProjectLauncherPanel.m
* Framework/PCProjectLoadedFilesPanel.m
* Framework/PCProjectManager.m
* Modules/Debuggers/ProjectCenter/PCDebugger.m
* Modules/Debuggers/ProjectCenter/PipeDelegate.m
* Modules/Editors/ProjectCenter/SyntaxHighlighter.m
* Modules/Projects/Library/PCLibProject.h
* Modules/Projects/Library/PCLibProject.m
Remove compiler warnings.
* .gitignore: Add file
2019-05-25 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/SyntaxDefinition.h
* Modules/Editors/ProjectCenter/SyntaxDefinition.m
Uniform context type to NSUInteger.
2019-05-22 Riccardo Mottola <rm@gnu.org>
* Framework/PCButton.m
* Headers/ProjectCenter/PCButton.h
Remove custom ToolTip implementation now present in GUI.
2018-06-19 Riccardo Mottola <rm@gnu.org>
* Modules/Projects/Framework/PCFrameworkProject.h
* Modules/Projects/Framework/PCFrameworkProject.m
Add some GSDoc makefile aids
2017-08-16 Riccardo Mottola <rm@gnu.org>
* Modules/Projects/Application/PCAppProject.m
Fix for nil bundle identifier.
2017-01-17 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectManager.m
* Modules/Projects/Application/PCAppProject.h
Fix wrong declaration and missing subtype option.
2017-01-13 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectManager.m
* Headers/Protocols/ProjectType.h
* Modules/Projects/Aggregate/PCAggregateProject.h
* Modules/Projects/Aggregate/PCAggregateProject.m
* Modules/Projects/Application/PCAppProject.h
* Modules/Projects/Application/PCAppProject.m
* Modules/Projects/Bundle/PCBundleProject.h
* Modules/Projects/Bundle/PCBundleProject.m
* Modules/Projects/Framework/PCFrameworkProject.h
* Modules/Projects/Framework/PCFrameworkProject.m
* Modules/Projects/ResourceSet/PCResourceSetProject.h
* Modules/Projects/ResourceSet/PCResourceSetProject.m
* Modules/Projects/Tool/PCToolProject.h
* Modules/Projects/Tool/PCToolProject.m
Pass options to createProjectAt and use those to create Gorm/Renaissance subtypes, enable the former by default.
2016-12-16 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PipeDelegate.m
Conditionally split on windows with CR-LF
2016-11-28 Riccardo Mottola <rm@gnu.org>
* Modules/Parsers/ProjectCenter/PCParser.m
Fix off-by-one in length when checking the last character.
2016-11-25 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PipeDelegate.h
* Modules/Debuggers/ProjectCenter/PipeDelegate.m
skip and report empty lines as PCDBEmptyRecord
2016-11-19 11:22-EST Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PCDebugger.m
* Modules/Debuggers/ProjectCenter/PCDebuggerViewDelegateProtocol.h
* Modules/Debuggers/ProjectCenter/PipeDelegate.m: Added/implemented
debuggerSetup method.
2016-11-18 Riccardo Mottola <rm@gnu.org>
* Modules/Projects/Application/PCAppProject+Inspector.h
* Modules/Projects/Application/PCAppProject+Inspector.m
* Modules/Projects/Application/Resources/Inspector.gorm
Connect add/remove buttons.
* Modules/Debuggers/ProjectCenter/PipeDelegate.m
Commands need new-line.
2016-11-17 09:20-EST Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PipeDelegate.m: Change flag to yes
in parseLine method to indicate debugger has started.
2016-11-17 09:18-EST Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PCDebugger.h
* Modules/Debuggers/ProjectCenter/PCDebugger.m
* Modules/Debuggers/ProjectCenter/PipeDelegate.h
* Modules/Debuggers/ProjectCenter/PipeDelegate.m: Added notification
to fix breakpoint loading.
2016-09-29 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PCDebugger.h
* Modules/Debuggers/ProjectCenter/PCDebugger.m
* Modules/Debuggers/ProjectCenter/PCDebuggerViewDelegateProtocol.h
* Modules/Debuggers/ProjectCenter/PipeDelegate.m
Add skeleton to handle breakpoints, add breakpoint types.
2016-06-06 11:47-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PCDebuggerView.m: Add code to
make commands appear when the button is pressed.
2016-05-22 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditorView.h
* Modules/Editors/ProjectCenter/PCEditorView.m
Comply to protocol.
* Modules/Editors/ProjectCenter/SyntaxHighlighter.h
* Modules/Editors/ProjectCenter/SyntaxHighlighter.m
Transition to NSInteger/NSUInteger
2016-05-15 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PCDebugger.m
On windows kill with DebugBreakProcess() and not tskill. Available only on WinXP or higher.
* Modules/Debuggers/ProjectCenter/PipeDelegate.m
For GDB < v. 7 (on win), attempt to grab process id from Windows thread information.
2016-05-05 15:43-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PipeDelegate.m: Minor changes.
2016-05-05 13:13-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PCDebugger.m
* Modules/Debuggers/ProjectCenter/PipeDelegate.m: Partial parsing
of result records to yield correct status in debuggerView.
2016-05-05 11:23-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PipeDelegate.m: Handle more
escaped sequences to futher clean up output.
2016-05-03 19:40-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PipeDelegate.h
* Modules/Debuggers/ProjectCenter/PipeDelegate.m: Add parsers
to handle output from various types of MI data. Code to handle
each individual case is being written.
2016-05-03 18:00-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PCDebugger.m
* Modules/Debuggers/ProjectCenter/PCDebuggerView.m
* Modules/Debuggers/ProjectCenter/PipeDelegate.m: Changes
to allow pid to be passed back to PCDebugger by calling
setSubProcessId once the pid is parsed from the mi output.
2016-05-03 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PCDebugger.h
* Modules/Debuggers/ProjectCenter/PCDebugger.m
Refactor path to executablePath.
* Modules/Debuggers/ProjectCenter/PipeDelegate.m
Do not permit deletion beyond the new line or the gdb prompt.
2016-03-23 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PCDebugger.m
* Modules/Debuggers/ProjectCenter/PCDebuggerView.h
* Modules/Debuggers/ProjectCenter/PCDebuggerView.m
* Modules/Debuggers/ProjectCenter/PipeDelegate.h
* Modules/Debuggers/ProjectCenter/PipeDelegate.m
* Modules/Debuggers/ProjectCenter/PCDebuggerViewDelegateProtocol.h
Merge in from pipes branch: stdio/stdout over pipes handled in a separate delegate class.
2016-03-23 Riccardo Mottola <rm@gnu.org>
* Framework/PCBundleManager.m
* Framework/PCProjectLauncher.m
Merge from branch: check bundle loading and warn.
2016-03-15 18:47-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Debuggers/ProjectCenter/PTYView.h
* Modules/Debuggers/ProjectCenter/PTYView.m:
Undo previous change. Move Riccardo's change to
branch ptyview_with_pipes.
2016-03-14 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PTYView.h
* Modules/Debuggers/ProjectCenter/PTYView.m
Use stdio/stdout over pipes instead of a tty
2016-03-08 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectLauncher.m
Update debug executable path search to run, make it work on windows.
2015-11-09 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectInspector.m
Allocate a Mutable Array before assagning an Array to a MutableArray
2015-11-05 Riccardo Mottola <rm@gnu.org>
* Modules/Projects/Application/PCAppProject+Inspector.h
* Modules/Projects/Application/PCAppProject+Inspector.m
* Headers/ProjectCenter/PCDefines.h
* Modules/Projects/Application/PCAppProject.h
* Modules/Projects/Application/PCAppProject.m
* Modules/Projects/Application/Resources/Inspector.gorm
CFBundleIdentifier support for Apps.
2015-11-02 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditorView.m
Cleanups and NSInteger conversion.
* Modules/Editors/ProjectCenter/LineJumper.h
* Modules/Editors/ProjectCenter/LineJumper.m
declare missing method
2015-06-16 Riccardo Mottola <rm@gnu.org>
* Framework/GNUmakefile
* Framework/PCFileCreator.m
* Headers/ProjectCenter/PCFileCreator.h
* Framework/Resources/ocppclass.template
Enable project addition of obj-c++ classes.
2015-06-13 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectEditor.m
Re-enable wrongly uncommented statement.
* Framework/PCEditorManager.m
If we have a directory, we check if it is a bundle that an app can open it and open it through NSWorkspace.
2015-06-12 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditor.m
Enable parsing of obj-c++
2015-06-12 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/Resources/Info.table
Enable Obj-C++ extension.
* Framework/PCEditorManager.m
Use the internal editor if it is available, even if no parser is available.
* Modules/Editors/ProjectCenter/PCEditor.m
Handle missing image better.
2015-04-07 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditorView.m
Use constants and not strings as keys.
* Modules/Debuggers/ProjectCenter/PCDebugger.m
Use console font for the view.
2015-03-22 Riccardo Mottola <rm@gnu.org>
* Modules/Preferences/EditorFSC/PCEditorFSCPrefs.m
Use Preferences color methods.
2015-03-22 Riccardo Mottola <rm@gnu.org>
* Headers/Protocols/Preferences.h
* PCPrefController.m
Direct preferences method for setting and getting colors.
2015-03-22 Riccardo Mottola <rm@gnu.org>
* Modules/Preferences/EditorFSC/PCEditorFSCPrefs.m
Convert CMYK to RGB before serializing.
2015-03-22 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditor.m
Actually use the background color preference.
2015-03-22 Riccardo Mottola <rm@gnu.org>
* Headers/Protocols/Preferences.h
* Modules/Preferences/EditorFSC/PCEditorFSCPrefs.m
* PCPrefController.m
Move colorFromString from PCEditorFSCPrefs to PCPrefsController and make it thus generally available.
2015-03-12 Riccardo Mottola <rm@gnu.org>
* Modules/Projects/Framework/PCFrameworkProject.m
Generate the PACKAGE_NAME for Frameworks.
2015-03-11 Riccardo Mottola <rm@gnu.org>
* Modules/Preferences/EditorFSC/PCEditorFSCPrefs.m
Bug Fix: Set the font manager with the picked font, not always the same.
2015-03-11 Riccardo Mottola <rm@gnu.org>
* Modules/Preferences/EditorFSC/PCEditorFSCPrefs.h
* Modules/Preferences/EditorFSC/PCEditorFSCPrefs.m
* Modules/Preferences/EditorFSC/Resources/EditorFSCPrefs.gorm
Provide Editor and Fixed font preferences, instead of plain and rich.
* Modules/Editors/ProjectCenter/PCEditorView.m
Use the preferences Editor font instead of the system one.
2014-12-16 Riccardo Mottola <rm@gnu.org>
* Framework/PCProject.m
Initialize backup wrapper after wrapperPath since it depends on it!
2014-12-16 Riccardo Mottola <rm@gnu.org>
* Framework/PCMakefileFactory.m
Generate sections only if there are classes.
2014-12-15 Riccardo Mottola <rm@gnu.org>
* Framework/PCMakefileFactory.m
Create mm sections in makefiles for Objective-C++
2014-12-08 Riccardo Mottola <rm@gnu.org>
* Framework/PCProject.m
Accept also Objective-C++ classes as Class files
2014-11-20 Riccardo Mottola <rm@gnu.org>
* Modules/Parsers/ProjectCenter/PCParser.m
Force last action on parser if file lacks a new line at EOF.
2014-11-20 Riccardo Mottola <rm@gnu.org>
* Modules/Parsers/ProjectCenter/ObjCCommentHandler.m
Fix parser to ignore comments inside strings.
2014-10-07 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectManager.m
* PCAppController.m
Revert windows-specific hacks by German to make project-type choice work. They would crash when using PC without the WinUX theme.
2014-09-08 German Arias <germanandre@gmx.es>
* Modules/Editors/ProjectCenter/Resources/LineJumper.gorm: Remove
modifier key for button.
2014-09-02 Riccardo Mottola <rm@gnu.org>
* Framework/PCAddFilesPanel.m
* Framework/PCProjectBuilder.m
Do not use GS internals but standard methods.
2014-08-29 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/GNUmakefile
* Modules/Editors/ProjectCenter/LineJumper.h
* Modules/Editors/ProjectCenter/LineJumper.m
* Modules/Editors/ProjectCenter/PCEditorView.m
* Modules/Editors/ProjectCenter/Resources/LineJumper.gorm
Implement and add a simple go-to-line panel
2014-08-25 Wolfgang Lux <wolfgang.lux@gmail.com>
* Modules/Editors/ProjectCenter/PCEditor.m (unhighlightCharacter:):
* Modules/Editors/ProjectCenter/PCEditor.m
(highlightCharacterAt:inEditor:):
Fix condition order to prevent out of range array accesses, which
may lead to a segfault when unhighlighting two matching parentheses.
Fix by Markus <desterium@t-online.de>.
2014-08-18 16:07-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Modules/Projects/Aggregate/Resources/Inspector.gorm
* Modules/Projects/Application/Resources/Inspector.gorm
* Modules/Projects/Application/Resources/Main.gorm
* Modules/Projects/Bundle/Resources/Inspector.gorm
* Modules/Projects/Framework/Resources/Inspector.gorm
* Modules/Projects/Library/Resources/Inspector.gorm
* Modules/Projects/ResourceSet/Resources/Inspector.gorm
* Modules/Projects/Tool/Resources/Inspector.gorm: Update all
gorm files to latest version.
2014-08-04 Riccardo Mottola <rm@gnu.org>
* Modules/Editors/ProjectCenter/PCEditorView.m
Fix return value.
2014-08-04 Riccardo Mottola <rm@gnu.org>
* English.lproj/ProjectCenter.gorm
* Headers/Protocols/CodeEditorView.h
* Modules/Editors/ProjectCenter/PCEditor.m
* Modules/Editors/ProjectCenter/PCEditorView.h
* Modules/Editors/ProjectCenter/PCEditorView.m
Move GoToLine to the View akin to the NSTextView find panel and
declare it in the editor view protocol.
2014-08-03 German Arias <germanandre@gmx.es>
* Modules/Editors/ProjectCenter/PCEditor.m: Don't use
PCAuxiliaryWindow. This avoid the use of FindPanel.
2014-07-30 Riccardo Mottola <rm@gnu.org>
* Framework/PCEditorManager.m
* Framework/PCProjectBuilder.m
* Headers/Protocols/CodeEditor.h
* Modules/Editors/ProjectCenter/PCEditor.h
* Modules/Editors/ProjectCenter/PCEditor.m
Convert line numbers to NSUInteger / integerValue
2014-05-06 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectBuilder.m
Enhance clang support.
2014-05-03 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectBuilder.m
Recognize also egcc and clang as compilers.
2014-05-03 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectBuilder.m
Add recognition of fatal errors.
2014-04-08 German Arias <germanandre@gmx.es>
* Modules/Editors/ProjectCenter/PCEditorView.m (-insertText:): Add a
comment for last commit.
2014-04-06 German Arias <germanandre@gmx.es>
* Headers/ProjectCenter/PCProjectLauncher.h: Add new variable
_isErrorRunning.
* Framework/PCProjectLauncher.m: Remove observer in -logStdOut: and
-logErrOut:. And wait until receive all data in -runDidTerminate:.
2014-04-02 German Arias <germanandre@gmx.es>
* Framework/PCFileCreator.m (-replaceTagsInFileAtPath:withProject:):
Ensure UTF-8 when read and write a file in Windows.
* Modules/Editors/ProjectCenter/PCEditorView.m (-insertText:): Ensure
UTF-8 when insert a text in Windows.
2014-04-02 German Arias <germanandre@gmx.es>
* Framework/English.lproj/SaveModified.gorm: Use class PCAuxiliaryWindow
to not display menu.
2014-04-02 German Arias <germanandre@gmx.es>
* Framework/PCFileCreator.m: Removed two last commits. There is
something wrong with these.
2014-03-30 German Arias <germanandre@gmx.es>
* Framework/PCFileCreator.m: Fix last change to ensure all string in the
file is UTF-8, since GNU make can't handle UTF-16 (this change is for
Windows).
2014-03-27 German Arias <germanandre@gmx.es>
* Framework/PCFileCreator.m: Be sure to use an UTF8 string for the user
name on Windows.
2014-03-08 German Arias <germanandre@gmx.es>
* Framework/PCFileManager.m (-isTextFile:): Rewrite this method to work
on Windows.
2014-03-07 German Arias <germanandre@gmx.es>
* Framework/PCProjectManager.m: Remove the extension returned by native
panel.
2014-03-02 German Arias <germanandre@gmx.es>
* PCAppController.m: For Windows add a menu with all types of projects.
So the user can select directly the type of project he want.
* Headers/ProjectCenter/PCProjectManager.h:
* Framework/PCProjectManager.m: Add the neccesary changes to use the
selected type of project at main menu (on Windows).
* PCMenuController.m: Use the new method to make a new project.
2014-01-17 German Arias <germanandre@gmx.es>
* English.lproj/ProjectCenter.gorm: Connect option "Line Number..."
to first responder (I was sure I did this before, but no).
2014-01-13 Riccardo Mottola <rm@gnu.org>
* Framework/PCFileManager.m
* Headers/ProjectCenter/PCFileManager.h
Convenience method to find executables, by Richard Frith-Macdonald
* Modules/Preferences/Build/PCBuildPrefs.m
* Modules/Preferences/Misc/PCMiscPrefs.m
Use the convenience method to determine better defaults for make and gdb.
2013-12-17 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectLauncher.m
Check that the executable exists before running it.
2013-10-20 German Arias <germanandre@gmx.es>
* English.lproj/Preferences.gorm:
* Modules/Preferences/Build/Resources/BuildPrefs.gorm:
* Modules/Preferences/EditorFSC/Resources/EditorFSCPrefs.gorm:
* Modules/Preferences/Saving/Resources/SavingPrefs.gorm:
* Modules/Preferences/Misc/Resources/MiscPrefs.gorm: Change the height
of the panel.
2013-10-15 German Arias <germanandre@gmx.es>
* TextFinder.h:
* TextFinder.m: Deleted.
* GNUmakefile: Remove TextFinder.
* PCMenuController.m: Remove TextFinder. Now we use the standard
menu Find.
2013-10-13 German Arias <germanandre@gmx.es>
* English.lproj/ProjectCenter.gorm: Use the standard menu Find and
connect option "Line Number..." to first responder.
* Modules/Editors/ProjectCenter/PCEditor.m: Use Find panel.
* Headers/PCMenuController.h:
* PCMenuController.m: Remove unnecessary methods.
2013-10-06 German Arias <germanandre@gmx.es>
* Headers/PCPrefController.h:
* PCPrefController.m: Don't retain the user defaults. And don't call
synchronize every time, this are causing conflicts with defaults of the
PC windows, which stores its frames here.
2013-09-24 German Arias <germanandre@gmx.es>
* PCAppController.m (-applicationDidFinishLaunching: and
-applicationShouldTerminate:) Code to handle the style
NSWindows95InterfaceStyle.
* Headers/ProjectCenter/PCAuxiliaryWindow.h:
* Framework/PCAuxiliaryWindow.m: Add this class for auxiliary windows.
This is windows that don't should add the in-window menu.
* Framework/English.lproj/BuilderPanel.gorm:
* Modules/Editors/ProjectCenter/PCEditor.m: Use the new class
PCAuxiliaryWindow.
* Framework/GNUmakefile: Add new class.
2013-09-22 Riccardo Mottola <rm@gnu.org>
* Modules/Parsers/ProjectCenter/PCParser.m
Do not advance start and get startType if we are at the end anyway.
* Modules/Parsers/ProjectCenter/ObjCClassHandler.h
* Modules/Parsers/ProjectCenter/ObjCClassHandler.m
* Modules/Parsers/ProjectCenter/ObjCMethodHandler.h
* Modules/Parsers/ProjectCenter/ObjCMethodHandler.m
NSUInteger / NSInteger transitions for count/length variables.
* Modules/Projects/Application/PCAppProject.m
* Modules/Projects/Bundle/PCBundleProject.m
* Modules/Projects/Framework/PCFrameworkProject.m
* Modules/Projects/Library/PCLibProject.m
* Modules/Projects/ResourceSet/PCResourceSetProject.m
* Modules/Projects/Tool/PCToolProject.m
Transition to NSUInteger.
2013-09-21 Riccardo Mottola <rm@gnu.org>
* Modules/Parsers/ProjectCenter/PCParser.h
* Modules/Parsers/ProjectCenter/PCParser.m
Transition count/length variables to NSUInteger
2013-09-21 Riccardo Mottola <rm@gnu.org>
* Modules/Parsers/ProjectCenter/PCParser.m
Fix parser check for temrination, do not look past last char.
* PCAppController.m
If filename is not absolute, normalize it (happens when invoking with the filename as argument to the application, e.g. 'ProjectCenter myProject').
2013-09-20 Riccardo Mottola <rm@gnu.org>
* Framework/PCFileCreator.m
Do not launch replacing if copying was not successful, avoids hang of app.
2013-09-17 Riccardo Mottola <rm@gnu.org>
* Modules/Projects/ResourceSet/PCResourceSetProject.m
Replace deprecated make variable.
* Framework/PCProjectBuilder.m
Fix int vs. float.
2013-02-25: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* Framework/PCFileNameIcon.m
* unsigned int -> NSDragOperation
2013-02-10: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* Framework/PCProjectInspector.m
* Modules/Editors/ProjectCenter/SyntaxDefinition.m
* Modules/Editors/ProjectCenter/SyntaxHighlighter.m
* Modules/Editors/ProjectCenter/TextPattern.m
* Modules/Preferences/EditorFSC/PCEditorFSCPrefs.m
some more (unsigned) int -> NS(U)Integer transitions
and some shutup of clang compiler warnings
* Framework/PCProjectBrowser.m
* Framework/PCSaveModified.m
* Framework/PCProjectLoadedFiles.m
* Framework/PCProjectBuilder.m
* Headers/ProjectCenter/PCProjectBrowser.h
* Headers/ProjectCenter/PCSaveModified.h
* Headers/ProjectCenter/PCProjectLoadedFiles.h
* Modules/Projects/Application/PCAppProject+Inspector.h
* Modules/Projects/Application/PCAppProject+Inspector.m
some more (unsigned) int -> NS(U)Integer transitions
not catched from clang, but found by libobjc2 in debug mode
2013-02-09 Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* Framework/PCFileCreator.m
* Framework/PCMakefileFactory.m
* Framework/PCProjectBuilder.m
* Framework/PCProjectLauncher.m
* Framework/PCProjectManager.m
* Framework/PCProject.m
* Modules/Projects/Application/PCAppProject.m
* Modules/Projects/Tool/PCToolProject.m
shutup clang compiler warning about redunant literal
string usage
* Modules/Preferences/Build/PCBuildPrefs.m
* Framework/PCButton.m
* Modules/Parsers/ProjectCenter/ObjCMethodHandler.m
shutup some clang warnings
* Framework/PCProjectBrowser.m
NSInteger conversions
* Modules/Debuggers/ProjectCenter/PTYView.m
Include right headers for openpty on OpenBSD
2012-11-22 German Arias <german@xelalug.org>
* Modules/Projects/Library/PCLibProject.m: Don't add the prefix "lib"
to LIBRARY_NAME, gnustep-make will add this prefix anyway. On the other
hand, the super class isn't able to add this prefix to
XXX_RESOURCE_FILES at GNUmakefile.
2012-08-30 Riccardo Mottola <rm@gnu.org>
* Modules/Debuggers/ProjectCenter/PTYView.m
Do not include stropts.h for most OS's anymore.
2012-08-09 Riccardo Mottola <rm@gnu.org>
* English.lproj/ProjectCenter.gorm
* Framework/PCProjectManager.m
Recent Document menu support.
2012-07-30 Wolfgang Lux <wolfgang.lux@gmail.com>
* Framework/PCProjectBuilder.m (-line:startsWithString:,
-parseErrorLine:):
* Modules/Editors/ProjectCenter/PCEditor.h:
* Modules/Editors/ProjectCenter/PCEditor.m (FindDelimiterInString,
-highlightCharacterAt:inEditor:): Fix for compilation on 64-bit
hosts.
2012-07-09 Serg Stoyan <stoyan255@ukr.net>
* Framework/PCProjectInspector.m: (-removeAuthor): Improve selection
of author list items after item deletion. Inspired by bug #25571.
Bug should be closed.
2012-06-12 Riccardo Mottola <rm@gnu.org>
* Framework/PCProjectWindow.m

View file

@ -1,19 +1,11 @@
{
"## Comment" = "Do NOT change this file, Gorm maintains it";
FirstResponder = {
Actions = (
"showInfoWindow:"
);
Super = NSObject;
};
PCInfoController = {
Actions = (
"showInfoWindow:"
);
Outlets = (
infoWindow,
versionField,
copyrightField
versionField
);
Super = NSObject;
};

Binary file not shown.

Binary file not shown.

View file

@ -7,7 +7,7 @@
"findNext:",
"findPrevious:",
"findShowPanel:",
"performGoToLinePanelAction:"
"newAction:"
);
Super = NSObject;
};

View file

@ -10,13 +10,6 @@
);
Super = NSObject;
};
PCAuxiliaryWindow = {
Actions = (
);
Outlets = (
);
Super = NSWindow;
};
PCProjectBuilderPanel = {
Actions = (
);

View file

@ -6,13 +6,6 @@
);
Super = NSObject;
};
PCAuxiliaryWindow = {
Actions = (
);
Outlets = (
);
Super = NSWindow;
};
SaveModifiedFilesDelegate = {
Actions = (
"buttonClicked:"

View file

@ -7,9 +7,9 @@ include $(GNUSTEP_MAKEFILES)/common.make
#
# Framework
#
VERSION = 0.7.0
VERSION = 0.6.0
FRAMEWORK_NAME = ProjectCenter
ProjectCenter_CURRENT_VERSION_NAME = 0.7.0
ProjectCenter_CURRENT_VERSION_NAME = 0.6.0
ProjectCenter_DEPLOY_WITH_CURRENT_VERSION = yes
ProjectCenter_HEADER_FILES_DIR = ../Headers/ProjectCenter
@ -53,9 +53,7 @@ ProjectCenter_HEADER_FILES = \
PCFileNameField.h \
PCFileNameIcon.h \
\
PCLogController.h \
\
PCAuxiliaryWindow.h
PCLogController.h
#
# Class files
@ -89,9 +87,7 @@ ProjectCenter_OBJC_FILES = \
PCFileNameField.m \
PCFileNameIcon.m \
\
PCLogController.m \
\
PCAuxiliaryWindow.m
PCLogController.m
#
# Resources
@ -104,7 +100,6 @@ ProjectCenter_RESOURCE_FILES = \
Resources/header.template \
Resources/postamble.template \
Resources/protocol.template \
Resources/ocppclass.template \
#
# Localization

View file

@ -20,7 +20,7 @@
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB.
# If not, write to the Free Software Foundation,
# 31 Milk Street #960789 Boston, MA 02196 USAA.
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#before-all::
# cd ..;rm -f ProjectCenter;$(LN_S) Library ProjectCenter

View file

@ -22,7 +22,7 @@
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB.
# If not, write to the Free Software Foundation,
# 31 Milk Street #960789 Boston, MA 02196 USAA.
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# Makefile.preamble

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2004-2014 Free Software Foundation
Copyright (C) 2004-2011 Free Software Foundation
Authors: Serg Stoyan
Riccardo Mottola
@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCLogController.h>
@ -107,9 +107,9 @@ static PCAddFilesPanel *addFilesPanel = nil;
{
NSString *category = [fileTypePopup titleOfSelectedItem];
if ([[self delegate] respondsToSelector:@selector(categoryChangedTo:)])
if ([_delegate respondsToSelector:@selector(categoryChangedTo:)])
{
[[self delegate] categoryChangedTo:category];
[_delegate categoryChangedTo:category];
}
}

View file

@ -1,33 +0,0 @@
/*
PCAuxiliaryWindow.m
Author: German A. Arias <germanandre@gmx.es>
Date: September 2013
This file is part of ProjectCenter.
ProjectCenter is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This application is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
*/
#import <ProjectCenter/PCAuxiliaryWindow.h>
@implementation PCAuxiliaryWindow
- (BOOL) canBecomeMainWindow
{
return NO;
}
@end

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
// TODO: Finish support for third party bundles.
@ -129,7 +129,6 @@
reqBundlesInfo = [self infoForBundlesType:extension];
enumerator = [[reqBundlesInfo allKeys] objectEnumerator];
infoTable = nil;
while ((bundlePath = [enumerator nextObject]))
{
infoTable = [reqBundlesInfo objectForKey:bundlePath];
@ -168,7 +167,6 @@
NSString *bundlePath;
NSDictionary *infoTable;
infoTable = nil;
while ((bundlePath = [enumerator nextObject]))
{
infoTable = [reqBundlesInfo objectForKey:bundlePath];
@ -237,7 +235,6 @@
if (!className)
{
NSLog(@"Bundle for class called with empty className");
return nil;
}

View file

@ -1,12 +1,11 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2003-2019 Free Software Foundation
Copyright (C) 2003-2004 Free Software Foundation
Authors: Serg Stoyan
Riccardo Mottola
This file is part of ProjectCenter.
This file is part of GNUstep.
This application is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@ -20,31 +19,370 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCButton.h>
#import <ProjectCenter/PCDefines.h>
#import <AppKit/NSBezierPath.h>
#import <GNUstepGUI/GSTrackingRect.h>
@implementation PCButton
// ============================================================================
// ==== Main
// ============================================================================
//- (id)initWithFrame:(NSRect)frameRect
- (id)initWithCoder:(NSCoder *)coder
{
// NSLog(@"PCButton: initWithCoder");
self = [super initWithCoder:coder];
if (self)
{
[_cell setGradientType:NSGradientConcaveWeak];
[_cell setImageDimsWhenDisabled:YES];
[self setImagePosition:NSImageOnly];
[self setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
[self setRefusesFirstResponder:YES];
}
[_cell setGradientType:NSGradientConcaveWeak];
[_cell setImageDimsWhenDisabled:YES];
[self setImagePosition:NSImageOnly];
[self setFont:[NSFont systemFontOfSize:[NSFont smallSystemFontSize]]];
[self setRefusesFirstResponder:YES];
_hasTooltips = NO;
ttTimer = nil;
ttWindow = nil;
ttTitleAttrs = [[NSMutableDictionary alloc] init];
[ttTitleAttrs setObject:[NSFont systemFontOfSize:10.0]
forKey:NSFontAttributeName];
ttBackground = [NSColor colorWithDeviceRed:1.0 green:1.0 blue:0.90 alpha:1.0];
RETAIN(ttBackground);
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(_updateTrackingRects:)
name:NSViewFrameDidChangeNotification
object:[[self window] contentView]];
return self;
}
- (void)dealloc
{
#ifdef DEVELOPMENT
NSLog(@"PCButton %@: dealloc", [self stringValue]);
#endif
[[NSNotificationCenter defaultCenter] removeObserver:self];
if (_hasTooltips)
{
[self removeAllToolTips];
RELEASE(ttTitleAttrs);
RELEASE(ttBackground);
RELEASE(ttWindow);
}
[super dealloc];
}
- (void)release
{
// If retain count is number of tracking rects + superview retain,
// remove tracking rects. It seems that tracking rects retain this object.
if (_hasTooltips && [self retainCount] == [_tracking_rects count] + 1)
{
[self removeAllToolTips];
}
[super release];
}
// ============================================================================
// ==== Private methods
// ============================================================================
- (void)_updateTrackingRects:(NSNotification *)aNotif
{
NSTrackingRectTag tag;
NSRect rect;
NSString *string = nil;
int i, j;
GSTrackingRect *tr = nil;
if (_hasTooltips == NO)
{
return;
}
j = [_tracking_rects count];
for (i = 0; i < j; i++)
{
tr = [_tracking_rects objectAtIndex:i];
// Save tooltip string for next addTrackingRect::::
string = [(NSString *)tr->user_data copy];
[self removeTrackingRect:tr->tag];
// NSLog(@"PCButton: tr: %i data: %@", tr->tag, tr->user_data);
rect = [self frame];
rect.origin.x = 0;
rect.origin.y = 0;
tag = [self addTrackingRect:rect
owner:self
userData:string
assumeInside:NO];
if (tr->tag == mainToolTip)
{
mainToolTip = tag;
}
RELEASE(string);
}
}
- (void)_invalidateTimer
{
if (ttTimer == nil)
{
return;
}
// NSLog(@"_invalidateTimer");
if ([ttTimer isValid])
{
[ttTimer invalidate];
}
ttTimer = nil;
}
- (void)_closeToolTipWindow
{
if (ttWindow)
{
[ttWindow close];
ttWindow = nil;
}
}
- (void)_drawToolTip:(NSAttributedString *)title
{
NSRectEdge sides[] = {NSMinXEdge, NSMaxYEdge, NSMaxXEdge, NSMinYEdge};
NSColor *black = [NSColor blackColor];
NSColor *colors[] = {black, black, black, black};
NSRect bounds = [[ttWindow contentView] bounds];
NSRect titleRect;
titleRect = [ttWindow frame];
titleRect.origin.x = 2;
titleRect.origin.y = -2;
[[ttWindow contentView] lockFocus];
[title drawInRect:titleRect];
NSDrawColorTiledRects(bounds, bounds, sides, colors, 4);
[[ttWindow contentView] unlockFocus];
}
- (void)_showTooltip:(NSTimer *)timer
{
NSString *ttText = [timer userInfo];
[self _invalidateTimer];
// NSLog(@"showTooltip: %@", ttText);
// NSLog(@"toolTips: %@", toolTips);
if (ttWindow == nil)
{
NSAttributedString *attributedTitle = nil;
NSSize titleSize;
NSPoint mouseLocation = [NSEvent mouseLocation];
NSRect windowRect;
attributedTitle =
[[NSAttributedString alloc] initWithString:ttText
attributes:ttTitleAttrs];
titleSize = [attributedTitle size];
// Window
windowRect = NSMakeRect(mouseLocation.x + 8,
mouseLocation.y - 16 - (titleSize.height+3),
titleSize.width + 4, titleSize.height + 4);
ttWindow = [[NSWindow alloc] initWithContentRect:windowRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreRetained
defer:YES];
[ttWindow setBackgroundColor:ttBackground];
[ttWindow setReleasedWhenClosed:YES];
[ttWindow setExcludedFromWindowsMenu:YES];
[ttWindow setLevel:NSStatusWindowLevel];
[ttWindow orderFront:nil];
[self _drawToolTip:attributedTitle];
RELEASE(attributedTitle);
}
}
// ============================================================================
// ==== Tool Tips
// ============================================================================
/*- (void)mouseEntered:(NSEvent *)theEvent
{
NSLog (@"mouseEntered");
if (ttTimer == nil)
{
ttTimer = [NSTimer scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(_showTooltip:)
userInfo:[theEvent userData]
repeats:YES];
[[self window] setAcceptsMouseMovedEvents:YES];
}
}
- (void)mouseExited:(NSEvent *)theEvent
{
// NSLog (@"mouseExited");
[self _invalidateTimer];
[self _closeToolTipWindow];
[[self window] setAcceptsMouseMovedEvents:NO];
}
- (void)mouseDown:(NSEvent *)theEvent
{
// NSLog (@"mouseDown");
[self _invalidateTimer];
[self _closeToolTipWindow];
[super mouseDown:theEvent];
}
- (void)mouseMoved:(NSEvent *)theEvent
{
NSPoint mouseLocation;
NSPoint origin;
// NSLog(@"mouseMoved");
if (ttWindow == nil)
{
return;
}
mouseLocation = [NSEvent mouseLocation];
origin = NSMakePoint(mouseLocation.x + 8,
mouseLocation.y - 16 - [ttWindow frame].size.height);
[ttWindow setFrameOrigin:origin];
}
// NSView methods
- (NSToolTipTag)addToolTipRect:(NSRect)aRect
owner:(id)anObject
userData:(void *)data
{
SEL ownerSelector;
NSTrackingRectTag tag;
if (NSEqualRects(aRect,NSZeroRect) || ttTimer != nil)
{
return -1;
}
ownerSelector = @selector(view:stringForToolTip:point:userData:);
if (![anObject respondsToSelector:ownerSelector]
&& ![anObject isKindOfClass:[NSString class]])
{
return -1;
}
// Set rect tracking
tag = [self addTrackingRect:aRect
owner:self
userData:data
assumeInside:NO];
return tag;
}
- (void)removeAllToolTips
{
int i, j;
GSTrackingRect *tr = nil;
if (_hasTooltips == NO)
{
return;
}
[self _invalidateTimer];
[self _closeToolTipWindow];
j = [_tracking_rects count];
for (i = 0; i < j; i++)
{
tr = [_tracking_rects objectAtIndex:i];
[self removeTrackingRect:tr->tag];
}
mainToolTip = -1;
_hasTooltips = NO;
}
- (void)removeToolTip:(NSToolTipTag)tag
{
[self removeTrackingRect:tag];
}
- (void)setToolTip:(NSString *)string
{
NSTrackingRectTag tag;
NSRect rect;
if (string == nil) // Remove old tooltip
{
if (_hasTooltips)
{
[self _invalidateTimer];
[self _closeToolTipWindow];
[self removeToolTip:mainToolTip];
mainToolTip = -1;
_hasTooltips = NO;
}
}
else
{
// NSLog(@"setToolTip");
rect = [self frame];
rect.origin.x = 0;
rect.origin.y = 0;
tag = [self addTrackingRect:rect
owner:self
userData:string
assumeInside:NO];
_hasTooltips = YES;
}
}
- (NSString *)toolTip
{
NSEnumerator *enumerator = [_tracking_rects objectEnumerator];
GSTrackingRect *tr = nil;
while ((tr = [enumerator nextObject]))
{
if (tr->tag == mainToolTip)
{
return tr->user_data;
}
}
return nil;
}*/
@end

View file

@ -1,11 +1,10 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2002-2015 Free Software Foundation
Copyright (C) 2002-2004 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
Riccardo Mottola
This file is part of GNUstep.
@ -21,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -30,12 +29,10 @@
#import <ProjectCenter/PCBundleManager.h>
#import <ProjectCenter/PCEditorManager.h>
#import <ProjectCenter/PCProject.h>
#import <ProjectCenter/PCProjectEditor.h>
#import <ProjectCenter/PCLogController.h>
#import <ProjectCenter/PCSaveModified.h>
#import <Protocols/CodeEditor.h>
#import "Modules/Preferences/Misc/PCMiscPrefs.h"
NSString *PCEditorDidChangeFileNameNotification =
@ -99,6 +96,15 @@ NSString *PCEditorDidResignActiveNotification =
selector:@selector(editorDidChangeFileName:)
name:PCEditorDidChangeFileNameNotification
object:nil];
// Debugger
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(debuggerDidHitBreakpoint:)
name:PCProjectBreakpointNotification
object:nil];
// Preferences
}
return self;
@ -163,7 +169,7 @@ NSString *PCEditorDidResignActiveNotification =
id<CodeParser> parser;
BOOL exists = [fm fileExistsAtPath:filePath isDirectory:&isDir];
// Determine if file does not exist or file is directory
// Determine if file not exist or file is directory
if (!exists)
{
NSRunAlertPanel(@"Open Editor",
@ -184,31 +190,15 @@ NSString *PCEditorDidResignActiveNotification =
@"Couldn't open editor for file '%@'.\n"
@"File is not plain text.",
@"Close", nil, nil, filePath);*/
PCLogInfo(self, @"Not a text file %@", filePath);
return nil;
}
}
else
{
NSString *app;
/* we don't have in-window editors for any bundles right now */
if (!windowed)
return nil;
/* Check for bundles and if possible let them be opened by Workspace but only if windowed */
app = [[NSWorkspace sharedWorkspace] getBestAppInRole:@"Editor" forExtension:[fileName pathExtension]];
if (windowed && app != nil)
{
if ([[NSWorkspace sharedWorkspace] openFile: filePath])
return nil;
}
}
// NSLog(@"EditorManager 1: %@", _editorsDict);
editor = [_editorsDict objectForKey: filePath];
if (editor == nil)
{
NSLog(@"Opening new editor. Editor: %@", editorName);
// Editor
editor = [bundleManager objectForBundleWithName:editorName
type:@"editor"
@ -219,33 +209,33 @@ NSString *PCEditorDidResignActiveNotification =
objectForBundleWithName:@"ProjectCenter"
type:@"editor"
protocol:@protocol(CodeEditor)];
if (editor == nil)
{
return nil;
}
}
// Parser
parser = [bundleManager objectForBundleType:@"parser"
protocol:@protocol(CodeParser)
fileName:fileName];
if(parser != nil)
{
[editor setParser:parser];
[editor openFileAtPath:filePath
editorManager:self
editable:editable];
[_editorsDict setObject:editor forKey:filePath];
RELEASE(editor);
}
/* if we have a valid editor, we try to set a parser */
if (editor)
{
// Parser
parser = [bundleManager objectForBundleType:@"parser"
protocol:@protocol(CodeParser)
fileName:fileName];
if(parser != nil)
{
[editor setParser:parser];
}
[editor openFileAtPath:filePath
editorManager:self
editable:editable];
[_editorsDict setObject:editor forKey:filePath];
RELEASE(editor);
}
else
{
//
// If we don't have an editor, we fall back to opening the
// file with the editor designated by the system.
//
[[NSWorkspace sharedWorkspace] openFile: filePath];
}
{
//
// If we don't have an editor or a parser, we fall back to opening the
// file with the editor designated by the system.
//
[[NSWorkspace sharedWorkspace] openFile: filePath];
}
}
if(editor != nil)
@ -535,15 +525,16 @@ NSString *PCEditorDidResignActiveNotification =
[_editorsDict setObject:_editor forKey:_newFileName];
}
- (void)gotoFile: (NSString *)fileName atLine: (NSUInteger)line
- (void)debuggerDidHitBreakpoint:(NSNotification *)aNotif
{
PCProject *project = [_projectManager rootActiveProject];
PCProjectEditor *pe = [project projectEditor];
id<CodeEditor> editor = [pe openEditorForFilePath: fileName windowed: NO];
// [self orderFrontEditorForFile:fileName];
[editor scrollToLineNumber: line];
id object = [aNotif object];
NSString *filePath = [object objectForKey: @"file"];
NSString *line = [object objectForKey: @"line"];
id<CodeEditor> editor = [self openEditorForFile: filePath
editable: YES
windowed: NO];
[self orderFrontEditorForFile:filePath];
[editor scrollToLineNumber: [line intValue]];
}
@end

View file

@ -1,11 +1,10 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2001-2015 Free Software Foundation
Copyright (C) 2001-2004 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
Riccardo Mottola
This file is part of GNUstep.
@ -21,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -44,7 +43,6 @@ static NSDictionary *dict = nil;
NSDictionary *headerDict;
NSDictionary *ccDict;
NSDictionary *chDict;
NSDictionary *classPpDict;
NSDictionary *protocolDict;
NSDictionary *gsmarkupDict;
NSString *descr;
@ -57,9 +55,10 @@ static NSDictionary *dict = nil;
// Setting up the dictionary needed for registration!
// Objective C Class
descr = @"Generic Objective-C class.\n\n"
@"This is a plain subclass of NSObject which includes"
@" only Foundation.h.";
descr = [NSString stringWithString:
@"Generic Objective-C class.\n\n"
@"This is a plain subclass of NSObject which includes"
@" only Foundation.h."];
template = [bundle pathForResource:@"class" ofType:@"template"];
classDict = [NSDictionary dictionaryWithObjectsAndKeys:
PCClasses, @"ProjectKey",
@ -68,9 +67,10 @@ static NSDictionary *dict = nil;
nil];
// Objective C Header
descr = @"Generic Objective-C header.\n\n"
@"This is a plain interface subclassing NSObject."
@" The file includes Foundation.h";
descr = [NSString stringWithString:
@"Generic Objective-C header.\n\n"
@"This is a plain interface subclassing NSObject."
@" The file includes Foundation.h"];
template = [bundle pathForResource:@"header" ofType:@"template"];
headerDict =[NSDictionary dictionaryWithObjectsAndKeys:
PCHeaders,@"ProjectKey",
@ -79,8 +79,9 @@ static NSDictionary *dict = nil;
nil];
// C File
descr = @"Generic ANSI-C implementation file.\n\n"
@"This file contains no Objective-C dependency in any form.";
descr = [NSString stringWithString:
@"Generic ANSI-C implementation file.\n\n"
@"This file contains no Objective-C dependency in any form."];
template = [bundle pathForResource:@"cfile" ofType:@"template"];
ccDict = [NSDictionary dictionaryWithObjectsAndKeys:
PCOtherSources,@"ProjectKey",
@ -89,8 +90,9 @@ static NSDictionary *dict = nil;
nil];
// C Header
descr = @"Generic ANSI-C header.\n\n"
@"This file contains no Objective-C dependency in any form.";
descr = [NSString stringWithString:
@"Generic ANSI-C header.\n\n"
@"This file contains no Objective-C dependency in any form."];
template = [bundle pathForResource:@"cheader" ofType:@"template"];
chDict = [NSDictionary dictionaryWithObjectsAndKeys:
PCHeaders,@"ProjectKey",
@ -99,9 +101,10 @@ static NSDictionary *dict = nil;
nil];
// Objective C Protocol
descr = @"Generic Objective-C protocol.\n\n"
@"This is common Objective-C protocol, comparable"
@" i.e. to a Java interface.";
descr = [NSString stringWithString:
@"Generic Objective-C protocol.\n\n"
@"This is common Objective-C protocol, comparable"
@" i.e. to a Java interface."];
template = [bundle pathForResource:@"protocol" ofType:@"template"];
protocolDict = [NSDictionary dictionaryWithObjectsAndKeys:
PCHeaders,@"ProjectKey",
@ -109,20 +112,10 @@ static NSDictionary *dict = nil;
template,@"TemplateFile",
nil];
// Objective C++ Class
descr = @"Generic Objective-C++ class.\n\n"
@"This is a plain subclass of NSObject which includes"
@" only Foundation.h. Extend it with c++";
template = [bundle pathForResource:@"ocppclass" ofType:@"template"];
classPpDict = [NSDictionary dictionaryWithObjectsAndKeys:
PCClasses, @"ProjectKey",
descr, @"TypeDescription",
template,@"TemplateFile",
nil];
// GSMarkup
descr = @"Generic GSMarkup File.\n\n"
@"This is the interface description of GNUstep Renaissance.";
descr = [NSString stringWithString:
@"Generic GSMarkup File.\n\n"
@"This is the interface description of GNUstep Renaissance."];
template = [bundle pathForResource:@"gsmarkup" ofType:@"template"];
gsmarkupDict =[NSDictionary dictionaryWithObjectsAndKeys:
PCGSMarkupFiles,@"ProjectKey",
@ -137,7 +130,6 @@ static NSDictionary *dict = nil;
protocolDict, ProtocolFile,
headerDict, ObjCHeader,
classDict, ObjCClass,
classPpDict, ObjCppClass,
gsmarkupDict, GSMarkupFile,
nil];
}
@ -208,12 +200,6 @@ static NSDictionary *dict = nil;
newFile = [path stringByAppendingPathExtension:@"m"];
[files setObject:[dict objectForKey:ObjCClass] forKey:newFile];
}
// Objective-C++ Class
else if ([type isEqualToString:ObjCppClass])
{
newFile = [path stringByAppendingPathExtension:@"mm"];
[files setObject:[dict objectForKey:ObjCppClass] forKey:newFile];
}
// C File
else if ([type isEqualToString:CFile])
{
@ -269,13 +255,11 @@ static NSDictionary *dict = nil;
key = [fileType objectForKey:@"ProjectKey"];
template = [fileType objectForKey:@"TemplateFile"];
if ([pcfm copyFile:template toFile:newFile])
{
[self replaceTagsInFileAtPath:newFile withProject:aProject];
[aProject addFiles:[NSArray arrayWithObject:newFile]
forKey:key
notify:YES];
}
[pcfm copyFile:template toFile:newFile];
[self replaceTagsInFileAtPath:newFile withProject:aProject];
[aProject addFiles:[NSArray arrayWithObject:newFile]
forKey:key
notify:YES];
}
// Notify the browser!
@ -297,13 +281,7 @@ static NSDictionary *dict = nil;
NSString *fn = [aFile stringByDeletingPathExtension];
NSRange subRange;
#ifdef WIN32
file = [[NSMutableString stringWithContentsOfFile: newFile
encoding: NSUTF8StringEncoding
error: NULL] retain];
#else
file = [[NSMutableString stringWithContentsOfFile:newFile] retain];
#endif
while ((subRange = [file rangeOfString:@"$FULLFILENAME$"]).length)
{
@ -346,16 +324,8 @@ static NSDictionary *dict = nil;
withString:[[NSNumber numberWithInt:year] stringValue]];
}
#ifdef WIN32
[file writeToFile: newFile
atomically: YES
encoding: NSUTF8StringEncoding
error: NULL];
#else
[file writeToFile:newFile atomically:YES];
#endif
[file release];
[file autorelease];
}
@end
@ -476,6 +446,9 @@ static NSDictionary *dict = nil;
NSFileManager *fm = [NSFileManager defaultManager];
BOOL complementary;
/* NSLog(@"PCFileCreator: [createFile] %@ in category: %@",
fileName, projectKey);*/
path = [[activeProject projectPath] stringByAppendingPathComponent:fileName];
// Create file
if (path)

View file

@ -1,11 +1,10 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2000-2022 Free Software Foundation
Copyright (C) 2000-2011 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
Riccardo Mottola
This file is part of GNUstep.
@ -21,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -331,39 +330,6 @@ static PCFileManager *_mgr = nil;
return YES;
}
// ===========================================================================
// ==== Find Executable
// Tries to find the first matching executable tool fromt he given, nil-terminated
// list. Returns the full path for it.
// ===========================================================================
- (NSString*) findExecutableToolFrom: (NSArray*)candidates
{
NSFileManager *manager;
NSEnumerator *pathEnumerator;
NSString *directory;
manager = [NSFileManager defaultManager];
pathEnumerator = [NSSearchPathForDirectoriesInDomains(NSDeveloperDirectory, NSAllDomainsMask, YES) objectEnumerator];
while (nil != (directory = [pathEnumerator nextObject]))
{
NSEnumerator *candidateEnumerator = [candidates objectEnumerator];
NSString *candidate;
while (nil != (candidate = [candidateEnumerator nextObject]))
{
NSString *path = [directory stringByAppendingPathComponent: candidate];
if ([manager isExecutableFileAtPath: path])
{
return path;
}
}
}
return nil;
}
@end
@implementation PCFileManager (UInterface)
@ -415,12 +381,6 @@ static PCFileManager *_mgr = nil;
}
panel = addFilesPanel;
lastOpenDir = [prefs stringForKey:@"FileAddLastDirectory"];
if (lastOpenDir == nil)
{
PCProject *pr = [projectManager activeProject];
NSString *prPathRoot = [pr projectPath];
lastOpenDir = prPathRoot;
}
break;
default:
return nil;
@ -648,11 +608,9 @@ static PCFileManager *_mgr = nil;
{
NSFileHandle *fh;
NSData *data;
NSUInteger i, printable = 0;
NSString *content;
NSCharacterSet *alpha = [NSCharacterSet alphanumericCharacterSet];
NSCharacterSet *spaces = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSCharacterSet *marks = [NSCharacterSet punctuationCharacterSet];
unsigned int i, n;
const char *buf;
unsigned int printable;
fh = [NSFileHandle fileHandleForReadingAtPath:filename];
if (fh == nil)
@ -666,18 +624,16 @@ static PCFileManager *_mgr = nil;
return YES;
}
content = [NSString stringWithContentsOfFile: filename];
for (i = 0; i < [content length]; i++)
buf = [data bytes];
for (i = printable = 0, n = [data length]; i < n; i++)
{
if ([alpha characterIsMember: [content characterAtIndex: i]] ||
[spaces characterIsMember: [content characterAtIndex: i]] ||
[marks characterIsMember: [content characterAtIndex: i]])
if (isprint((int)(unsigned char)buf[i]) || isspace((int)(unsigned char)buf[i]))
{
printable++;
}
}
return (((double) printable / i) > 0.9);
return (((double) printable / n) > 0.9);
}
- (NSArray *)filesWithExtension:(NSString *)extension

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <AppKit/AppKit.h>

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <AppKit/AppKit.h>
@ -126,11 +126,11 @@
// --- NSDraggingDestination protocol methods
// -- Before the image is released
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender
- (unsigned int)draggingEntered:(id <NSDraggingInfo>)sender
{
NSPasteboard *pb = [sender draggingPasteboard];
NSArray *paths = [pb propertyListForType:NSFilenamesPboardType];
NSDragOperation draggingOp = NSDragOperationNone;
unsigned int draggingOp = NSDragOperationNone;
// NSLog(@"Dragging entered: %@", paths);
@ -206,7 +206,7 @@
// --- NSDraggingSource protocol methods
- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal
- (unsigned int)draggingSourceOperationMaskForLocal:(BOOL)isLocal
{
return NSDragOperationCopy;
}

View file

@ -17,7 +17,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCLogController.h>

View file

@ -1,11 +1,10 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2002-2014 Free Software Foundation
Copyright (C) 2002-2010 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
Riccardo Mottola
This file is part of GNUstep.
@ -21,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -34,8 +33,7 @@
#define COMMENT_HEADERS @"\n\n#\n# Header files\n#\n"
#define COMMENT_RESOURCES @"\n\n#\n# Resource files\n#\n"
#define COMMENT_CLASSES @"\n\n#\n# Objective-C Class files\n#\n"
#define COMMENT_OCPPCLASSES @"\n\n#\n# Objective-C++ Class files\n#\n"
#define COMMENT_CLASSES @"\n\n#\n# Class files\n#\n"
#define COMMENT_CFILES @"\n\n#\n# Other sources\n#\n"
#define COMMENT_SUBPROJECTS @"\n\n#\n# Subprojects\n#\n"
#define COMMENT_APP @"\n\n#\n# Main application\n#\n"
@ -86,18 +84,6 @@ static PCMakefileFactory *_factory = nil;
[mfile appendString: @"ifeq ($(GNUSTEP_MAKEFILES),)\n"];
[mfile appendString: @" GNUSTEP_MAKEFILES := $(shell gnustep-config "];
[mfile appendString: @"--variable=GNUSTEP_MAKEFILES 2>/dev/null)\n"];
[mfile appendString: @" ifeq ($(GNUSTEP_MAKEFILES),)\n"];
[mfile appendString: @" $(warning )\n"];
[mfile appendString: @" $(warning Unable to obtain GNUSTEP_MAKEFILES"];
[mfile appendString: @" setting from gnustep-config!)\n"];
[mfile appendString: @" $(warning Perhaps gnustep-make is not properly"];
[mfile appendString: @" installed,)\n"];
[mfile appendString: @" $(warning so gnustep-config is not in your"];
[mfile appendString: @" PATH.)\n"];
[mfile appendString: @" $(warning )\n"];
[mfile appendString: @" $(warning Your PATH is currently $(PATH))\n"];
[mfile appendString: @" $(warning )\n"];
[mfile appendString: @" endif\n"];
[mfile appendString: @"endif\n"];
[mfile appendString: @"ifeq ($(GNUSTEP_MAKEFILES),)\n"];
[mfile appendString: @" $(error You need to set GNUSTEP_MAKEFILES"];
@ -351,50 +337,16 @@ static PCMakefileFactory *_factory = nil;
- (void)appendClasses:(NSArray *)array forTarget:(NSString *)target
{
NSEnumerator *oenum;
NSMutableArray *marray = nil;
NSMutableArray *mmarray = nil;
NSString *file;
if (array == nil || [array count] == 0)
{
return;
}
oenum = [array objectEnumerator];
while ((file = [oenum nextObject]))
{
if ([file hasSuffix: @".m"])
{
if (marray == nil)
{
marray = [NSMutableArray array];
}
[marray addObject: file];
}
else if ([file hasSuffix: @".mm"])
{
if (mmarray == nil)
{
mmarray = [NSMutableArray array];
}
[mmarray addObject: file];
}
}
[self appendString:COMMENT_CLASSES];
[self appendString:
[NSString stringWithFormat: @"%@_OBJC_FILES = \\\n",target]];
if (marray)
{
[self appendString:COMMENT_CLASSES];
[self appendString: [NSString stringWithFormat: @"%@_OBJC_FILES = \\\n",target]];
[self appendString: [marray componentsJoinedByString: @" \\\n"]];
}
if (mmarray)
{
[self appendString:COMMENT_OCPPCLASSES];
[self appendString: [NSString stringWithFormat: @"%@_OBJCC_FILES = \\\n",target]];
[self appendString: [mmarray componentsJoinedByString: @" \\\n"]];
}
[self appendString: [array componentsJoinedByString: @" \\\n"]];
}
- (void)appendOtherSources:(NSArray *)array
@ -410,7 +362,6 @@ static PCMakefileFactory *_factory = nil;
- (void)appendOtherSources:(NSArray *)array forTarget: (NSString *)target
{
NSMutableArray *marray = nil;
NSMutableArray *mmarray = nil;
NSMutableArray *oarray = nil;
NSEnumerator *oenum;
NSString *file;
@ -432,14 +383,6 @@ static PCMakefileFactory *_factory = nil;
}
[marray addObject: file];
}
else if ([file hasSuffix: @".mm"])
{
if (mmarray == nil)
{
mmarray = [NSMutableArray array];
}
[mmarray addObject: file];
}
else // non .m file
{
if (oarray == nil)
@ -473,19 +416,6 @@ static PCMakefileFactory *_factory = nil;
[self appendString: [NSString stringWithFormat: @"%@_OBJC_FILES += ",pnme]];
while ((file = [oenum nextObject]))
{
[self appendString: [NSString stringWithFormat: @"\\\n%@ ", file]];
}
}
// Add .mm files if any
if (mmarray && [marray count] != 0)
{
oenum = [mmarray objectEnumerator];
[self appendString: [NSString stringWithFormat: @"%@_OBJCC_FILES += ",pnme]];
while ((file = [oenum nextObject]))
{
[self appendString: [NSString stringWithFormat: @"\\\n%@ ", file]];
@ -499,7 +429,7 @@ static PCMakefileFactory *_factory = nil;
int count = [array count];
NSString *string = nil;
NSString *item = nil;
NSString *eol = @"\\\n";
NSString *eol = [NSString stringWithString: @"\\\n"];
if (array == nil || count <= 0)
{
@ -519,7 +449,7 @@ static PCMakefileFactory *_factory = nil;
[self appendString:string];
if (i == (count-2))
{
eol = @"\n";
eol = [NSString stringWithString: @"\n"];
}
}
}
@ -541,7 +471,7 @@ static PCMakefileFactory *_factory = nil;
NSString *langs = [languages componentsJoinedByString: @" "];
NSString *string = nil;
NSString *item = nil;
NSString *eol = @"\\\n";
NSString *eol = [NSString stringWithString: @"\\\n"];
int i = 0;
int count = [resources count];
@ -564,7 +494,7 @@ static PCMakefileFactory *_factory = nil;
{
if (i == (count-1))
{
eol = @"\n";
eol = [NSString stringWithString: @"\n"];
}
item = [resources objectAtIndex:i];
string = [NSString stringWithFormat: @"%@ %@", item, eol];

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2000-2014 Free Software Foundation
Copyright (C) 2000-2010 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
// TODO: Split into several files with categories
@ -60,11 +60,6 @@ NSString
@implementation PCProject
- (NSString *)description
{
return [NSString stringWithFormat: @"%@: %@ (%@)", [self className], projectName, projectPath];
}
// ============================================================================
// ==== Init and free
// ============================================================================
@ -393,12 +388,12 @@ NSString
forKey:@"ProjectWindow"];
if ([projectWindow isToolbarVisible] == YES)
{
[windows setObject:@"YES"
[windows setObject:[NSString stringWithString:@"YES"]
forKey:@"ShowToolbar"];
}
else
{
[windows setObject:@"NO"
[windows setObject:[NSString stringWithString:@"NO"]
forKey:@"ShowToolbar"];
}
@ -477,11 +472,11 @@ NSString
- (BOOL)save
{
NSFileManager *fm = [NSFileManager defaultManager];
NSUInteger spCount = [loadedSubprojects count];
int spCount = [loadedSubprojects count];
int i;
NSString *wrapperFile;
NSString *wrapperFile = [projectName stringByAppendingPathExtension: @"pcproj"];
NSString *file = @"PC.project";
NSString *backup;
NSString *backup = [wrapperPath stringByAppendingPathExtension:@"backup"];
NSMutableDictionary *dict = [projectDict mutableCopy];
NSData *dictData = nil;
@ -489,12 +484,10 @@ NSString
[dict removeObjectForKey: PCWindows];
[dict removeObjectForKey: PCLastEditing];
// initialize the wrappers..
wrapperFile = [projectName stringByAppendingPathExtension: @"pcproj"];
// initialize the wrapper...
projectFileWrapper = [[NSFileWrapper alloc] initDirectoryWithFileWrappers:
[NSMutableDictionary dictionaryWithCapacity: 3]];
wrapperPath = [projectPath stringByAppendingPathComponent: wrapperFile];
backup = [wrapperPath stringByAppendingPathExtension:@"backup"];
// load subprojects...
for (i = 0; i < spCount; i++)
@ -980,7 +973,7 @@ NSString
{
if ([key isEqualToString:PCClasses])
{
return [NSArray arrayWithObjects:@"m",@"mm",nil];
return [NSArray arrayWithObjects:@"m",nil];
}
else if ([key isEqualToString:PCHeaders])
{
@ -1054,11 +1047,11 @@ NSString
{
if ([type isEqualToString:@"m"] || [type isEqualToString:@"c"])
{
return @"h";
return [NSString stringWithString:@"h"];
}
else if ([type isEqualToString:@"h"])
{
return @"m";
return [NSString stringWithString:@"m"];
}
return nil;
@ -1468,13 +1461,10 @@ NSString
_editorCategory = [[_editor categoryPath] mutableCopy];
range = [_editorCategory rangeOfString:fromFile];
if (range.location != NSNotFound)
{
[_editorCategory replaceCharactersInRange:range withString:toFile];
[_editor setCategoryPath:_editorCategory];
[projectBrowser setPath:_editorCategory];
}
[_editorCategory replaceCharactersInRange:range withString:toFile];
[_editor setCategoryPath:_editorCategory];
[projectBrowser setPath:_editorCategory];
RELEASE(_editorCategory);
}
else

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -308,11 +308,11 @@ NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification";
- (void)reloadLastColumnAndNotify:(BOOL)yn
{
NSInteger column = [browser lastColumn];
int column = [browser lastColumn];
NSString *category = [self nameOfSelectedCategory];
NSInteger selectedColumn = [browser selectedColumn];
int selectedColumn = [browser selectedColumn];
NSMatrix *colMatrix = [browser matrixInColumn:selectedColumn];
NSInteger rowCount = 0, colCount = 0, spCount = 0;
int rowCount = 0, colCount = 0, spCount = 0;
PCProject *activeProject = [[project projectManager] activeProject];
NSString *selCellTitle = [[browser selectedCell] stringValue];
@ -442,15 +442,13 @@ NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification";
if ([self nameOfSelectedFile] != nil)
{
BOOL foundFile = NO;
BOOL foundApp = NO;
// PCLogInfo(self, @"{doubleClick} filePath: %@", filePath);*/
workspace = [NSWorkspace sharedWorkspace];
foundFile = [workspace getInfoForFile:filePath
foundApp = [workspace getInfoForFile:filePath
application:&appName
type:&type];
foundApp = foundFile && appName;
// NSLog (@"Open file: %@ with app: %@", filePath, appName);
// If 'Editor' role was set in .GNUstepExtPrefs application
@ -529,13 +527,13 @@ NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification";
@implementation PCProjectBrowser (ProjectBrowserDelegate)
- (void) browser:(NSBrowser *)sender
createRowsForColumn:(NSInteger)column
createRowsForColumn:(int)column
inMatrix:(NSMatrix *)matrix
{
NSString *pathToCol;
NSArray *files;
NSUInteger i = 0;
NSUInteger count = 0;
NSString *pathToCol;
NSArray *files;
int i = 0;
int count = 0;
if (sender != browser || !matrix || ![matrix isKindOfClass:[NSMatrix class]])
{
@ -601,6 +599,7 @@ NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification";
{
NSString *categoryName = nil;
NSString *fileName = nil;
NSString *fileExtension = nil;
NSString *iconName = nil;
NSImage *icon = nil;
PCProject *activeProject = [[project projectManager] activeProject];
@ -612,6 +611,7 @@ NSString *PCBrowserDidSetPathNotification = @"PCBrowserDidSetPathNotification";
{
return icon;
}
fileExtension = [fileName pathExtension];
}
else
{

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2000-2014 Free Software Foundation
Copyright (C) 2000-2010 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
@ -21,7 +21,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <AppKit/AppKit.h>
@ -220,11 +220,6 @@
[logOutput setSelectable:YES];
[logOutput setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
[logOutput setBackgroundColor:[NSColor lightGrayColor]];
[logOutput setSelectedTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[NSColor whiteColor], NSBackgroundColorAttributeName,
[NSColor blackColor], NSForegroundColorAttributeName,
nil]];
[[logOutput textContainer] setWidthTracksTextView:YES];
[[logOutput textContainer] setHeightTracksTextView:YES];
[logOutput setHorizontallyResizable:NO];
@ -388,7 +383,7 @@
nextEL = ELNone;
lastIndentString = @"";
buildStatus = @"Building...";
buildStatus = [NSString stringWithString:@"Building..."];
[buildStatusTarget setString:@"Build"];
[cleanButton setEnabled:NO];
_isBuilding = YES;
@ -418,7 +413,7 @@
[buildArgs addObject:@"clean"];
[buildArgs addObjectsFromArray:[self buildArguments]];
buildStatus = @"Cleaning...";
buildStatus = [NSString stringWithString:@"Cleaning..."];
[buildStatusTarget setString:@"Clean"];
[buildButton setEnabled:NO];
_isCleaning = YES;
@ -531,7 +526,7 @@
}
// Check build tool path
if (!buildTool || !([fm fileExistsAtPath:buildTool] || [fm fileExistsAtPath:[buildTool stringByAppendingPathExtension: @"exe"]]))
if (!buildTool || ![fm fileExistsAtPath:buildTool])
{
NSRunAlertPanel(@"Project Build",
@"Build tool '%@' not found. Check preferences.\n"
@ -579,7 +574,7 @@
stdErrorPipe = [[NSPipe alloc] init];
stdErrorHandle = [stdErrorPipe fileHandleForReading];
[errorsCountField setStringValue:@""];
[errorsCountField setStringValue:[NSString stringWithString:@""]];
errorsCount = 0;
warningsCount = 0;
@ -737,8 +732,8 @@
- (void)updateErrorsCountField
{
NSString *string;
NSString *errorsString = @"";
NSString *warningsString = @"";
NSString *errorsString = [NSString stringWithString:@""];
NSString *warningsString = [NSString stringWithString:@""];
if (errorsCount > 0)
{
@ -749,7 +744,7 @@
}
else
{
errorsString = @"1 error";
errorsString = [NSString stringWithString:@"1 error"];
}
}
@ -762,7 +757,7 @@
}
else
{
warningsString = @"1 warning";
warningsString = [NSString stringWithString:@"1 warning"];
}
}
@ -875,10 +870,10 @@
// --- Parsing utilities
- (BOOL)line:(NSString *)lineString startsWithString:(NSString *)substring
{
NSInteger position = 0;
NSRange range = NSMakeRange(position,1);
int position = 0;
NSRange range = NSMakeRange(position,1);
while ([[lineString substringWithRange:range] isEqualToString:@" "])
while ([[lineString substringFromRange:range] isEqualToString:@" "])
{
range.location = ++position;
}
@ -925,7 +920,7 @@
NSString *pathComponent;
NSString *path;
// NSLog(@"parseMakeLine: %@", lineString);
// NSLog(@"parseMakeLine: %@", lineString);
makeLineComponents = [NSMutableArray
arrayWithArray:[lineString componentsSeparatedByString:@" "]];
@ -1019,9 +1014,7 @@
{// Do current path detection
[self parseMakeLine:string];
}
else if ([self line:string startsWithString:@"gcc"] ||
[self line:string startsWithString:@"egcc"] ||
[self line:string startsWithString:@"clang"])
else if ([self line:string startsWithString:@"gcc"])
{// Parse compiler output
parsedString = [self parseCompilerLine:string];
}
@ -1084,11 +1077,11 @@
- (NSArray *)parseErrorLine:(NSString *)string
{
NSArray *components = [string componentsSeparatedByString:@":"];
NSString *file = @"";
NSString *includedFile = @"";
NSString *position = @"{x=0; y=0}";
NSString *type = @"";
NSString *message = @"";
NSString *file = [NSString stringWithString:@""];
NSString *includedFile = [NSString stringWithString:@""];
NSString *position = [NSString stringWithString:@"{x=0; y=0}"];
NSString *type = [NSString stringWithString:@""];
NSString *message = [NSString stringWithString:@""];
NSMutableArray *items = [NSMutableArray arrayWithCapacity:1];
NSMutableDictionary *errorItem;
NSString *indentString = @"\t";
@ -1104,13 +1097,13 @@
forKey:NSUnderlineStyleAttributeName];
lastEL = currentEL;
// NSLog(@"error string: %@", string);
/* if (lastEL == ELFile) NSLog(@"+++ELFile");
if (lastEL == ELFunction) NSLog(@"+++ELFunction");
if (lastEL == ELIncluded) NSLog(@"+++ELIncluded");
if (lastEL == ELError) NSLog(@"+++ELError");
if (lastEL == ELNone) NSLog(@"+++ELNone");*/
//NSLog(@"components: %lu, %@", (unsigned long)[components count], components);
if ([errorArray count] > 0)
{
lastFile = [[errorArray lastObject] objectForKey:@"File"];
@ -1134,8 +1127,8 @@
}
else if ([components count] > 3)
{
NSUInteger typeIndex;
NSString *substr;
unsigned typeIndex;
NSString *substr;
// file and includedFile
file = [currentBuildPath
@ -1155,35 +1148,22 @@
}
// type
typeIndex = NSNotFound;
if ((typeIndex = [components indexOfObject:@" warning"]) != NSNotFound)
{
type = [components objectAtIndex:typeIndex];
warningsCount++;
}
else if ((typeIndex = [components indexOfObject:@" note"]) != NSNotFound) // generated by clang
{
type = [components objectAtIndex:typeIndex];
}
else if ((typeIndex = [components indexOfObject:@" error"]) != NSNotFound)
{
type = [components objectAtIndex:typeIndex];
errorsCount++;
}
else if ((typeIndex = [components indexOfObject:@" fatal error"]) != NSNotFound)
{
type = [components objectAtIndex:typeIndex];
errorsCount++;
}
// NSLog(@"typeIndex: %u", (unsigned int)typeIndex);
// position
if (typeIndex == 2) // :line:
{
int lInt = atoi([[components objectAtIndex:1] cString]);
NSNumber *lNumber = [NSNumber numberWithInt:lInt];
// NSLog(@"type 2, parsed l: %i", lInt);
position = [NSString stringWithFormat:@"{x=%i; y=0}",
[lNumber intValue]];
}
@ -1194,9 +1174,8 @@
NSNumber *lNumber = [NSNumber numberWithInt:lInt];
NSNumber *cNumber = [NSNumber numberWithInt:cInt];
// NSLog(@"type 3, parsed l,c: %i, %i", lInt, cInt);
position = [NSString stringWithFormat:@"{x=%i; y=%i}",
[lNumber intValue], [cNumber intValue]];
[lNumber intValue], [cNumber floatValue]];
}
// message
substr = [NSString stringWithFormat:@"%@:", type];
@ -1290,7 +1269,7 @@
}
// --- Error output table delegate methods
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
{
if (errorArray != nil && aTableView == errorOutput)
{
@ -1302,7 +1281,7 @@
- (id) tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex
row:(int)rowIndex
{
NSDictionary *errorItem;
@ -1318,7 +1297,7 @@
- (void)errorItemClick:(id)sender
{
NSInteger rowIndex = [errorOutput selectedRow];
int rowIndex = [errorOutput selectedRow];
NSDictionary *error = [errorArray objectAtIndex:rowIndex];
NSPoint position;
PCProjectEditor *projectEditor = [project projectEditor];
@ -1329,10 +1308,9 @@
windowed:NO];
if (editor)
{
// TODO / FIXME using a NSPoint here is weak since it is Float vs. integer line numbers
position = NSPointFromString([error objectForKey:@"Position"]);
[projectEditor orderFrontEditorForFile:[error objectForKey:@"File"]];
[editor scrollToLineNumber:(NSUInteger)position.x];
[editor scrollToLineNumber:(unsigned int)position.x];
/* NSLog(@"%i: %@(%@): %@",
position.x,

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCProjectBuilderOptions.h>

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCProjectManager.h>

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2002-2015 Free Software Foundation
Copyright (C) 2002-2010 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
@ -21,7 +21,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -177,54 +177,6 @@
return NO;
}
- (id<CodeEditor>) openEditorForFilePath: (NSString *)filePath
windowed: (BOOL)windowed
{
PCProject *activeProject = [[_project projectManager] activeProject];
NSString *fileName = [filePath lastPathComponent];
BOOL editable = YES;
id<CodeEditor> editor = nil;
NSFileManager *mgr = [NSFileManager defaultManager];
NSLog(@"PCPE: fileName: %@, filePath: %@, project: %@",
fileName, filePath, [activeProject projectName]);
if (![mgr fileExistsAtPath: filePath])
{
return nil;
}
// Determine if file should be opened for read only
if (![_project isEditableFile:fileName])
{
editable = NO;
}
// Set the 'editor' var either by requesting already opened
// editor or by creating the new one.
editor = [self openEditorForFile:filePath
editable:editable
windowed:windowed];
if (!editor)
{
NSLog(@"We don't have editor for file: %@", fileName);
[self setActiveEditor: nil];
return nil;
}
// Category path was changed by user's clicking inside browser.
// That's why new category path must be transfered to editor.
NSString *categoryPath = [NSString stringWithFormat: @"/Classes/%@/", fileName];
[editor setCategoryPath:categoryPath];
[self orderFrontEditorForFile:filePath];
// Reload last column because editor has just been loaded
[[_project projectBrowser] reloadLastColumnAndNotify:NO];
[editor fileStructureItemSelected:fileName];
return editor;
}
// Called by PCProjectBrowser
// categoryPath:
// 1. "/Classes/Class.m/- init"
@ -266,7 +218,6 @@
if (!editor)
{
NSLog(@"We don't have editor for file: %@", fileName);
[self setActiveEditor: nil];
return nil;
}
@ -275,8 +226,8 @@
[editor setCategoryPath:categoryPath];
[self orderFrontEditorForFile:filePath];
pathLastObject = [pathArray lastObject];
/* NSLog(@"pathArray: c: %i %@", [pathArray count], pathArray);
/* pathLastObject = [pathArray lastObject];
NSLog(@"pathArray: c: %i %@", [pathArray count], pathArray);
NSLog(@"pathArray: lastObject %@", [pathArray lastObject]);
NSLog(@"lastObject[1]: %@",
[pathLastObject substringWithRange:NSMakeRange(0,1)]);*/

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2000-2023 Free Software Foundation
Copyright (C) 2000-2010 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
@ -22,7 +22,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -254,9 +254,8 @@
// When user ends editing of text field with Tab or changing focus, entered
// changes should be accepted. The exception is PCFileName fields. I'm not sure
// if this is correct implementation. Action is performed twice if user ends
// editing with Enter key.
// if this is correct implementation (action is performed twice if user ends
// editing with Enter key)
- (void)controlTextDidEndEditing:(NSNotification *)aNotif
{
NSControl *anObject = [aNotif object];
@ -417,19 +416,19 @@
if ([selectedTitle isEqualToString:@"Header Directories Search Order"])
{
ASSIGN(searchItems, [NSMutableArray arrayWithArray:searchHeaders]);
ASSIGN(searchItems, searchHeaders);
}
else if ([selectedTitle isEqualToString:@"Library Directories Search Order"])
{
ASSIGN(searchItems, [NSMutableArray arrayWithArray:searchLibs]);
ASSIGN(searchItems, searchLibs);
}
else if ([selectedTitle isEqualToString:@"Build Targets"])
{
ASSIGN(searchItems,[NSMutableArray arrayWithArray:[project buildTargets]]);
ASSIGN(searchItems,[project buildTargets]);
}
else
{
DESTROY(searchItems);
ASSIGN(searchItems,nil);
}
[searchOrderList reloadData];
@ -651,18 +650,17 @@
- (void)removeAuthor:(id)sender
{
int selectedRow = [authorsList selectedRow];
if (selectedRow >= 0)
{
[authorsList selectRow:selectedRow byExtendingSelection:NO];
[authorsItems removeObjectAtIndex:selectedRow];
[authorsList reloadData];
}
{
[authorsItems removeObjectAtIndex:selectedRow];
[authorsList reloadData];
}
if ([authorsList selectedRow] < 0 && [authorsItems count] > 0)
{
[authorsList selectRow:[authorsItems count]-1 byExtendingSelection:NO];
}
{
[authorsList selectRow:[authorsItems count]-1 byExtendingSelection:NO];
}
[project setProjectDictObject:authorsItems forKey:PCAuthors notify:YES];
}
@ -977,18 +975,8 @@
- (void)fileNameDidChange:(id)sender
{
NSString *newName;
newName = [fileNameField stringValue];
if ([fileName isEqualToString:newName])
if ([fileName isEqualToString:[fileNameField stringValue]])
{
[fileNameField setStringValue:fileName];
return;
}
if ([[newName stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]] length] == 0)
{
[fileNameField setStringValue:fileName];
return;
}
@ -1054,7 +1042,7 @@
// ==== NSTableViews
// ============================================================================
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
{
if (searchOrderList != nil && aTableView == searchOrderList)
{
@ -1074,7 +1062,7 @@
- (id) tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex
row:(int)rowIndex
{
if (searchOrderList != nil && aTableView == searchOrderList)
{
@ -1095,11 +1083,11 @@
- (void) tableView:(NSTableView *)aTableView
setObjectValue:anObject
forTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex
row:(int)rowIndex
{
if (authorsList != nil && aTableView == authorsList)
{
if([authorsItems count] == 0)
if([authorsItems count] <= 0)
{
return;
}
@ -1114,7 +1102,7 @@
- (void) tableView: (NSTableView*)aTableView
willDisplayCell: (id)aCell
forTableColumn: (NSTableColumn*)aTableColumn
row: (NSInteger)rowIndex
row: (int)rowIndex
{
[(NSTextFieldCell *)aCell setScrollable:YES];
}

View file

@ -1,11 +1,10 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2000-2020 Free Software Foundation
Copyright (C) 2000-2004 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
Riccardo Mottola
This file is part of GNUstep.
@ -21,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <AppKit/AppKit.h>
@ -33,19 +32,15 @@
#import <ProjectCenter/PCBundleManager.h>
#import <ProjectCenter/PCButton.h>
#import <ProjectCenter/PCLogController.h>
#import <Protocols/Preferences.h>
#import "Modules/Preferences/Misc/PCMiscPrefs.h"
#import "Modules/Preferences/EditorFSC/PCEditorFSCPrefs.h"
#ifndef NOTIFICATION_CENTER
#define NOTIFICATION_CENTER [NSNotificationCenter defaultCenter]
#endif
#ifndef IMAGE
#define IMAGE(X) [NSImage imageNamed: X]
#define IMAGE(X) [[[NSImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForImageResource:(X)]] autorelease]
#endif
enum {
@ -126,7 +121,7 @@ enum {
NSMakeSize([stdOut frame].size.width, 1e7)];
// Font
string = @"=== Launcher ready ===";
string = [NSString stringWithString:@"=== Launcher ready ==="];
attributedString =
[[NSAttributedString alloc] initWithString:string
attributes:textAttributes];
@ -149,20 +144,10 @@ enum {
if ((self = [super init]))
{
id <PCPreferences> prefs;
NSFont *font;
NSString *fontName;
CGFloat fontSize;
NSFont *font = [NSFont userFixedPitchFontOfSize: 10.0];
project = aProject;
prefs = [[project projectManager] prefController];
fontName = [prefs stringForKey:ConsoleFixedFont];
fontSize = [prefs floatForKey:ConsoleFixedFontSize];
font = [NSFont fontWithName:fontName size:fontSize];
if (font == nil)
font = [NSFont userFixedPitchFontOfSize:0];
textAttributes =
[NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName];
[textAttributes retain];
@ -221,33 +206,14 @@ enum {
- (void)debug:(id)sender
{
NSString *executablePath;
NSString *projectName = [project projectName];
NSString *fp = nil;
NSString *gdbPath = nil;
NSFileManager *fm = [NSFileManager defaultManager];
PCBundleManager *bundleManager = [[project projectManager] bundleManager];
executablePath = [project projectPath];
if ([project isExecutable])
{
NSString *prjType;
prjType = [project projectTypeName];
if ([prjType isEqualToString: @"Application"])
{
/* MyApplication.app/MyApplication */
executablePath = [executablePath stringByAppendingPathComponent:[project projectName]];
executablePath = [executablePath stringByAppendingString:@".app"];
executablePath = [executablePath stringByAppendingPathComponent:[project projectName]];
}
else if ([prjType isEqualToString: @"Tool"])
{
/* obj/MyTool */
executablePath = [executablePath stringByAppendingPathComponent:@"obj"];
executablePath = [executablePath stringByAppendingPathComponent:[project projectName]];
}
}
else
// Check if project type is executable
if (![project isExecutable])
{
NSRunAlertPanel(@"Debug",
@"The project is not executable",
@ -256,16 +222,31 @@ enum {
return;
}
#ifdef __MINGW__
/* On windows we need to check the .exe file */
if ([[executablePath pathExtension] length] == 0)
{
executablePath = [executablePath stringByAppendingPathExtension: @"exe"];
}
#endif
NSLog(@"debug executable launch path: %@", executablePath);
if ([fm isExecutableFileAtPath:executablePath] == NO)
/* We try in the order:
* xxx.debug/xxx (gnustep-make v1, application),
* xxx.app/xxx (gnustep-make v1 and v2, application),
* obj/xxx (gnustep-make v1 and v2, tool).
*/
fp = [project projectPath];
fp = [fp stringByAppendingPathComponent: [projectName stringByAppendingPathExtension: @"debug"]];
fp = [fp stringByAppendingPathComponent: projectName];
if (! [fm isExecutableFileAtPath: fp])
{
fp = [project projectPath];
fp = [fp stringByAppendingPathComponent: [projectName stringByAppendingPathExtension: @"app"]];
fp = [fp stringByAppendingPathComponent: projectName];
if (! [fm isExecutableFileAtPath: fp])
{
fp = [project projectPath];
fp = [fp stringByAppendingPathComponent: @"obj"];
fp = [fp stringByAppendingPathComponent: projectName];
}
}
if ([fm isExecutableFileAtPath:fp] == NO)
{
NSRunAlertPanel(@"Debug",
@"No executable! Please build the project first.",
@ -279,7 +260,7 @@ enum {
gdbPath = [[[project projectManager] prefController] stringForKey:Debugger];
if (gdbPath == nil)
{
gdbPath = @"/usr/bin/gdb";
gdbPath = [NSString stringWithString:@"/usr/bin/gdb"];
}
if ([fm isExecutableFileAtPath:gdbPath] == NO)
@ -293,21 +274,11 @@ enum {
// Debugger
if (nil == debugger)
{
debugger = [bundleManager objectForBundleType: @"debugger"
protocol: @protocol(CodeDebugger)
fileName: [executablePath stringByDeletingLastPathComponent]];
[debugger debugExecutableAtPath: executablePath
withDebugger: gdbPath];
}
else
{
[debugger show];
}
if (nil == debugger)
NSLog(@"No debugger module found");
debugger = [bundleManager objectForBundleType: @"debugger"
protocol: @protocol(CodeDebugger)
fileName: [fp stringByDeletingLastPathComponent]];
[debugger debugExecutableAtPath: fp
withDebugger: gdbPath];
// turn debug button off...
// [debugButton setState:NSOffState];
@ -319,9 +290,8 @@ enum {
NSPipe *logPipe;
NSPipe *errorPipe;
NSString *executablePath;
NSFileManager *fm;
executablePath = [project projectPath];
executablePath = [NSMutableString stringWithString:[project projectPath]];
// Check if project type is executable
if ([project isExecutable])
@ -329,6 +299,7 @@ enum {
NSString *prjType;
prjType = [project projectTypeName];
NSLog(@"project is executable");
if ([prjType isEqualToString: @"Application"])
{
/* MyApplication.app/MyApplication */
@ -355,29 +326,7 @@ enum {
[runButton setState:NSOffState];
return;
}
#ifdef __MINGW__
/* On windows we need to check the .exe file */
if ([[executablePath pathExtension] length] == 0)
{
executablePath = [executablePath stringByAppendingPathExtension: @"exe"];
}
#endif
NSLog(@"executable launch path: %@", executablePath);
/* now check if the executable does exist. Perhaps make failed */
fm = [NSFileManager defaultManager];
if (![fm isExecutableFileAtPath:executablePath])
{
NSRunAlertPanel(@"Run",
@"The project does not have an executable",
@"Close", nil, nil, nil);
[runButton setState:NSOffState];
return;
}
// [makeTask isRunning] doesn't work here.
// "waitpid 7045, result -1, error No child processes" is printed.
if (launchTask)
@ -428,7 +377,6 @@ enum {
[debugButton setEnabled:NO];
_isRunning = YES;
_isErrorRunning = YES;
RELEASE(args);
}
@ -439,16 +387,7 @@ enum {
return;
}
[NOTIFICATION_CENTER removeObserver: self
name: NSTaskDidTerminateNotification
object: launchTask];
// Wait if there are data available.
if (_isRunning || _isErrorRunning)
{
[[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode
beforeDate: [NSDate distantFuture]];
}
[NOTIFICATION_CENTER removeObserver:self];
[runButton setState:NSOffState];
[debugButton setState:NSOffState];
@ -458,6 +397,7 @@ enum {
RELEASE(launchTask);
launchTask = nil;
_isRunning = NO;
_isDebugging = NO;
}
@ -466,38 +406,24 @@ enum {
{
NSData *data;
if ((data = [readHandle availableData]) && [data length] > 0)
if ((data = [readHandle availableData]))
{
[self logData:data error:NO];
[readHandle waitForDataInBackgroundAndNotifyForModes:nil];
}
else
{
[NOTIFICATION_CENTER removeObserver: self
name: NSFileHandleDataAvailableNotification
object: readHandle];
_isRunning = NO;
}
[readHandle waitForDataInBackgroundAndNotifyForModes:nil];
}
- (void)logErrOut:(NSNotification *)aNotif
{
NSData *data;
if ((data = [errorReadHandle availableData]) && [data length] > 0)
if ((data = [errorReadHandle availableData]))
{
[self logData:data error:YES];
[errorReadHandle waitForDataInBackgroundAndNotifyForModes:nil];
}
else
{
[NOTIFICATION_CENTER removeObserver: self
name: NSFileHandleDataAvailableNotification
object: errorReadHandle];
_isErrorRunning = NO;
}
[errorReadHandle waitForDataInBackgroundAndNotifyForModes:nil];
}
@end

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCProjectManager.h>
@ -35,10 +35,14 @@
- (id)initWithProjectManager:(PCProjectManager *)aManager
{
PCProjectLauncher *projectLauncher = nil;
PCProject *activeProject = nil;
projectManager = aManager;
activeProject = [projectManager rootActiveProject];
projectLauncher = [activeProject projectLauncher];
projectLauncher = [[aManager activeProject] projectLauncher];
self = [super initWithContentRect: NSMakeRect (0, 300, 480, 322)
styleMask: (NSTitledWindowMask

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -341,7 +341,7 @@
@implementation PCProjectLoadedFiles (LoadedFilesTableDelegate)
- (NSInteger)numberOfRowsInTableView: (NSTableView *)aTableView
- (int)numberOfRowsInTableView: (NSTableView *)aTableView
{
if (aTableView != filesList)
{
@ -353,7 +353,7 @@
- (id) tableView: (NSTableView *)aTableView
objectValueForTableColumn: (NSTableColumn *)aTableColumn
row: (NSInteger)rowIndex
row: (int)rowIndex
{
if (aTableView != filesList)
{
@ -376,7 +376,7 @@
- (void) tableView:(NSTableView *)aTableView
setObjectValue:anObject
forTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex
row:(int)rowIndex
{
/* NSString *path = nil;
NSParameterAssert (rowIndex >= 0 && rowIndex < [editedFiles count]);

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCProjectManager.h>
@ -35,11 +35,13 @@
- (id)initWithProjectManager:(PCProjectManager *)aManager
{
PCProjectLoadedFiles *projectLoadedFiles = nil;
PCProject *activeProject = nil;
projectManager = aManager;
activeProject = [projectManager rootActiveProject];
currentProject = activeProject;
projectLoadedFiles = [activeProject projectLoadedFiles];
PCLogStatus(self, @"[init]");

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2000-2021 Free Software Foundation
Copyright (C) 2000-2010 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
@ -21,7 +21,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -380,7 +380,7 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
[[NSNotificationCenter defaultCenter]
postNotificationName:PCActiveProjectDidChangeNotification
object:activeProject];
object:activeProject];
}
}
@ -451,7 +451,7 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
if ([projectClassName isEqualToString:@"PCGormProj"] ||
[projectClassName isEqualToString:@"PCAppProj"])
{
projectTypeName = @"Application";
projectTypeName = [NSString stringWithString:@"Application"];
projectClassName = [projectTypes objectForKey:projectTypeName];
}
@ -552,7 +552,7 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
NSString *projectPath = nil;
NSString *projectFileType = nil;
PCProject *project = nil;
NSString *projectPathToSave;
NSDictionary *wap = nil;
// Check project path for invalid characters
if ([aPath rangeOfString: @" "].location != NSNotFound ||
@ -591,7 +591,7 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
BOOL isDir = NO;
BOOL exists = NO;
NSArray *tempList;
exists = [[NSFileManager defaultManager] fileExistsAtPath:aPath
isDirectory:&isDir];
if (!exists)
@ -599,7 +599,6 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
return nil;
}
projectPathToSave = projectPath;
if (isDir)
{
if ([projectFileType isEqualToString:@"pcproj"] == NO)
@ -612,10 +611,6 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
aPath = [tempList objectAtIndex:0];
}
}
else
{
projectPathToSave = aPath;
}
aPath = [aPath stringByAppendingPathComponent:@"PC.project"];
projectFile = [NSMutableDictionary dictionaryWithContentsOfFile:aPath];
}
@ -674,13 +669,14 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
[self startSaveTimer];
[project validateProjectDict];
if (!project)
{
return nil;
}
[loadedProjects setObject:project forKey:[project projectPath]];
[[NSDocumentController sharedDocumentController] noteNewRecentDocumentURL: [NSURL fileURLWithPath:projectPathToSave]];
PCLogStatus(self, @"Saved opened Document as %@", projectPathToSave);
if (flag)
{
NSDictionary *wap = nil;
[project setProjectManager:self];
// Windows and panels
@ -697,18 +693,11 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
{
[[project projectWindow] showProjectLoadedFiles:self];
}
[[project projectWindow] makeKeyAndOrderFront:self];
[self setActiveProject: project];
}
}
else
{
PCLogStatus(self, @"Project %@ already Open", [project projectName]);
}
if (flag)
{
[self setActiveProject: project];
[[project projectWindow] makeKeyAndOrderFront:self];
}
return project;
}
@ -761,7 +750,6 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
NSString *className = [projectTypes objectForKey:projectType];
PCProject<ProjectType> *projectCreator;
PCProject *project = nil;
NSString *subType = nil;
if ((project = [loadedProjects objectForKey: [aPath stringByDeletingLastPathComponent]]) != nil)
{
@ -769,9 +757,6 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
return project;
}
if ([projectType isEqualToString:@"Application"])
subType = PCProjectInterfaceGorm;
projectCreator = [bundleManager objectForClassName:className
bundleType:@"project"
protocol:@protocol(ProjectType)];
@ -797,7 +782,7 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
}
// Create project
if (!(project = [projectCreator createProjectAt:aPath withOption:subType]))
if (!(project = [projectCreator createProjectAt:aPath]))
{
NSRunAlertPanel(@"New Project",
@"Project %@ could not be created.\nReport bug, please!",
@ -811,27 +796,21 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
return project;
}
- (void)newProject: (id)sender
- (void)newProject
{
NSArray *files, *types = nil;
NSArray *files;
NSString *filePath;
NSString *projectType;
PCProject *project;
NSString *projectPath;
[self createProjectTypeAccessaryView];
files = [fileManager filesOfTypes:types
files = [fileManager filesOfTypes:nil
operation:PCSaveFileOperation
multiple:NO
title:@"New Project"
accView:projectTypeAccessaryView];
filePath = [files objectAtIndex:0];
#ifdef WIN32
filePath = [filePath stringByDeletingPathExtension];
#endif
if (filePath != nil)
{
if ([filePath rangeOfString: @" "].location != NSNotFound ||
@ -858,9 +837,7 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
return;
}
projectPath = [project projectPath];
[[NSDocumentController sharedDocumentController] noteNewRecentDocumentURL:[NSURL fileURLWithPath:projectPath]];
[loadedProjects setObject:project forKey:projectPath];
[loadedProjects setObject:project forKey: [project projectPath]];
[self setActiveProject:project];
[[project projectWindow] orderFront:self];
}
@ -962,12 +939,12 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
project = [activeProject superProject];
[self setActiveProject:project];
}
removeString = @"Remove subprojects...";
removeString = [NSString stringWithString:@"Remove subprojects..."];
directory = [project dirForCategoryKey:categoryKey];
}
else
{
removeString = @"Remove files...";
removeString = [NSString stringWithString:@"Remove files..."];
project = activeProject;
}
@ -1124,7 +1101,6 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
// ============================================================================
- (void)openFileAtPath:(NSString *)filePath
windowed:(BOOL)windowed
{
editorManager = [self editorManager];
@ -1132,17 +1108,11 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
{
[editorManager openEditorForFile:filePath
editable:YES
windowed:windowed];
windowed:YES];
[editorManager orderFrontEditorForFile:filePath];
}
}
- (void)openFileAtPath:(NSString *)filePath
{
[self openFileAtPath: filePath windowed: YES];
}
- (void)openFile
{
NSArray *files = nil;
@ -1348,9 +1318,6 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
// Create subproject
subproject = [self createSubprojectOfType:spType path:spPath];
// PCLogInfo(self, @"{createSubproject} add to %@", [activeProject projectName]);
[activeProject addSubproject:subproject];
return;
}
@ -1360,15 +1327,11 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
NSString *className = [projectTypes objectForKey:projectType];
PCProject<ProjectType> *projectCreator;
PCProject *subproject = nil;
NSString *subType = nil;
if ([projectType isEqualToString:@"Application"])
subType = PCProjectInterfaceGorm;
projectCreator = [bundleManager objectForClassName:className
bundleType:@"project"
protocol:@protocol(ProjectType)];
if (!(subproject = [projectCreator createProjectAt:aPath withOption:subType]))
if (!(subproject = [projectCreator createProjectAt:aPath]))
{
NSRunAlertPanel(@"New Subproject",
@"Internal error!"
@ -1380,6 +1343,9 @@ NSString *PCActiveProjectDidChangeNotification = @"PCActiveProjectDidChange";
[subproject setSuperProject:activeProject];
[subproject setProjectManager:self];
// PCLogInfo(self, @"{createSubproject} add to %@", [activeProject projectName]);
[activeProject addSubproject:subproject];
return subproject;
}

View file

@ -1,11 +1,10 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2000-2023 Free Software Foundation
Copyright (C) 2000-2010 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
Riccardo Mottola
This file is part of GNUstep.
@ -21,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCDefines.h>
@ -260,9 +259,11 @@
- (void)dealloc
{
#ifdef DEVELOPMENT
NSLog (@"PCProjectWindow: dealloc");
#endif
[[NSNotificationCenter defaultCenter] removeObserver:self];
[h_split setDelegate:nil];
[v_split setDelegate:nil];
[projectWindow close];
[super dealloc];
@ -661,9 +662,8 @@
- (void)makeKeyAndOrderFront:(id)sender
{
// PCLogInfo(self, @"makeKeyAndOrderFront % @ sender: %@", [projectWindow title], [sender className]);
// NSLog(@"makeKeyAndOrderFront %@ sender: %@", [projectWindow title], [sender className]);
[projectWindow makeKeyAndOrderFront:self];
// PCLogInfo(self, @"makeKeyAndOrderFront sender: %@", [sender className]);
[projectWindow makeKeyAndOrderFront:nil];
}
- (void)makeKeyWindow
@ -720,6 +720,8 @@
/* PCLogInfo(self, @"windowDidBecomeKey: activeSubproject %@",
[[project activeSubproject] projectName]);*/
NSLog(@"windowDidBecomeKey: project %@",
[project projectName]);
if ([[project projectManager] rootActiveProject] != project)
{
@ -806,6 +808,7 @@
if (windowsDict != nil)
{
browserString = [windowsDict objectForKey:@"ProjectBrowser"];
NSLog(@"Browser size '%@'", browserString);
if (browserString != nil && ![browserString isEqualToString:@""])
{
browserRect = NSRectFromString(browserString);

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <ProjectCenter/PCEditorManager.h>
@ -137,7 +137,7 @@ BOOL PCRunSaveModifiedFilesPanel(PCEditorManager *manager,
// ============================================================================
// ==== TableView delegate
// ============================================================================
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
{
if (aTableView != filesList)
{
@ -149,7 +149,7 @@ BOOL PCRunSaveModifiedFilesPanel(PCEditorManager *manager,
- (id) tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex
row:(int)rowIndex
{
if (aTableView != filesList)
{

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import "$FILENAME$.h"

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _$UCFILENAME$_H_

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import "$FILENAME$.h"

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _$UCFILENAME$_H_

View file

@ -1,35 +0,0 @@
/*
Project: $PROJECTNAME$
Copyright (C) $YEAR$ Free Software Foundation
Author: $FULLUSERNAME$
Created: $DATE$ by $USERNAME$
This application is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This application is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
*/
#import "$FILENAME$.h"
// This is an Obj-C++ file... add what you need to mighty Objective-C
// if you need, add your C++ classes
@implementation $FILENAME$
@end
// add your C++ methods here

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
@protocol $FILENAME$ <NSObject>

View file

@ -16,7 +16,7 @@ include $(GNUSTEP_MAKEFILES)/common.make
#
# Main application
#
VERSION = 0.7.0
VERSION = 0.6.1
APP_NAME = ProjectCenter
ProjectCenter_APPLICATION_ICON = Images/ProjectCenter.tiff
@ -102,6 +102,7 @@ Modules/Preferences/EditorFSC/EditorFSC.preferences
ProjectCenter_LOCALIZED_RESOURCE_FILES = \
ProjectCenter.gorm \
Info.gorm \
FindPanel.gorm \
Preferences.gorm
ProjectCenter_LANGUAGES = \
@ -125,10 +126,10 @@ PCAppController.m \
PCInfoController.m \
PCMenuController.m \
PCPrefController.m \
TextFinder.m \
ProjectCenter_main.m
-include GNUmakefile.preamble
include $(GNUSTEP_MAKEFILES)/aggregate.make
include $(GNUSTEP_MAKEFILES)/application.make
-include GNUmakefile.postamble
include $(GNUSTEP_MAKEFILES)/Master/nsis.make

View file

@ -18,7 +18,7 @@
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB.
# If not, write to the Free Software Foundation,
# 31 Milk Street #960789 Boston, MA 02196 USAA.
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
before-all::

View file

@ -20,7 +20,7 @@
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB.
# If not, write to the Free Software Foundation,
# 31 Milk Street #960789 Boston, MA 02196 USAA.
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# Flags dealing with compiling and linking

View file

@ -17,7 +17,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCAPPCONTROLLER_H

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2001-2021 Free Software Foundation
Copyright (C) 2001 Free Software Foundation
This file is part of GNUstep.
@ -17,7 +17,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCINFOCONTROLLER_H
@ -28,8 +28,7 @@
@interface PCInfoController : NSObject
{
id infoWindow;
IBOutlet NSTextField* versionField;
IBOutlet NSTextField* copyrightField;
id versionField;
NSDictionary *infoDict;
}

View file

@ -17,7 +17,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCMENUCONTROLLER_H
@ -81,6 +81,11 @@
- (void)fileRename:(id)sender;
- (void)fileNewUntitled:(id)sender;
// Edit
/*- (void)findShowPanel:(id)sender;
- (void)findNext:(id)sender;
- (void)findPrevious:(id)sender;*/
// Tools
- (void)showInspector:(id)sender;
- (void)showEditorPanel:(id)sender;

View file

@ -17,7 +17,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCPREFCONTROLLER_H
@ -29,6 +29,8 @@
@interface PCPrefController : NSObject <PCPreferences>
{
NSUserDefaults *userDefaults;
NSMutableDictionary *sectionsDict;
IBOutlet NSPanel *panel;

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCAddFilesPanel_h_

View file

@ -1,29 +0,0 @@
/*
PCAuxiliaryWindow.h
Author: German A. Arias <germanandre@gmx.es>
Date: September 2013
This file is part of ProjectCenter.
ProjectCenter is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This application is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
*/
#import <AppKit/AppKit.h>
@interface PCAuxiliaryWindow : NSWindow
{
}
@end

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCBundleManager_h_

View file

@ -1,12 +1,11 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2003-2019 Free Software Foundation
Copyright (C) 2003-2004 Free Software Foundation
Authors: Serg Stoyan
Riccardo Mottola
This file is part of ProjectCenter.
This file is part of GNUstep.
This application is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
@ -20,13 +19,13 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCButton_h_
#define _PCButton_h_
#import <AppKit/NSButton.h>
#import <AppKit/AppKit.h>
/*
* Button
@ -34,6 +33,14 @@
@interface PCButton : NSButton
{
NSToolTipTag mainToolTip;
NSTimer *ttTimer;
NSWindow *ttWindow;
NSMutableDictionary *ttTitleAttrs;
NSColor *ttBackground;
BOOL _hasTooltips;
}
@end

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCDefines_h_
@ -147,7 +147,6 @@ static NSString * const PCLinkerOptions = @"LINKEROPTIONS";
static NSString * const PCObjCCompilerOptions = @"OBJC_COMPILEROPTIONS";
static NSString * const PCPrincipalClass = @"PRINCIPAL_CLASS";
static NSString * const PCAuthors = @"PROJECT_AUTHORS";
static NSString * const PCBundleIdentifier = @"BUNDLE_IDENTIFIER";
static NSString * const PCCopyright = @"PROJECT_COPYRIGHT";
static NSString * const PCCopyrightDescription = @"PROJECT_COPYRIGHT_DESC";
static NSString * const PCProjectCreator = @"PROJECT_CREATOR";

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCEditorManager_h_
@ -69,7 +69,6 @@
- (NSArray *)allEditors;
- (void)closeActiveEditor:(id)sender;
- (void)closeEditorForFile:(NSString *)file;
- (void)gotoFile: (NSString *)fileName atLine: (NSUInteger)line;
- (NSArray *)modifiedFiles;
- (BOOL)hasModifiedFiles;

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2001-2015 Free Software Foundation
Copyright (C) 2001-2004 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCFileCreator_h_
@ -33,7 +33,6 @@
#define ObjCHeader @"Objective-C Header"
#define CFile @"C File"
#define CHeader @"C Header"
#define ObjCppClass @"Objective-C++ Class"
#define GSMarkupFile @"GNUstep Markup"
@class PCProject;

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2000-2014 Free Software Foundation
Copyright (C) 2000-2004 Free Software Foundation
Authors: Philippe C.D. Robert
Serg Stoyan
@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCFileManager_h_
@ -112,9 +112,6 @@ enum {
- (BOOL)moveFile:(NSString *)file intoDirectory:(NSString *)directory;
// find an executable from list and return full path
- (NSString*) findExecutableToolFrom: (NSArray*)candidates;
@end
@interface PCFileManager (UInterface)

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCFileNameField_h_

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCFileNameIcon_h_

View file

@ -17,7 +17,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCLOGCONTROLLER_H

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCMakefileFactory_h_

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProject_h_

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProjectBrowser_h_
@ -84,7 +84,7 @@ extern NSString *PCBrowserDidSetPathNotification;
@interface PCProjectBrowser (ProjectBrowserDelegate)
- (void)browser:(NSBrowser *)sender createRowsForColumn:(NSInteger)column
- (void)browser:(NSBrowser *)sender createRowsForColumn:(int)column
inMatrix:(NSMatrix *)matrix;
@end

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProjectBuilder_h_

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <AppKit/AppKit.h>

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProjectBuilderPanel_h_

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProjectEditor_h_
@ -67,9 +67,6 @@
- (BOOL)editorProvidesBrowserItemsForItem:(NSString *)item;
- (id<CodeEditor>)openEditorForFilePath:(NSString *)categoryPath
windowed:(BOOL)windowed;
- (id<CodeEditor>)openEditorForCategoryPath:(NSString *)categoryPath
windowed:(BOOL)windowed;

View file

@ -22,7 +22,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProjectInspector_h_

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProjectDebugger_h_
@ -50,7 +50,6 @@
id<CodeDebugger> debugger;
BOOL _isRunning;
BOOL _isErrorRunning;
BOOL _isDebugging;
}

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCLaunchPanel_h_

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProjectLoadedFiles_h_
@ -65,16 +65,16 @@ typedef enum _PHSortType
@interface PCProjectLoadedFiles (HistoryTableDelegate)
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView;
- (int)numberOfRowsInTableView:(NSTableView *)aTableView;
- (id) tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex;
row:(int)rowIndex;
- (void)tableView:(NSTableView *)aTableView
setObjectValue:anObject
forTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex;
row:(int)rowIndex;
@end

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCLoadedFilesPanel_h_

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProjectManager_h_
@ -142,7 +142,7 @@ extern NSString *PCActiveProjectDidChangeNotification;
- (void)openProject;
- (PCProject *)createProjectOfType:(NSString *)projectType
path:(NSString *)aPath;
- (void)newProject: (id)sender;
- (void)newProject;
- (BOOL)saveProject;
// Calls saveAllProjects if the preferences are setup accordingly.
@ -164,7 +164,6 @@ extern NSString *PCActiveProjectDidChangeNotification;
// Also called by PCAppController
- (void)openFileAtPath:(NSString *)filePath;
- (void)openFileAtPath:(NSString *)filePath windowed: (BOOL)windowed;
- (void)openFile;
- (void)newFile;
- (BOOL)saveFile;

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCProjectWindow_h_

View file

@ -20,7 +20,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCSaveModified_h_
@ -55,11 +55,11 @@ BOOL PCRunSaveModifiedFilesPanel(PCEditorManager *manager,
- (BOOL)saveSelectedFiles;
// TableView delegate
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView;
- (int)numberOfRowsInTableView:(NSTableView *)aTableView;
- (id) tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(NSInteger)rowIndex;
row:(int)rowIndex;
@end

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _ProjectCenter_h_

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2008-2016 Free Software Foundation
Copyright (C) 2008 Free Software Foundation
Authors: Gregory Casamento
@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _CodeDebugger_h_
@ -45,8 +45,8 @@
- (void)setDebuggerWindow: (NSWindow *)window;
- (NSView *)debuggerView;
- (void)setDebuggerView: (id)view;
- (NSString *)executablePath;
- (void)setExecutablePath:(NSString *)path;
- (NSString *)path;
- (void)setPath:(NSString *)path;
// ===========================================================================
// ==== Accessor methods

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2005-2014 Free Software Foundation
Copyright (C) 2005 Free Software Foundation
Authors: Serg Stoyan
@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _CodeEditor_h_
@ -82,7 +82,7 @@
// ===========================================================================
- (void)fileStructureItemSelected:(NSString *)item;
- (void)scrollToLineNumber:(NSUInteger)lineNumber;
- (void)scrollToLineNumber:(unsigned int)lineNumber;
@end

View file

@ -1,7 +1,7 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2010-2014 Free Software Foundation
Copyright (C) 2010 Free Software Foundation
Authors: Riccardo Mottola
@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#import <Foundation/Foundation.h>
@ -30,7 +30,4 @@
- (NSObject <CodeEditor> *)editor;
- (void)performGoToLinePanelAction:(id)sender;
- (void)goToLineNumber:(NSUInteger)lineNumber;
@end

View file

@ -19,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _CodeParserProtocol_h_

View file

@ -1,10 +1,9 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2005-2015 Free Software Foundation
Copyright (C) 2005 Free Software Foundation
Authors: Serg Stoyan
Riccardo Mottola
This file is part of GNUstep.
@ -20,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PCPreferencesProtocols_h_
@ -33,9 +32,6 @@
@protocol PCPreferences <NSObject>
- (NSColor *)colorFromString:(NSString *)colorString;
- (NSString *)stringFromColor:(NSColor *)color;
- (NSString *)stringForKey:(NSString *)key;
- (NSString *)stringForKey:(NSString *)key
defaultValue:(NSString *)defaultValue;
@ -48,10 +44,6 @@
- (float)floatForKey:(NSString *)key
defaultValue:(float)defaultValue;
- (NSColor *)colorForKey:(NSString *)key;
- (NSColor *)colorForKey:(NSString *)key
defaultValue:(NSColor *)defaultValue;
- (void)setString:(NSString *)stringValue
forKey:(NSString *)aKey
notify:(BOOL)notify;
@ -61,9 +53,7 @@
- (void)setFloat:(float)floatValue
forKey:(NSString *)aKey
notify:(BOOL)notify;
- (void)setColor:(NSColor *)color
forKey:(NSString *)aKey
notify:(BOOL)notify;
@end
@protocol PCPrefsSection <NSObject>

View file

@ -1,10 +1,9 @@
/*
GNUstep ProjectCenter - http://www.gnustep.org/experience/ProjectCenter.html
Copyright (C) 2000-2017 Free Software Foundation
Copyright (C) 2000-2002 Free Software Foundation
Author: Philippe C.D. Robert <probert@siggraph.org>
Riccardo Mottola
This file is part of GNUstep.
@ -20,7 +19,7 @@
You should have received a copy of the GNU General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 31 Milk Street #960789 Boston, MA 02196 USA.
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifndef _PROJECTTYPE_H
@ -30,20 +29,15 @@
Description: A ProjectType is used to create a project of a certain type.
With this approach this procedure can be implemented as a bundle
and therefore PC remains open for future extensions!
Options are used to further customize types.
*/
#import <Foundation/Foundation.h>
@class PCProject;
static NSString* const PCProjectInterfaceGorm = @"GormInterface";
static NSString* const PCProjectInterfaceRenaissance = @"RenaissanceInterface";
@protocol ProjectType
- (PCProject *)createProjectAt:(NSString *)path withOption:(NSString *)option;
- (PCProject *)createProjectAt:(NSString *)path;
@end

0
Library/.gitignore vendored Normal file
View file

Some files were not shown because too many files have changed in this diff Show more