Adding patch supplied by Fabien Vallon

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@16705 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Gregory John Casamento 2003-05-13 04:10:12 +00:00
parent dfa2cef136
commit b5f14f087d
14 changed files with 603 additions and 29 deletions

View file

@ -1,3 +1,17 @@
2003-05-10 Gregory John Casamento <greg_casamento@yahoo.com>
Applied patch submitted by Fabien <fabien@tuxfamily.org>
* GNUmakefile: Added .gorm files and new .h and .m files.
* Gorm.m/GormPrivate.h: Removed code to automatically
update the preferences values. Removed references to
preferencesPanel and added the new GormController class.
* GormPreferences.gorm: Updated for new preferences.
* GormGeneralPref.gorm: Added. I updated this only slightly to
avoid a warning against NSWindow. (GJC)
* GormHeadersPref.gorm: Added.
* GormGeneralPref.[hm]: Added.
* GormHeafersPref.[hm]: Added.
2003-05-10 Gregory John Casamento <greg_casamento@yahoo.com>
* GormViewWithContentViewEditor.m: The copyInView method was

View file

@ -114,6 +114,8 @@ Gorm_RESOURCE_FILES = \
Resources/GormCustomClassInspector.gorm \
Resources/GormSoundInspector.gorm \
Resources/GormPreferences.gorm \
Resources/GormPrefHeaders.gorm \
Resources/GormPrefGeneral.gorm \
Resources/Gorm.gorm
Gorm_HEADERS = \
@ -139,7 +141,10 @@ Gorm_HEADERS = \
GormTabViewEditor.h \
GormSplitViewEditor.h \
GormPlacementInfo.h \
GormPreferences.h
GormPrefController.h\
GormHeadersPref.h \
GormGeneralPref.h
Gorm_OBJC_FILES = \
Gorm.m \
@ -175,7 +180,10 @@ Gorm_OBJC_FILES = \
GormScrollViewEditor.m \
GormImageEditor.m \
GormSoundEditor.m \
GormPreferences.m
GormPrefController.m \
GormHeadersPref.m\
GormGeneralPref.m
-include GNUmakefile.preamble

24
Gorm.m
View file

@ -23,7 +23,7 @@
*/
#include "GormPrivate.h"
#include "GormPreferences.h"
#include "GormPrefController.h"
// for templates...
#include <AppKit/NSControl.h>
@ -575,12 +575,12 @@ static NSButtonType _buttonTypeForObject( id button )
- (void) applicationWillTerminate: (NSApplication*)sender
{
[[NSUserDefaults standardUserDefaults]
setBool: [[[self inspectorsManager] panel] isVisible]
forKey: @"ShowInspectors"];
[[NSUserDefaults standardUserDefaults]
setBool: [[[self palettesManager] panel] isVisible]
forKey: @"ShowPalettes"];
// [[NSUserDefaults standardUserDefaults]
// setBool: [[[self inspectorsManager] panel] isVisible]
// forKey: @"ShowInspectors"];
// [[NSUserDefaults standardUserDefaults]
// setBool: [[[self palettesManager] panel] isVisible]
// forKey: @"ShowPalettes"];
}
- (BOOL) applicationShouldTerminate: (NSApplication*)sender
@ -1038,15 +1038,14 @@ static NSButtonType _buttonTypeForObject( id button )
return self;
}
- (id) preferencesPanel: (id) sender
- (void) preferencesPanel: (id) sender
{
if(preferencesPanel == nil)
if(! preferencesController)
{
preferencesPanel = [[[GormPreferences alloc] init] window];
preferencesController = [[GormPrefController alloc] initWithWindowNibName:@"GormPreferences"];
}
[preferencesPanel makeKeyAndOrderFront: self];
return preferencesPanel;
[[preferencesController window] makeKeyAndOrderFront:nil];
}
- (void) orderFrontFontPanel: (id) sender
@ -1070,7 +1069,6 @@ static NSButtonType _buttonTypeForObject( id button )
path = [bundle pathForImageResource: @"GormTargetTag"];
targetImage = [[NSImage alloc] initWithContentsOfFile: path];
preferencesPanel = nil;
documents = [NSMutableArray new];
[nc addObserver: self
selector: @selector(handleNotification:)

24
GormGeneralPref.h Normal file
View file

@ -0,0 +1,24 @@
#ifndef INCLUDED_GormGeneralPref_h
#define INCLUDED_GormGeneralPref_h
#include <Foundation/NSObject.h>
#include <AppKit/NSView.h>
@interface GormGeneralPref : NSObject
{
id window;
id backupButton;
id inspectorButton;
id palettesButton;
id _view;
}
- (NSView *) view;
- (void) palettesAction: (id)sender;
- (void) inspectorAction: (id)sender;
- (void) backupAction: (id)sender;
@end
#endif

91
GormGeneralPref.m Normal file
View file

@ -0,0 +1,91 @@
#include "GormGeneralPref.h"
#include <Foundation/NSUserDefaults.h>
#include <AppKit/NSButtonCell.h>
#include <AppKit/NSNibLoading.h>
#include <AppKit/NSWindow.h>
static NSString *SHOWPALETTES=@"ShowPalettes";
static NSString *SHOWINSPECTOR=@"ShowInspectors";
static NSString *BACKUPFILE=@"BackupFile";
@implementation GormGeneralPref
- (id) init
{
_view = nil;
self = [super init];
if ( ! [NSBundle loadNibNamed:@"GormPrefGeneral" owner:self] )
{
NSLog(@"Can not load bundle GormPrefGeneral");
return nil;
}
_view = [[window contentView] retain];
//Defaults
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[inspectorButton setState: [defaults integerForKey: SHOWINSPECTOR]];
[palettesButton setState:[ defaults integerForKey: SHOWPALETTES]];
[backupButton setState:[ defaults integerForKey: BACKUPFILE]];
}
return self;
}
- (void) dealloc
{
TEST_RELEASE(_view);
[super dealloc];
}
- (NSView *) view
{
return _view;
}
/* IBActions */
- (void) palettesAction: (id)sender
{
if (sender != palettesButton)
return;
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:[palettesButton state] forKey:SHOWPALETTES];
[defaults synchronize];
}
}
- (void) inspectorAction: (id)sender
{
if (sender != inspectorButton)
return;
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:[inspectorButton state] forKey:SHOWINSPECTOR];
[defaults synchronize];
}
}
- (void) backupAction: (id)sender
{
if (sender != backupButton)
return;
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:[backupButton state] forKey:BACKUPFILE];
[defaults synchronize];
}
}
@end

