mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-31 22:40:48 +00:00
Added patches
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@3968 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
eacc77dd95
commit
1ffeed382e
5 changed files with 303 additions and 49 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
Wed Mar 24 08:23:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||||
|
|
||||||
|
Incorporated patches by Benhur-de-Oliveira.Stein@imag.fr
|
||||||
|
* Model/GMAppKit.m: various fixes.
|
||||||
|
* Model/GMArchiver.m: various fixes.
|
||||||
|
* Model/IMCustomObject.m: various fixes.
|
||||||
|
* Model/IMLoading.m: various fixes.
|
||||||
|
|
||||||
Tue Mar 23 22:00:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
Tue Mar 23 22:00:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||||
|
|
||||||
* Source/NSWindow.m: Tidied up and added ([-setResizeIncrements:])
|
* Source/NSWindow.m: Tidied up and added ([-setResizeIncrements:])
|
||||||
|
|
307
Model/GMAppKit.m
307
Model/GMAppKit.m
|
@ -144,8 +144,8 @@ void __dummy_GMAppKit_functionForLinking() {}
|
||||||
float delay, interval;
|
float delay, interval;
|
||||||
id theCell = [self cell];
|
id theCell = [self cell];
|
||||||
|
|
||||||
[self getPeriodicDelay:&delay interval:&interval];
|
|
||||||
[archiver encodeInt:[self state] withName:@"state"];
|
[archiver encodeInt:[self state] withName:@"state"];
|
||||||
|
[self getPeriodicDelay:&delay interval:&interval];
|
||||||
[archiver encodeFloat:delay withName:@"delay"];
|
[archiver encodeFloat:delay withName:@"delay"];
|
||||||
[archiver encodeFloat:interval withName:@"interval"];
|
[archiver encodeFloat:interval withName:@"interval"];
|
||||||
[archiver encodeString:[self title] withName:@"title"];
|
[archiver encodeString:[self title] withName:@"title"];
|
||||||
|
@ -196,22 +196,254 @@ void __dummy_GMAppKit_functionForLinking() {}
|
||||||
|
|
||||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||||
{
|
{
|
||||||
[archiver encodeObject:[self font] withName:@"font"];
|
[archiver encodeInt:[self type] withName:@"type"];
|
||||||
|
[archiver encodeObject:[self font] withName:@"font"];
|
||||||
|
[archiver encodeString:[self stringValue] withName:@"stringValue"];
|
||||||
|
[archiver encodeInt:[self entryType] withName:@"entryType"];
|
||||||
|
[archiver encodeInt:[self alignment] withName:@"alignment"];
|
||||||
|
[archiver encodeBOOL:[self wraps] withName:@"wraps"];
|
||||||
|
[archiver encodeObject:[self image] withName:@"image"];
|
||||||
|
[archiver encodeInt:[self state] withName:@"state"];
|
||||||
|
[archiver encodeBOOL:[self isEnabled] withName:@"isEnabled"];
|
||||||
|
[archiver encodeBOOL:[self isBordered] withName:@"isBordered"];
|
||||||
|
[archiver encodeBOOL:[self isBezeled] withName:@"isBezeled"];
|
||||||
|
[archiver encodeBOOL:[self isEditable] withName:@"isEditable"];
|
||||||
|
[archiver encodeBOOL:[self isSelectable] withName:@"isSelectable"];
|
||||||
|
[archiver encodeBOOL:[self isScrollable] withName:@"isScrollable"];
|
||||||
|
[archiver encodeBOOL:[self isContinuous] withName:@"isContinuous"];
|
||||||
|
[archiver encodeInt:[self sendActionOn:0] withName:@"sendActionMask"];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||||
{
|
{
|
||||||
NSFont* font = [unarchiver decodeObjectWithName:@"font"];
|
NSFont* font = [unarchiver decodeObjectWithName:@"font"];
|
||||||
if (!font)
|
if (!font)
|
||||||
font = [NSFont userFontOfSize:0];
|
font = [NSFont userFontOfSize:0];
|
||||||
|
|
||||||
[self setFont:font];
|
[self setFont:font];
|
||||||
return self;
|
|
||||||
|
// if (model_version >= 2) {
|
||||||
|
[self setType:[unarchiver decodeIntWithName:@"type"]];
|
||||||
|
[self setStringValue:[unarchiver decodeStringWithName:@"stringValue"]];
|
||||||
|
[self setEntryType:[unarchiver decodeIntWithName:@"entryType"]];
|
||||||
|
[self setAlignment:[unarchiver decodeIntWithName:@"alignment"]];
|
||||||
|
[self setWraps:[unarchiver decodeBOOLWithName:@"wraps"]];
|
||||||
|
[self setImage:[unarchiver decodeObjectWithName:@"image"]];
|
||||||
|
[self setState:[unarchiver decodeIntWithName:@"state"]];
|
||||||
|
[self setEnabled:[unarchiver decodeBOOLWithName:@"isEnabled"]];
|
||||||
|
[self setBordered:[unarchiver decodeBOOLWithName:@"isBordered"]];
|
||||||
|
[self setBezeled:[unarchiver decodeBOOLWithName:@"isBezeled"]];
|
||||||
|
[self setEditable:[unarchiver decodeBOOLWithName:@"isEditable"]];
|
||||||
|
[self setSelectable:[unarchiver decodeBOOLWithName:@"isSelectable"]];
|
||||||
|
[self setScrollable:[unarchiver decodeBOOLWithName:@"isScrollable"]];
|
||||||
|
[self setContinuous:[unarchiver decodeBOOLWithName:@"isContinuous"]];
|
||||||
|
[self sendActionOn:[unarchiver decodeIntWithName:@"sendActionMask"]];
|
||||||
|
// }
|
||||||
|
|
||||||
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
@end /* NSCell (GMArchiverMethods) */
|
@end /* NSCell (GMArchiverMethods) */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@implementation NSActionCell (GMArchiverMethods)
|
||||||
|
|
||||||
|
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||||
|
{
|
||||||
|
[super encodeWithModelArchiver:archiver];
|
||||||
|
|
||||||
|
[archiver encodeInt:[self tag] withName:@"tag"];
|
||||||
|
[archiver encodeObject:[self target] withName:@"target"];
|
||||||
|
[archiver encodeSelector:[self action] withName:@"action"];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||||
|
{
|
||||||
|
self = [super initWithModelUnarchiver:unarchiver];
|
||||||
|
|
||||||
|
// if (model_version >= 2) {
|
||||||
|
[self setTag:[unarchiver decodeIntWithName:@"tag"]];
|
||||||
|
[self setTarget:[unarchiver decodeObjectWithName:@"target"]];
|
||||||
|
[self setAction:[unarchiver decodeSelectorWithName:@"action"]];
|
||||||
|
// }
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end /* NSActionCell (GMArchiverMethods) */
|
||||||
|
|
||||||
|
|
||||||
|
@implementation NSButtonCell (GMArchiverMethods)
|
||||||
|
|
||||||
|
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||||
|
{
|
||||||
|
float delay, interval;
|
||||||
|
|
||||||
|
[super encodeWithModelArchiver:archiver];
|
||||||
|
|
||||||
|
[self getPeriodicDelay:&delay interval:&interval];
|
||||||
|
[archiver encodeFloat:delay withName:@"delay"];
|
||||||
|
[archiver encodeFloat:interval withName:@"interval"];
|
||||||
|
[archiver encodeString:[self alternateTitle] withName:@"alternateTitle"];
|
||||||
|
[archiver encodeObject:[self alternateImage] withName:@"alternateImage"];
|
||||||
|
[archiver encodeInt:[self imagePosition] withName:@"imagePosition"];
|
||||||
|
[archiver encodeBOOL:[self isTransparent] withName:@"isTransparent"];
|
||||||
|
[archiver encodeString:[self keyEquivalent] withName:@"keyEquivalent"];
|
||||||
|
[archiver encodeObject:[self keyEquivalentFont] withName:@"keyEquivalentFont"];
|
||||||
|
[archiver encodeInt:[self keyEquivalentModifierMask] withName:@"keyEquivalentModifierMask"];
|
||||||
|
[archiver encodeInt:[self highlightsBy] withName:@"highlightsBy"];
|
||||||
|
[archiver encodeInt:[self showsStateBy] withName:@"showsStateBy"];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||||
|
{
|
||||||
|
float delay, interval;
|
||||||
|
id obj;
|
||||||
|
|
||||||
|
self = [super initWithModelUnarchiver:unarchiver];
|
||||||
|
|
||||||
|
// if (model_version >= 2) {
|
||||||
|
delay = [unarchiver decodeFloatWithName:@"delay"];
|
||||||
|
interval = [unarchiver decodeFloatWithName:@"interval"];
|
||||||
|
[self setPeriodicDelay:delay interval:interval];
|
||||||
|
|
||||||
|
obj = [unarchiver decodeStringWithName:@"alternateTitle"];
|
||||||
|
if (obj) [self setAlternateTitle:obj];
|
||||||
|
obj = [unarchiver decodeObjectWithName:@"alternateImage"];
|
||||||
|
[self setAlternateImage:obj];
|
||||||
|
[self setImagePosition:[unarchiver decodeIntWithName:@"imagePosition"]];
|
||||||
|
[self setTransparent:[unarchiver decodeBOOLWithName:@"isTransparent"]];
|
||||||
|
[self setKeyEquivalent:[unarchiver decodeStringWithName:@"keyEquivalent"]];
|
||||||
|
[self setKeyEquivalentFont:[unarchiver decodeObjectWithName:@"keyEquivalentFont"]];
|
||||||
|
[self setKeyEquivalentModifierMask:[unarchiver decodeIntWithName:@"keyEquivalentModifierMask"]];
|
||||||
|
[self setHighlightsBy:[unarchiver decodeIntWithName:@"highlightsBy"]];
|
||||||
|
[self setShowsStateBy:[unarchiver decodeIntWithName:@"showsStateBy"]];
|
||||||
|
// }
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end /* NSButtonCell (GMArchiverMethods) */
|
||||||
|
|
||||||
|
|
||||||
|
@implementation NSMatrix (GMArchiverMethods)
|
||||||
|
|
||||||
|
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||||
|
{
|
||||||
|
[super encodeWithModelArchiver:archiver];
|
||||||
|
|
||||||
|
[archiver encodeInt:[self mode] withName:@"mode"];
|
||||||
|
[archiver encodeBOOL:[self allowsEmptySelection] withName:@"allowsEmptySelection"];
|
||||||
|
[archiver encodeBOOL:[self isSelectionByRect] withName:@"isSelectionByRect"];
|
||||||
|
|
||||||
|
[archiver encodeBOOL:[self autosizesCells] withName:@"autosizesCells"];
|
||||||
|
[archiver encodeBOOL:[self isAutoscroll] withName:@"isAutoscroll"];
|
||||||
|
[archiver encodeSize:[self cellSize] withName:@"cellSize"];
|
||||||
|
[archiver encodeSize:[self intercellSpacing] withName:@"intercellSpacing"];
|
||||||
|
[archiver encodeObject:[self backgroundColor] withName:@"backgroundColor"];
|
||||||
|
[archiver encodeObject:[self cellBackgroundColor] withName:@"cellBackgroundColor"];
|
||||||
|
[archiver encodeBOOL:[self drawsBackground] withName:@"drawsBackground"];
|
||||||
|
[archiver encodeBOOL:[self drawsCellBackground] withName:@"drawsCellBackground"];
|
||||||
|
|
||||||
|
[archiver encodeClass:[self cellClass] withName:@"cellClass"];
|
||||||
|
[archiver encodeObject:[self prototype] withName:@"prototype"];
|
||||||
|
[archiver encodeInt:[self numberOfRows] withName:@"numberOfRows"];
|
||||||
|
[archiver encodeInt:[self numberOfColumns] withName:@"numberOfColumns"];
|
||||||
|
[archiver encodeObject:[self cells] withName:@"cells"];
|
||||||
|
[archiver encodeObject:[self delegate] withName:@"delegate"];
|
||||||
|
|
||||||
|
[archiver encodeObject:[self target] withName:@"target"];
|
||||||
|
[archiver encodeSelector:[self action] withName:@"action"];
|
||||||
|
[archiver encodeSelector:[self doubleAction] withName:@"doubleAction"];
|
||||||
|
[archiver encodeSelector:[self errorAction] withName:@"errorAction"];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||||
|
{
|
||||||
|
int nr, nc;
|
||||||
|
NSArray *cell_array;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
self = [super initWithModelUnarchiver:unarchiver];
|
||||||
|
|
||||||
|
// if (model_version >= 2) {
|
||||||
|
[self setMode:[unarchiver decodeIntWithName:@"mode"]];
|
||||||
|
[self setAllowsEmptySelection:[unarchiver decodeBOOLWithName:@"allowsEmptySelection"]];
|
||||||
|
[self setSelectionByRect:[unarchiver decodeBOOLWithName:@"isSelectionByRect"]];
|
||||||
|
|
||||||
|
[self setAutosizesCells:[unarchiver decodeBOOLWithName:@"autosizesCells"]];
|
||||||
|
[self setAutoscroll:[unarchiver decodeBOOLWithName:@"isAutoscroll"]];
|
||||||
|
[self setCellSize:[unarchiver decodeSizeWithName:@"cellSize"]];
|
||||||
|
[self setIntercellSpacing:[unarchiver decodeSizeWithName:@"intercellSpacing"]];
|
||||||
|
[self setBackgroundColor:[unarchiver decodeObjectWithName:@"backgroundColor"]];
|
||||||
|
[self setCellBackgroundColor:[unarchiver decodeObjectWithName:@"cellBackgroundColor"]];
|
||||||
|
[self setDrawsBackground:[unarchiver decodeBOOLWithName:@"drawsBackground"]];
|
||||||
|
[self setDrawsCellBackground:[unarchiver decodeBOOLWithName:@"drawsCellBackground"]];
|
||||||
|
|
||||||
|
[self setCellClass:[unarchiver decodeClassWithName:@"cellClass"]];
|
||||||
|
[self setPrototype:[unarchiver decodeObjectWithName:@"prototype"]];
|
||||||
|
|
||||||
|
nr = [unarchiver decodeIntWithName:@"numberOfRows"];
|
||||||
|
nc = [unarchiver decodeIntWithName:@"numberOfColumns"];
|
||||||
|
cell_array = [unarchiver decodeObjectWithName:@"cells"];
|
||||||
|
[self renewRows:nr columns:nc];
|
||||||
|
for (i = 0; (i < [cell_array count]) && (i < nr*nc); i++) {
|
||||||
|
[self putCell:[cell_array objectAtIndex:i] atRow:i/nc column:i%nc];
|
||||||
|
}
|
||||||
|
|
||||||
|
[self setDelegate:[unarchiver decodeObjectWithName:@"delegate"]];
|
||||||
|
|
||||||
|
|
||||||
|
[self setTarget:[unarchiver decodeObjectWithName:@"target"]];
|
||||||
|
[self setAction:[unarchiver decodeSelectorWithName:@"action"]];
|
||||||
|
[self setDoubleAction:[unarchiver decodeSelectorWithName:@"doubleAction"]];
|
||||||
|
[self setErrorAction:[unarchiver decodeSelectorWithName:@"errorAction"]];
|
||||||
|
[self sizeToCells];
|
||||||
|
// }
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end /* NSMatrix (GMArchiverMethods) */
|
||||||
|
|
||||||
|
|
||||||
|
@implementation NSScrollView (GMArchiverMethods)
|
||||||
|
|
||||||
|
// do not encode our subviews in NSView (it would encode the clipview and
|
||||||
|
// the scroller, which are not necessary).
|
||||||
|
- (NSArray *)subviewsForModel
|
||||||
|
{
|
||||||
|
return [NSArray array];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||||
|
{
|
||||||
|
[super encodeWithModelArchiver:archiver];
|
||||||
|
|
||||||
|
[archiver encodeObject:[self backgroundColor] withName:@"backgroundColor"];
|
||||||
|
[archiver encodeInt:[self borderType] withName:@"borderType"];
|
||||||
|
[archiver encodeBOOL:[self hasHorizontalScroller] withName:@"hasHorizontalScroller"];
|
||||||
|
[archiver encodeBOOL:[self hasVerticalScroller] withName:@"hasVerticalScroller"];
|
||||||
|
[archiver encodeObject:[self documentView] withName:@"documentView"];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||||
|
{
|
||||||
|
self = [super initWithModelUnarchiver:unarchiver];
|
||||||
|
|
||||||
|
[self setBackgroundColor:[unarchiver decodeObjectWithName:@"backgroundColor"]];
|
||||||
|
[self setBorderType:[unarchiver decodeIntWithName:@"borderType"]];
|
||||||
|
[self setHasHorizontalScroller:[unarchiver decodeBOOLWithName:@"hasHorizontalScroller"]];
|
||||||
|
[self setHasVerticalScroller:[unarchiver decodeBOOLWithName:@"hasVerticalScroller"]];
|
||||||
|
[self setDocumentView:[unarchiver decodeObjectWithName:@"documentView"]];
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end /* NSScrollView (GMArchiverMethods) */
|
||||||
|
|
||||||
|
|
||||||
@implementation NSClipView (GMArchiverMethods)
|
@implementation NSClipView (GMArchiverMethods)
|
||||||
|
|
||||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||||
|
@ -349,39 +581,36 @@ void __dummy_GMAppKit_functionForLinking() {}
|
||||||
|
|
||||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||||
{
|
{
|
||||||
id target;
|
[archiver encodeObject:[self cell] withName:@"cell"];
|
||||||
SEL action;
|
[archiver encodeBOOL:[self isEnabled] withName:@"isEnabled"];
|
||||||
|
[archiver encodeInt:[self tag] withName:@"tag"];
|
||||||
|
[archiver encodeBOOL:[self ignoresMultiClick] withName:@"ignoresMultiClick"];
|
||||||
|
|
||||||
if ((target = [self target]))
|
[super encodeWithModelArchiver:archiver];
|
||||||
[archiver encodeObject:target withName:@"target"];
|
|
||||||
if ((action = [self action]))
|
|
||||||
[archiver encodeSelector:action withName:@"action"];
|
|
||||||
|
|
||||||
[archiver encodeBOOL:[self isEnabled] withName:@"isEnabled"];
|
|
||||||
[archiver encodeInt:[self alignment] withName:@"alignment"];
|
|
||||||
[archiver encodeObject:[self font] withName:@"font"];
|
|
||||||
[archiver encodeBOOL:[self isContinuous] withName:@"isContinuous"];
|
|
||||||
[archiver encodeInt:[self tag] withName:@"tag"];
|
|
||||||
[archiver encodeBOOL:[self ignoresMultiClick] withName:@"ignoresMultiClick"];
|
|
||||||
|
|
||||||
[super encodeWithModelArchiver:archiver];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
- (id)initWithModelUnarchiver:(GMUnarchiver*)unarchiver
|
||||||
{
|
{
|
||||||
self = [super initWithModelUnarchiver:unarchiver];
|
self = [super initWithModelUnarchiver:unarchiver];
|
||||||
|
|
||||||
[self setTarget:[unarchiver decodeObjectWithName:@"target"]];
|
// if (model_version == 1) {
|
||||||
[self setAction:[unarchiver decodeSelectorWithName:@"action"]];
|
//[self setTarget:[unarchiver decodeObjectWithName:@"target"]];
|
||||||
[self setEnabled:[unarchiver decodeBOOLWithName:@"isEnabled"]];
|
//[self setAction:[unarchiver decodeSelectorWithName:@"action"]];
|
||||||
[self setAlignment:[unarchiver decodeIntWithName:@"alignment"]];
|
//[self setEnabled:[unarchiver decodeBOOLWithName:@"isEnabled"]];
|
||||||
[self setFont:[unarchiver decodeObjectWithName:@"font"]];
|
//[self setAlignment:[unarchiver decodeIntWithName:@"alignment"]];
|
||||||
[self setContinuous:[unarchiver decodeBOOLWithName:@"isContinuous"]];
|
//[self setFont:[unarchiver decodeObjectWithName:@"font"]];
|
||||||
[self setTag:[unarchiver decodeIntWithName:@"tag"]];
|
//[self setContinuous:[unarchiver decodeBOOLWithName:@"isContinuous"]];
|
||||||
[self setIgnoresMultiClick:
|
//[self setTag:[unarchiver decodeIntWithName:@"tag"]];
|
||||||
[unarchiver decodeBOOLWithName:@"ignoresMultiClick"]];
|
//[self setIgnoresMultiClick:
|
||||||
|
// [unarchiver decodeBOOLWithName:@"ignoresMultiClick"]];
|
||||||
return self;
|
// } else {
|
||||||
|
[self setCell:[unarchiver decodeObjectWithName:@"cell"]];
|
||||||
|
[self setEnabled:[unarchiver decodeBOOLWithName:@"isEnabled"]];
|
||||||
|
[self setTag:[unarchiver decodeIntWithName:@"tag"]];
|
||||||
|
[self setIgnoresMultiClick:
|
||||||
|
[unarchiver decodeBOOLWithName:@"ignoresMultiClick"]];
|
||||||
|
// }
|
||||||
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
@end /* NSControl (GMArchiverMethods) */
|
@end /* NSControl (GMArchiverMethods) */
|
||||||
|
@ -664,12 +893,18 @@ void __dummy_GMAppKit_functionForLinking() {}
|
||||||
|
|
||||||
@implementation NSView (GMArchiverMethods)
|
@implementation NSView (GMArchiverMethods)
|
||||||
|
|
||||||
|
// subclasses may not want to encode all subviews...
|
||||||
|
- (NSArray *)subviewsForModel
|
||||||
|
{
|
||||||
|
return [self subviews];
|
||||||
|
}
|
||||||
|
|
||||||
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
- (void)encodeWithModelArchiver:(GMArchiver*)archiver
|
||||||
{
|
{
|
||||||
[super encodeWithModelArchiver:archiver];
|
[super encodeWithModelArchiver:archiver];
|
||||||
|
|
||||||
[archiver encodeConditionalObject:[self superview] withName:@"superview"];
|
[archiver encodeConditionalObject:[self superview] withName:@"superview"];
|
||||||
[archiver encodeObject:[self subviews] withName:@"subviews"];
|
[archiver encodeObject:[self subviewsForModel] withName:@"subviews"];
|
||||||
[archiver encodeRect:[self frame] withName:@"frame"];
|
[archiver encodeRect:[self frame] withName:@"frame"];
|
||||||
[archiver encodeRect:[self bounds] withName:@"bounds"];
|
[archiver encodeRect:[self bounds] withName:@"bounds"];
|
||||||
[archiver encodeBOOL:[self postsFrameChangedNotifications]
|
[archiver encodeBOOL:[self postsFrameChangedNotifications]
|
||||||
|
@ -708,7 +943,7 @@ void __dummy_GMAppKit_functionForLinking() {}
|
||||||
for (i = 0, count = [subviews count]; i < count; i++)
|
for (i = 0, count = [subviews count]; i < count; i++)
|
||||||
[self addSubview:[subviews objectAtIndex:i]];
|
[self addSubview:[subviews objectAtIndex:i]];
|
||||||
|
|
||||||
[self setBounds:[unarchiver decodeRectWithName:@"bounds"]];
|
// [self setBounds:[unarchiver decodeRectWithName:@"bounds"]];
|
||||||
[self setPostsFrameChangedNotifications:
|
[self setPostsFrameChangedNotifications:
|
||||||
[unarchiver decodeBOOLWithName:@"postsFrameChangedNotifications"]];
|
[unarchiver decodeBOOLWithName:@"postsFrameChangedNotifications"]];
|
||||||
[self setPostsBoundsChangedNotifications:
|
[self setPostsBoundsChangedNotifications:
|
||||||
|
|
|
@ -764,6 +764,9 @@ static NSMutableDictionary* classToAliasMappings = nil;
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ([string isEqualToString: @"nil"])
|
||||||
|
return nil;
|
||||||
|
|
||||||
return string;
|
return string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,16 +47,20 @@ extern BOOL _fileOwnerDecoded;
|
||||||
IMCustomObject* customObject = [[self new] autorelease];
|
IMCustomObject* customObject = [[self new] autorelease];
|
||||||
Class class;
|
Class class;
|
||||||
|
|
||||||
customObject->className = [unarchiver decodeStringWithName:@"className"];
|
|
||||||
customObject->extension = [unarchiver decodeObjectWithName:@"extension"];
|
|
||||||
customObject->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
|
||||||
|
|
||||||
if (!_fileOwnerDecoded) {
|
if (!_fileOwnerDecoded) {
|
||||||
_fileOwnerDecoded = YES;
|
_fileOwnerDecoded = YES;
|
||||||
|
customObject->className = [unarchiver decodeStringWithName:@"className"];
|
||||||
|
customObject->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||||
|
customObject->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||||
|
|
||||||
customObject->realObject = _nibOwner;
|
customObject->realObject = _nibOwner;
|
||||||
return customObject;
|
return customObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
customObject->className = [unarchiver decodeStringWithName:@"className"];
|
||||||
|
customObject->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||||
|
customObject->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||||
|
|
||||||
class = NSClassFromString (customObject->className);
|
class = NSClassFromString (customObject->className);
|
||||||
if (class)
|
if (class)
|
||||||
customObject->realObject = [[class alloc] init];
|
customObject->realObject = [[class alloc] init];
|
||||||
|
@ -96,16 +100,19 @@ extern BOOL _fileOwnerDecoded;
|
||||||
IMCustomView* customView = [[self new] autorelease];
|
IMCustomView* customView = [[self new] autorelease];
|
||||||
Class class;
|
Class class;
|
||||||
|
|
||||||
customView->className = [unarchiver decodeStringWithName:@"className"];
|
|
||||||
customView->extension = [unarchiver decodeObjectWithName:@"extension"];
|
|
||||||
customView->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
|
||||||
|
|
||||||
if (!_fileOwnerDecoded) {
|
if (!_fileOwnerDecoded) {
|
||||||
_fileOwnerDecoded = YES;
|
_fileOwnerDecoded = YES;
|
||||||
|
customView->className = [unarchiver decodeStringWithName:@"className"];
|
||||||
|
customView->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||||
|
customView->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||||
customView->realObject = _nibOwner;
|
customView->realObject = _nibOwner;
|
||||||
return customView;
|
return customView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
customView->className = [unarchiver decodeStringWithName:@"className"];
|
||||||
|
customView->extension = [unarchiver decodeObjectWithName:@"extension"];
|
||||||
|
customView->realObject = [unarchiver decodeObjectWithName:@"realObject"];
|
||||||
|
|
||||||
class = NSClassFromString (customView->className);
|
class = NSClassFromString (customView->className);
|
||||||
if (class)
|
if (class)
|
||||||
customView->realObject = [[class alloc] init];
|
customView->realObject = [[class alloc] init];
|
||||||
|
@ -113,6 +120,7 @@ extern BOOL _fileOwnerDecoded;
|
||||||
NSLog (@"Class %@ not linked into application!", customView->className);
|
NSLog (@"Class %@ not linked into application!", customView->className);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return customView->realObject;
|
||||||
return customView;
|
return customView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -84,18 +84,18 @@ BOOL _fileOwnerDecoded = NO;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* The path is a relative path; search it in the current bundle. */
|
/* The path is a relative path; search it in the current bundle. */
|
||||||
//path = [resourcePath stringByAppendingPathComponent:path];
|
NSString *abspath = [resourcePath stringByAppendingPathComponent:path];
|
||||||
if (![[NSFileManager defaultManager] fileExistsAtPath:
|
if (![[NSFileManager defaultManager] fileExistsAtPath:abspath]) {
|
||||||
[resourcePath stringByAppendingPathComponent:path]]) {
|
|
||||||
//try in GNUSTEP_ROOT/Library/Model/...
|
//try in GNUSTEP_ROOT/Library/Model/...
|
||||||
NSString *root;
|
NSString *root;
|
||||||
|
|
||||||
root = [NSString stringWithCString:getenv("GNUSTEP_SYSTEM_ROOT")];
|
root = [NSString stringWithCString:getenv("GNUSTEP_SYSTEM_ROOT")];
|
||||||
root = [root stringByAppendingPathComponent:@"Library/Model/"];
|
root = [root stringByAppendingPathComponent:@"Library/Model/"];
|
||||||
path = [root stringByAppendingPathComponent:path];
|
abspath = [root stringByAppendingPathComponent:path];
|
||||||
if (![[NSFileManager defaultManager] fileExistsAtPath:path])
|
if (![[NSFileManager defaultManager] fileExistsAtPath:abspath])
|
||||||
return NO;
|
return NO;
|
||||||
}
|
}
|
||||||
|
path = abspath;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSLog (@"loading model file %@...", path);
|
NSLog (@"loading model file %@...", path);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue