(close): Implemented. Closes not only project but also non
project files editors.
* Framework/PCProject.m: Clean and alert panels in various situations.
* Framework/PCProjectEditor.m: Move closeAllEditors, saveEditedFiles:,
saveAllFiles and saveFileAs: methods to PCEditorManager. Use
<CodeEditor> close: methods instead of closeFile:save:.
(saveFileAs:): Use superclass method.
* Framework/PCEditorManager.m: Adopt moved methods.
(modifiedFiles): Implemented. Return array of file paths.
(hasModifiedFiles): Implemented for future use (e.g. prebuild check
in ProjectBuilder).
(reviewUnsaved:): Implemented. Go through modified files' editors
and close which results in opening of alert "Save?" panels.
* PCAppController.m:
(applicationShouldTerminate:): Use PCProjectManager close method
instead of closeAllProjects.
* Modules/Editors/ProjectCenter/PCEditor.m:
(_createWindow): Set "edited" flag according to current state.
(saveFile): Add alert panel on fail.
(closeFile:save:): Rewritten to properly process 'save' flag.
* Headers/Protocols/CodeEditor.h: Added close: method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27873 72102866-910b-0410-8b05-ffd578937521
(click:): Do not call editor if subproject name selected.
(fileNameIconImage): Set "FileProject" icon if subproject name selected.
* Framework/PCProjectManager.m: Remove unused methods projectPath and
selectedFileName.
* Framework/PCFileManager.m: Add alert panels if operation ends with
error.
* Framework/PCMakefileFactory.m: Add alert panels on error of creating
files.
* Framework/PCProjectBuilder.m: Review all situations when alert panels
should be opened. Panels text corrected according to OpenStep UIG.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27864 72102866-910b-0410-8b05-ffd578937521
(showInfoPanel:): Use appController intead of [NSApp delegate].
* GNUmakefile: Change version to 0.5.1.
* Resources/Info-gnustep.plist: ditto.
* Framework/PCProjectManager.m:
(open): Move ordering front project window for here...
(openProjectAt:): to here.
* Framework/PCProjectBrowser.m:
(nameOfSelectedCategory): Edit comment text.
* Framework/PCLogController.m:
(showPanel): Call makeKeyAndOrderFront instead of orderFront.
* Headers/PCInfoController.[hm]:
(showInfoWindow:): Get version info from Info-gnustep.plist.
* PCPrefController.m:
(showPanel:): Call makeKeyAndOrderFront instead of orderFront.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27861 72102866-910b-0410-8b05-ffd578937521
(subprojectNew): Use renamed [projectManager openNewSubprojectPanel]
method.
* Framework/PCProjectManager.m: Change all alert panel names according to
operation performed. Edit messages text of alert panels. Cleanup.
(newSubproject): Rename to openNewSubprojectPanel which is more informative.
(createSubproject): Change method definition to createSubproject:(id)sender
and merge code with old createSubproject:(id)sender.
(controlTextDidChange:): Activate 'Create' button only if subproject with
enetered name doesn't exist in project.
* Framework/PCProjectBrowser.m:
(nameOfSelectedCategory): Fix bug which prevent from removing subprojects.
Now selected category is checked against superproject category list. When
subproject name selected, name of superproject's category is returned. As
side effect ProjectBrowser tries to load editor for selected subproject's
name. Need to fix.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27838 72102866-910b-0410-8b05-ffd578937521
Make "Add Files" panel run in modal mode.
* Framework/PCProject.m: Corrections in alert panel names.
* Framework/PCFileCreator.[mh]: Partial rewrite. Check existance of files
wich will be added. Make panel run in modal mode. Add "Add Header File"
option button.
* Documentation/TODO: Update.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27826 72102866-910b-0410-8b05-ffd578937521
(dealloc): Replace DEVELOPMENT with DEBUG
* Framework/PCProjectBrowser.m:
(fileNameIconPath): Implement new method.
* Framework/PCFileNameIcon.m:
(mouseDown:) Finish drag&drop implementation.
(init): Do not set image by default.
(dealloc): Replace DEVELOPMENT with DEBUG.
(setDelegate:): Use ASSIGN.
(updateIcon): Cleanup.
* Framework/English.lproj/ProjectInspector.gorm: Remove
'Hide on deactivate' attribute to panel. It allows drag&drop
operations for external applications (e.g. Workspace).
* Modules/Projects/Application/PCAppProject.*: Use PCFileNameIcon
in inspector to use drag&drop functionality. Cleanup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27798 72102866-910b-0410-8b05-ffd578937521
* Make modifications to files which use PCPrefController
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27698 72102866-910b-0410-8b05-ffd578937521
* Framework/GNUmakefile: Include PCFileNameField.h and
PCFileNameIcon.h in ProjectCenter_HEADER_FILES as
referenced by PCProjectInspector.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27613 72102866-910b-0410-8b05-ffd578937521
method. Also add it to the launcher dealloc method.
* Headers/ProjectCenter/PCProjectLauncher.h: Add an ivar for the debugger.
* Modules/Debuggers/ProjectCenter/PCDebugger.m: Add dealloc to shut down
the debugger window when it's dealloc.
* Modules/Debuggers/ProjectCenter/PCDebuggerView.m: Don't set status when
terminated, since it causes a crash.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@27445 72102866-910b-0410-8b05-ffd578937521
non-project editors. Use PCEditorManager instead. Remove
PCFileManager's dalegate code(FileManagerDelegates category).
(-newFile): Call PCFileCreator's method newFileInProject:.
* Framework/PCFileManager.[mh]: Move code related to creation of
new file in project from here
* Framework/PCFileCreator.[mh]: to here.
(-createFile): Add additional check before adding file to
project (fixes bug #17493).
* Framework/English.lproj/NewFile.gorm: Set owner to PCFileCreator.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@26024 72102866-910b-0410-8b05-ffd578937521
* Headers/ProjectCenter/PCEditormanager.h: Added.
* PCMenuController.m: (-fileSaveAs:): move code to
PCProjectManager.m.
* Headers/ProjectCenter/PCEditorManager.h: New file.
* Framework/PCEditorManager.m: New file. Superclass for
PCProjectEditor.
* Framework/PCProjectManager.m: Use PCEditorManager.
Implement opening files outside of projects (fixes bug #15992).
* Framework/PCProjectLoadedFiles.m: Use PCEditorManager.
* Framework/PCProject.m: (-setProjectManager:): Use new
method of initializing PCProjectEditor.
* Framework/GNUmakefile: Add PCEditorManager.[hm].
* Framework/PCProjectBrowser.m: Made use of
PCProjectEditor's editorForFile: method.
* Framework/PCProjectEditor.m: Remove initializing of extern
variables (moved into PCEditorManager). Use '_componentView'
var instead of 'componentView'. The same with _scrollView and
_project.
(-initWithProject:): renamed into init. Removed code duplicated
with superclass' code.
(-dealloc): Removed code duplicated with superclass' code.
(-editorForFile🔑): Removed. Code moved into superclass'
editorForFile: method.
(-openEditorForCategoryPath:windowed:): Code that determines
existance of file and if file is plain text move into
[super openEditorForFile:editable:windowed:]. Changed file
opening coditions. Made use of [<CodeEditor> fileStructureItemSelected]
method. Code that determines classes and methods in category path
was removed.
(openEditorForFile:categoryPath:editable:windowed:): Removed in favour
of superclass' method.
(activeEditor): Ditto.
(allEditors): Ditto.
(closeActiveEditor:): Ditto.
(closeEditorForFile:): Ditto.
(saveFile): Ditto.
(saveFileTo:): Ditto.
(revertFileToSaved): Ditto.
(editorDidResignActive:): Ditto.
(editorDidChangeFileName:): Ditto.
(closeAllEditors:): Cleanup.
(saveFileAs:): Made use of new -openEditorForFile:editable:windowed:
method.
* Framework/PCProjectWindow.m: Made usage of editorManager method
of <CodeEditor> protocol.
* Modules/Editors/ProjectCenter/PCEditorView.m:
(becomeFirstResponder): Use new -becomeFirstResponder: method of
PCEditor class.
* Modules/Editors/ProjectCenter/PCEditor.h: Change name of var
projectEditor to _editorManager. Add parameter (PCEditorView *)view
to becomeFistResponder and resignFirstResponder methods. Add some
comments.
* Modules/Editors/ProjectCenter/PCEditor.m: Rename method
-openFileAtPath:categoryPath:projectEditor:editable: to
-openFileAtPath:editorManager:editable. Rename -projectEditor method
to -editorManager. Change becomeFistResponder and resignFirstResponder
methods' definitions.
(fileStructureItemSelected:): Add initial implementation of action
code according to the type of selected item.
* Headers/Protocols/CodeEditor.h: Change definition of
-openFileAtPath:categoryPath:projectEditor:editable: mathod to
-openFileAtPath:editorManager:editable. Remove methods
scrollToClassName: and scrollToMethodName:. Rename projectEditor
method into editorManager.
* Headers/ProjectCenter/PCProjectEditor.h: Made PCProjectEditor
as subclass of PCEditorManager. Add prefix '_' to variables.
(-initWithProject:): renamed into init.
(setProject:): Added.
Removed methods and variables duplicated with superclass.
* Headers/ProjectCenter/PCProjectManager.h: Add editorManager var.
(-saveFileAs:): renamed to saveFileAs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@25991 72102866-910b-0410-8b05-ffd578937521
* Headers/ProjectCenter/PCBundleManager.h: Make massive cleaup.
some methods changed, some deleted, some added.
* Framework/PCProjectManager.m,
* Framework/PCProjectEditor.m: Make use of changed PCBundleManager.
* TextFinder.m:
(-enterSelection:): Add sanity check for text variable.
(-jumpToSelection:): Ditto.
* Modules/Parsers/ProjectCenter/Resources/Info.table: Fix value of
"Name" key.
* Headers/Protocols/CodeEditor.h: Remove declaration of
openExternalEditor:withPath:projectEditor: method. It will be provided
by Custom.editor bundle (will be added soon).
* Headers/ProjectCenter/PCProjectEditor.h: Cleanup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@25504 72102866-910b-0410-8b05-ffd578937521
(-preferencesDidChange:): Show Builder and Launcher panels only
they are visible in project window (fixes bug #20858).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@25423 72102866-910b-0410-8b05-ffd578937521
(-filesForOpenOfType:multiple:title:accView:): Removed
(-fileForSaveOfType:title:accView:): Removed.
(-filesForAddOfTypes:): Removed.
(-filesOfTypes:operation:multiple:title:accView:): Implemented.
Replaces removed methods.
(-_panelForOperation:title:accView:): New method. Returns panel
for specified operation type.
(-_saveLastDirectoryForPanel:): New method. Saves last opened
directory for operation type (panel).
(-panel:isValidFilename:): Validate directory as correct filename
if project is opening and directory has PC.project file.
* Headers/ProjectCenter/PCFileManager.h: Added new variable 'operation'
and declaraion of new mathods.
* Framework/PCProjectManager.m: Use new methods of PCFileManager.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@25422 72102866-910b-0410-8b05-ffd578937521
* Framework/PCProjectr.m: Ditto.
* Framework/PCMakefileFactory.m: Support for root build directory added.
* Framework/PCProjectBuilder.m: Code cleanup.
* Framework/PCProjectEditor.m: Enable usage of parser. Start testing process.
* Framework/PCProjectWindows.m: Enable tooltips for buttons.
* Framework/PCPrefController.m: setRootBuildDir: fix.
* PCAppController.m: applicationWillTerminate: Remove file from build dir on
application quit. This code still needs review (also removed build dir because of
use PCFileManager's method).
* Modules/Editors/ProjectCenter/PCEditor.m: browserItemsForItem: Crashes if file
is not supported by parser. Fixed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@24353 72102866-910b-0410-8b05-ffd578937521