26
GormHeadersPref.h Normal file
View file

@ -0,0 +1,26 @@
#ifndef INCLUDED_GormHeadersPref_h
#define INCLUDED_GormHeadersPref_h
#include <Foundation/NSObject.h>
#include <Foundation/NSArray.h>
#include <AppKit/NSView.h>
@interface GormHeadersPref : NSObject
{
id preloadButton;
id browser;
id addButton;
id removeButton;
id window;
id _view;
NSMutableArray *headers;
}
- (NSView *) view;
- (void) addAction: (id)sender;
- (void) removeAction: (id)sender;
- (void) preloadAction: (id)sender;
@end
#endif

101
GormHeadersPref.m Normal file
View file

@ -0,0 +1,101 @@
#include "GormHeadersPref.h"
#include <Foundation/NSUserDefaults.h>
#include <AppKit/NSButton.h>
#include <AppKit/NSBrowser.h>
#include <AppKit/NSWindow.h>
#include <AppKit/NSNibLoading.h>
#include <AppKit/NSOpenPanel.h>
@implementation GormHeadersPref
- (id) init
{
_view = nil;
self = [super init];
if ( ! [NSBundle loadNibNamed:@"GormPrefHeaders" owner:self] )
{
NSLog(@"Can not load bundle GormPrefHeaders");
return nil;
}
_view = [[window contentView] retain];
return self;
}
- (void) dealloc
{
TEST_RELEASE(_view);
[super dealloc];
}
-(NSView *) view
{
return _view;
}
- (void) addAction: (id)sender
{
NSArray *fileTypes = [NSArray arrayWithObjects: @"h", @"H", nil];
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
int result;
[openPanel setAllowsMultipleSelection: YES];
[openPanel setCanChooseFiles: YES];
[openPanel setCanChooseDirectories: NO];
result = [openPanel runModalForDirectory: nil
file: nil
types: fileTypes];
if (result == NSOKButton)
{
[headers addObjectsFromArray: [openPanel filenames]];
[browser reloadColumn: 0];
}
}
- (void) removeAction: (id)sender
{
NSCell *cell = [browser selectedCellInColumn: 0];
if(cell != nil)
{
NSString *stringValue = [NSString stringWithString: [cell stringValue]];
[headers removeObject: stringValue];
[browser reloadColumn: 0];
NSLog(@"Header removed");
}
}
- (void) preloadAction: (id)sender
{
if (sender != preloadButton)
return;
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setInteger:[preloadButton state] forKey:@"BACKUPFILE"];
[defaults synchronize];
if ( [preloadButton state] == NSOnState )
{
[addButton setEnabled:YES];
[removeButton setEnabled: YES];
}
else
{
[addButton setEnabled:NO];
[removeButton setEnabled:NO];
}
}
}
@end

