mirror of
https://github.com/gnustep/apps-projectcenter.git
synced 2025-04-22 10:01:02 +00:00
Compare commits
1 commit
master
...
projectcen
Author | SHA1 | Date | |
---|---|---|---|
|
84a2495a61 |
223 changed files with 2928 additions and 4888 deletions
23
.github/scripts/build.sh
vendored
23
.github/scripts/build.sh
vendored
|
@ -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);
|
135
.github/scripts/dependencies.sh
vendored
135
.github/scripts/dependencies.sh
vendored
|
@ -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
|
10
.github/scripts/test.sh
vendored
10
.github/scripts/test.sh
vendored
|
@ -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);
|
38
.github/workflows/main.yml
vendored
38
.github/workflows/main.yml
vendored
|
@ -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
14
.gitignore
vendored
|
@ -1,14 +0,0 @@
|
|||
*.app
|
||||
*.debug
|
||||
*.profile
|
||||
*.plugin
|
||||
*.framework
|
||||
*.debugger
|
||||
*.editor
|
||||
*.parser
|
||||
*.preferences
|
||||
*.project
|
||||
*.swp
|
||||
derived_src
|
||||
obj
|
||||
*~
|
|
@ -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
871
ChangeLog
|
@ -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
|
||||
|
|
|
@ -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.
Binary file not shown.
Binary file not shown.
|
@ -7,7 +7,7 @@
|
|||
"findNext:",
|
||||
"findPrevious:",
|
||||
"findShowPanel:",
|
||||
"performGoToLinePanelAction:"
|
||||
"newAction:"
|
||||
);
|
||||
Super = NSObject;
|
||||
};
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -10,13 +10,6 @@
|
|||
);
|
||||
Super = NSObject;
|
||||
};
|
||||
PCAuxiliaryWindow = {
|
||||
Actions = (
|
||||
);
|
||||
Outlets = (
|
||||
);
|
||||
Super = NSWindow;
|
||||
};
|
||||
PCProjectBuilderPanel = {
|
||||
Actions = (
|
||||
);
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -6,13 +6,6 @@
|
|||
);
|
||||
Super = NSObject;
|
||||
};
|
||||
PCAuxiliaryWindow = {
|
||||
Actions = (
|
||||
);
|
||||
Outlets = (
|
||||
);
|
||||
Super = NSWindow;
|
||||
};
|
||||
SaveModifiedFilesDelegate = {
|
||||
Actions = (
|
||||
"buttonClicked:"
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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)]);*/
|
||||
|
|
|
@ -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];
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -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]");
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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::
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
|
|
@ -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_
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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_
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
0
Library/.gitignore
vendored
Normal file
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue