mirror of
https://github.com/gnustep/apps-gorm.git
synced 2025-02-23 19:51:00 +00:00
Improved panel support and some cleanup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@15504 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
99a4624a98
commit
f86a25b225
9 changed files with 162 additions and 23 deletions
18
ChangeLog
18
ChangeLog
|
@ -1,4 +1,20 @@
|
|||
2003-01-03 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
2003-01-05 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* Gorm.m: Cleaned up some NSLog statements.
|
||||
-[Gorm testInterface]: Added call to encode GormNSPanel
|
||||
as NSPanel when testing.
|
||||
* GormDocument.m: -[GormDocument saveDocument]: Added
|
||||
code to encode GormNSPanel as NSPanel.
|
||||
-[GormDocument loadDocument]: Added code to decode NSPanel
|
||||
as GormNSPanel so it can be edited.
|
||||
* Palettes/1Windows/GNUmakefile: Added new files GormNSPanel.[hm].
|
||||
* Palettes/1Windows/GormNSPanel.[hm]: Added.
|
||||
* Palettes/1WIndows/main.m: Modified to use new GormNSPanel
|
||||
class.
|
||||
* Resources/GormPreferences.gorm: Modified to disallow resizing
|
||||
of the panel.
|
||||
|
||||
2003-01-04 Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
|
||||
* Palettes: Replaced all old .gorm/.classes files with
|
||||
.gorm packages.
|
||||
|
|
6
Gorm.m
6
Gorm.m
|
@ -464,10 +464,10 @@ static NSButtonType _buttonTypeForObject( id button )
|
|||
{
|
||||
id obj = nil;
|
||||
NSString *name = [[(Gorm *)NSApp activeDocument] nameForObject: self];
|
||||
NSLog(@"**** NAME: %@ %@",name, self);
|
||||
NSDebugLog(@"**** NAME: %@ %@",name, self);
|
||||
[self setClassName: _parentClassName];
|
||||
obj = RETAIN([self instantiateObject: coder]);
|
||||
NSLog(@"******** OBJECT: %@",obj);
|
||||
NSDebugLog(@"******** OBJECT: %@",obj);
|
||||
return obj;
|
||||
}
|
||||
@end
|
||||
|
@ -1390,6 +1390,8 @@ static NSButtonType _buttonTypeForObject( id button )
|
|||
[a beginArchiving];
|
||||
[archiver encodeClassName: @"GormNSWindow"
|
||||
intoClassName: @"NSWindow"];
|
||||
[archiver encodeClassName: @"GormNSPanel"
|
||||
intoClassName: @"NSPanel"];
|
||||
[archiver encodeClassName: @"GormNSMenu"
|
||||
intoClassName: @"NSMenu"];
|
||||
[archiver encodeClassName: @"GormNSPopUpButton"
|
||||
|
|
|
@ -1301,6 +1301,10 @@ NSString *IBClassNameChangedNotification = @"IBClassNameChangedNotification";
|
|||
{
|
||||
return @"NSWindow";
|
||||
}
|
||||
if ([className isEqualToString: @"GormNSPanel"])
|
||||
{
|
||||
return @"NSPanel";
|
||||
}
|
||||
if ([className isEqualToString: @"GormNSBrowser"])
|
||||
{
|
||||
return @"NSBrowser";
|
||||
|
|
|
@ -1803,6 +1803,7 @@ static NSImage *classesImage = nil;
|
|||
[u decodeClassName: @"GSCustomView" asClassName: @"GormCustomView"];
|
||||
[u decodeClassName: @"NSMenu" asClassName: @"GormNSMenu"];
|
||||
[u decodeClassName: @"NSWindow" asClassName: @"GormNSWindow"];
|
||||
[u decodeClassName: @"NSPanel" asClassName: @"GormNSPanel"];
|
||||
[u decodeClassName: @"NSBrowser" asClassName: @"GormNSBrowser"];
|
||||
[u decodeClassName: @"NSTableView" asClassName: @"GormNSTableView"];
|
||||
[u decodeClassName: @"NSOutlineView" asClassName: @"GormNSOutlineView"];
|
||||
|
@ -2488,6 +2489,8 @@ static NSImage *classesImage = nil;
|
|||
intoClassName: @"NSMenu"];
|
||||
[archiver encodeClassName: @"GormNSWindow"
|
||||
intoClassName: @"NSWindow"];
|
||||
[archiver encodeClassName: @"GormNSPanel"
|
||||
intoClassName: @"NSPanel"];
|
||||
[archiver encodeClassName: @"GormNSBrowser"
|
||||
intoClassName: @"NSBrowser"];
|
||||
[archiver encodeClassName: @"GormNSTableView"
|
||||
|
|
|
@ -25,8 +25,8 @@ include $(GNUSTEP_MAKEFILES)/common.make
|
|||
|
||||
PALETTE_NAME = 1Windows
|
||||
1Windows_PALETTE_ICON = WindowsPalette
|
||||
1Windows_OBJC_FILES = main.m GormNSWindow.m
|
||||
1Windows_HEADER_FILES = GormNSWindow.h
|
||||
1Windows_OBJC_FILES = main.m GormNSWindow.m GormNSPanel.m
|
||||
1Windows_HEADER_FILES = GormNSWindow.h GormNSPanel.h
|
||||
1Windows_PRINCIPAL_CLASS = WindowsPalette
|
||||
1Windows_RESOURCE_FILES = WindowsPalette.tiff WindowDrag.tiff \
|
||||
GormNSWindowSizeInspector.gorm \
|
||||
|
|
34
Palettes/1Windows/GormNSPanel.h
Normal file
34
Palettes/1Windows/GormNSPanel.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/* GormNSPanel.h
|
||||
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
|
||||
Author: Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
Date: 2003
|
||||
Adapted from GormNSWindow.h
|
||||
|
||||
This file is part of GNUstep.
|
||||
|
||||
This program 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 program 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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#import <AppKit/AppKit.h>
|
||||
|
||||
@interface GormNSPanel : NSPanel
|
||||
{
|
||||
unsigned _gormStyleMask;
|
||||
}
|
||||
- (void)setStyleMask: (unsigned) newStyleMask;
|
||||
- (unsigned)styleMask;
|
||||
@end
|
63
Palettes/1Windows/GormNSPanel.m
Normal file
63
Palettes/1Windows/GormNSPanel.m
Normal file
|
@ -0,0 +1,63 @@
|
|||
/* GormNSPanel.m
|
||||
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
|
||||
Author: Gregory John Casamento <greg_casamento@yahoo.com>
|
||||
Date: 2003
|
||||
Adapted from GormNSWindow.m
|
||||
|
||||
This file is part of GNUstep.
|
||||
|
||||
This program 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 program 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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#import <AppKit/AppKit.h>
|
||||
#import "GormNSPanel.h"
|
||||
|
||||
|
||||
@implementation GormNSPanel
|
||||
- (void)encodeWithCoder: (NSCoder*) aCoder
|
||||
{
|
||||
unsigned oldStyleMask;
|
||||
oldStyleMask = _styleMask;
|
||||
_styleMask = _gormStyleMask;
|
||||
[super encodeWithCoder: aCoder];
|
||||
_styleMask = oldStyleMask;
|
||||
}
|
||||
|
||||
- (id) initWithContentRect: (NSRect)contentRect
|
||||
styleMask: (unsigned int)aStyle
|
||||
backing: (NSBackingStoreType)bufferingType
|
||||
defer: (BOOL)flag
|
||||
screen: (NSScreen*)aScreen
|
||||
{
|
||||
_gormStyleMask = aStyle;
|
||||
return [super initWithContentRect: contentRect
|
||||
styleMask: NSTitledWindowMask | NSClosableWindowMask
|
||||
backing: bufferingType
|
||||
defer: flag
|
||||
screen: aScreen];
|
||||
}
|
||||
|
||||
- (void)setStyleMask: (unsigned) newStyleMask
|
||||
{
|
||||
_gormStyleMask = newStyleMask;
|
||||
}
|
||||
|
||||
- (unsigned)styleMask
|
||||
{
|
||||
return _gormStyleMask;
|
||||
}
|
||||
@end
|
|
@ -25,6 +25,7 @@
|
|||
#include <AppKit/AppKit.h>
|
||||
#include "../../GormPrivate.h"
|
||||
#include "GormNSWindow.h"
|
||||
#include "GormNSPanel.h"
|
||||
|
||||
@interface GormWindowMaker : NSObject <NSCoding>
|
||||
{
|
||||
|
@ -72,16 +73,14 @@
|
|||
- (id) initWithCoder: (NSCoder*)aCoder
|
||||
{
|
||||
id w;
|
||||
unsigned style = NSTitledWindowMask | NSClosableWindowMask
|
||||
| NSResizableWindowMask | NSMiniaturizableWindowMask;
|
||||
unsigned style = NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask;
|
||||
NSRect screenRect = [[NSScreen mainScreen] frame];
|
||||
float
|
||||
x = (screenRect.size.width - 500)/2,
|
||||
y = (screenRect.size.height - 300)/2;
|
||||
NSRect windowRect = NSMakeRect(x,y,500,300);
|
||||
|
||||
// NSLog(@"Making panel %@",NSStringFromRect(windowRect));
|
||||
w = [[NSPanel alloc] initWithContentRect: windowRect
|
||||
w = [[GormNSPanel alloc] initWithContentRect: windowRect
|
||||
styleMask: style
|
||||
backing: NSBackingStoreRetained
|
||||
defer: NO];
|
||||
|
@ -166,7 +165,7 @@ NSwindow inspector
|
|||
}
|
||||
@end
|
||||
|
||||
@implementation NSPanel (IBInspectorClassNames)
|
||||
@implementation GormNSPanel (IBInspectorClassNames)
|
||||
- (NSString*) inspectorClassName
|
||||
{
|
||||
return @"GormWindowAttributesInspector";
|
||||
|
@ -242,7 +241,7 @@ NSwindow inspector
|
|||
}
|
||||
|
||||
// Deferred
|
||||
// FIXME: This flag is not a WIndow property. Like Visible at launch time
|
||||
// FIXME: This flag is not a Window property. Like Visible at launch time
|
||||
// it should be stored in the Nib File and used at the Window creation time
|
||||
// but I do not know how to do that
|
||||
flag = ([[control cellAtRow: 3 column: 0] state] == NSOnState) ? YES : NO;
|
||||
|
@ -260,7 +259,6 @@ NSwindow inspector
|
|||
// FIXME: probably means window depth > 2 bits per pixel but don't know
|
||||
// exactly what NSWindow method to use to enforce that.
|
||||
flag = ([[control cellAtRow: 6 column: 0] state] == NSOnState) ? YES : NO;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -306,6 +304,22 @@ NSwindow inspector
|
|||
|
||||
}
|
||||
|
||||
- (void) _validate: (id)anObject
|
||||
{
|
||||
id cell = [controlMatrix cellAtRow: 0 column: 0];
|
||||
// Assumed to be the "miniaturize" cell.
|
||||
// panels should not be allowed to miniaturize the app.
|
||||
|
||||
if([anObject isKindOfClass: [NSPanel class]])
|
||||
{
|
||||
[cell setEnabled: NO];
|
||||
}
|
||||
else
|
||||
{
|
||||
[cell setEnabled: YES];
|
||||
}
|
||||
}
|
||||
|
||||
- (id) init
|
||||
{
|
||||
if ([super init] == nil)
|
||||
|
@ -326,7 +340,10 @@ NSwindow inspector
|
|||
|
||||
- (void) setObject: (id)anObject
|
||||
{
|
||||
// Need to do something here to disable certain portions of
|
||||
// the inspector if the object being edited is an NSPanel.
|
||||
[super setObject: anObject];
|
||||
// [self _validate: anObject];
|
||||
[self _getValuesFromObject: anObject];
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Loading…
Reference in a new issue