View file

@ -104,7 +104,7 @@ extern NSString *GormLinkPboardType;
@interface Gorm : NSApplication <IB>
{
id infoPanel;
id preferencesPanel;
id preferencesController;
GormClassManager *classManager;
GormInspectorsManager *inspectorsManager;
GormPalettesManager *palettesManager;
@ -142,7 +142,7 @@ extern NSString *GormLinkPboardType;
- (id) delete: (id)sender;
- (id) endTesting: (id)sender;
- (id) infoPanel: (id) sender;
- (id) preferencesPanel: (id) sender;
- (void) preferencesPanel: (id) sender;
- (id) inspector: (id) sender;
- (id) newApplication: (id) sender;
- (id) loadPalette: (id) sender;

View file

@ -0,0 +1,159 @@
{
FirstResponder = {
Actions = (
"activateContextHelpMode:",
"alignCenter:",
"alignJustified:",
"alignLeft:",
"alignRight:",
"arrangeInFront:",
"cancel:",
"capitalizeWord:",
"changeColor:",
"changeFont:",
"checkSpelling:",
"close:",
"complete:",
"copy:",
"copyFont:",
"copyRuler:",
"cut:",
"delete:",
"deleteBackward:",
"deleteForward:",
"deleteToBeginningOfLine:",
"deleteToBeginningOfParagraph:",
"deleteToEndOfLine:",
"deleteToEndOfParagraph:",
"deleteToMark:",
"deleteWordBackward:",
"deleteWordForward:",
"deminiaturize:",
"deselectAll:",
"fax:",
"hide:",
"hideOtherApplications:",
"indent:",
"loosenKerning:",
"lowerBaseline:",
"lowercaseWord:",
"makeKeyAndOrderFront:",
"miniaturize:",
"miniaturizeAll:",
"moveBackward:",
"moveBackwardAndModifySelection:",
"moveDown:",
"moveDownAndModifySelection:",
"moveForward:",
"moveForwardAndModifySelection:",
"moveLeft:",
"moveRight:",
"moveToBeginningOfDocument:",
"moveToBeginningOfLine:",
"moveToBeginningOfParagraph:",
"moveToEndOfDocument:",
"moveToEndOfLine:",
"moveToEndOfParagraph:",
"moveUp:",
"moveUpAndModifySelection:",
"moveWordBackward:",
"moveWordBackwardAndModifySelection:",
"moveWordForward:",
"moveWordForwardAndModifySelection:",
"newDocument:",
"ok:",
"openDocument:",
"orderBack:",
"orderFront:",
"orderFrontColorPanel:",
"orderFrontDataLinkPanel:",
"orderFrontFontPanel:",
"orderFrontHelpPanel:",
"orderFrontStandardAboutPanel:",
"orderFrontStandardInfoPanel:",
"orderOut:",
"pageDown:",
"pageUp:",
"paste:",
"pasteAsPlainText:",
"pasteAsRichText:",
"pasteFont:",
"pasteRuler:",
"performClose:",
"performMiniaturize:",
"performZoom:",
"print:",
"raiseBaseline:",
"revertDocumentToSaved:",
"runPageLayout:",
"runToolbarCustomizationPalette:",
"saveAllDocuments:",
"saveDocument:",
"saveDocumentAs:",
"saveDocumentTo:",
"scrollLineDown:",
"scrollLineUp:",
"scrollPageDown:",
"scrollPageUp:",
"scrollViaScroller:",
"selectAll:",
"selectLine:",
"selectNextKeyView:",
"selectParagraph:",
"selectPreviousKeyView:",
"selectText:",
"selectText:",
"selectToMark:",
"selectWord:",
"showContextHelp:",
"showGuessPanel:",
"showHelp:",
"showWindow:",
"stop:",
"subscript:",
"superscript:",
"swapWithMark:",
"takeDoubleValueFrom:",
"takeFloatValueFrom:",
"takeIntValueFrom:",
"takeObjectValueFrom:",
"takeStringValueFrom:",
"terminate:",
"tightenKerning:",
"toggle:",
"toggleContinuousSpellChecking:",
"toggleRuler:",
"toggleToolbarShown:",
"toggleTraditionalCharacterShape:",
"transpose:",
"transposeWords:",
"turnOffKerning:",
"turnOffLigatures:",
"underline:",
"unhide:",
"unhideAllApplications:",
"unscript:",
"uppercaseWord:",
"useAllLigatures:",
"useStandardKerning:",
"useStandardLigatures:",
"yank:",
"zoom:"
);
Super = NSObject;
};
GormGeneralPref = {
Actions = (
"palettesAction:",
"inspectorAction:",
"backupAction:"
);
Outlets = (
window,
palettesButton,
inspectorButton,
backupButton
);
Super = NSObject;
};
}

Binary file not shown.

View file

@ -0,0 +1,160 @@
{
FirstResponder = {
Actions = (
"activateContextHelpMode:",
"alignCenter:",
"alignJustified:",
"alignLeft:",
"alignRight:",
"arrangeInFront:",
"cancel:",
"capitalizeWord:",
"changeColor:",
"changeFont:",
"checkSpelling:",
"close:",
"complete:",
"copy:",
"copyFont:",
"copyRuler:",
"cut:",
"delete:",
"deleteBackward:",
"deleteForward:",
"deleteToBeginningOfLine:",
"deleteToBeginningOfParagraph:",
"deleteToEndOfLine:",
"deleteToEndOfParagraph:",
"deleteToMark:",
"deleteWordBackward:",
"deleteWordForward:",
"deminiaturize:",
"deselectAll:",
"fax:",
"hide:",
"hideOtherApplications:",
"indent:",
"loosenKerning:",
"lowerBaseline:",
"lowercaseWord:",
"makeKeyAndOrderFront:",
"miniaturize:",
"miniaturizeAll:",
"moveBackward:",
"moveBackwardAndModifySelection:",
"moveDown:",
"moveDownAndModifySelection:",
"moveForward:",
"moveForwardAndModifySelection:",
"moveLeft:",
"moveRight:",
"moveToBeginningOfDocument:",
"moveToBeginningOfLine:",
"moveToBeginningOfParagraph:",
"moveToEndOfDocument:",
"moveToEndOfLine:",
"moveToEndOfParagraph:",
"moveUp:",
"moveUpAndModifySelection:",
"moveWordBackward:",
"moveWordBackwardAndModifySelection:",
"moveWordForward:",
"moveWordForwardAndModifySelection:",
"newDocument:",
"ok:",
"openDocument:",
"orderBack:",
"orderFront:",
"orderFrontColorPanel:",
"orderFrontDataLinkPanel:",
"orderFrontFontPanel:",
"orderFrontHelpPanel:",
"orderFrontStandardAboutPanel:",
"orderFrontStandardInfoPanel:",
"orderOut:",
"pageDown:",
"pageUp:",
"paste:",
"pasteAsPlainText:",
"pasteAsRichText:",
"pasteFont:",
"pasteRuler:",
"performClose:",
"performMiniaturize:",
"performZoom:",
"print:",
"raiseBaseline:",
"revertDocumentToSaved:",
"runPageLayout:",
"runToolbarCustomizationPalette:",
"saveAllDocuments:",
"saveDocument:",
"saveDocumentAs:",
"saveDocumentTo:",
"scrollLineDown:",
"scrollLineUp:",
"scrollPageDown:",
"scrollPageUp:",
"scrollViaScroller:",
"selectAll:",
"selectLine:",
"selectNextKeyView:",
"selectParagraph:",
"selectPreviousKeyView:",
"selectText:",
"selectText:",
"selectToMark:",
"selectWord:",
"showContextHelp:",
"showGuessPanel:",
"showHelp:",
"showWindow:",
"stop:",
"subscript:",
"superscript:",
"swapWithMark:",
"takeDoubleValueFrom:",
"takeFloatValueFrom:",
"takeIntValueFrom:",
"takeObjectValueFrom:",
"takeStringValueFrom:",
"terminate:",
"tightenKerning:",
"toggle:",
"toggleContinuousSpellChecking:",
"toggleRuler:",
"toggleToolbarShown:",
"toggleTraditionalCharacterShape:",
"transpose:",
"transposeWords:",
"turnOffKerning:",
"turnOffLigatures:",
"underline:",
"unhide:",
"unhideAllApplications:",
"unscript:",
"uppercaseWord:",
"useAllLigatures:",
"useStandardKerning:",
"useStandardLigatures:",
"yank:",
"zoom:"
);
Super = NSObject;
};
GormHeadersPref = {
Actions = (
"addAction:",
"removeAction:",
"preloadAction:"
);
Outlets = (
preloadButton,
browser,
addButton,
removeButton,
window
);
Super = NSObject;
};
}

Binary file not shown.

View file

@ -141,21 +141,14 @@
);
Super = NSObject;
};
GormPreferences = {
GormPrefController = {
Actions = (
"setGeneralPreferences:",
"addHeader:",
"removeHeader:",
"selectHeader:"
"popupAction:"
);
Outlets = (
window,
box,
preloadHeaders,
showInspectors,
showPalettes,
browser
popup,
prefBox
);
Super = NSObject;
Super = NSWindowController;
};
}