+/*
+ Copyright (C) 2004 SKYRIX Software AG
+
+ This file is part of OpenGroupware.org.
+
+ OGo is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+
+ OGo 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 Lesser General Public
+ License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with OGo; see the file COPYING. If not, write to the
+ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+*/
// $Id$
#include <SOGoUI/UIxComponent.h>
@interface UIxPageFrame : UIxComponent
{
- NSString *title;
- NSString *rootURL;
- NSString *userRootURL;
+ NSString *title;
+ NSString *rootURL;
+ NSString *userRootURL;
+ id item;
}
- (NSString *)rootURL;
@implementation UIxPageFrame
- (void)dealloc {
- [self->title release];
- [self->rootURL release];
+ [self->item release];
+ [self->title release];
+ [self->rootURL release];
[self->userRootURL release];
[super dealloc];
}
/* accessors */
- (void)setTitle:(NSString *)_value {
- ASSIGN(self->title, _value);
+ ASSIGNCOPY(self->title, _value);
}
- (NSString *)title {
- if([self isUIxDebugEnabled])
+ if ([self isUIxDebugEnabled])
return self->title;
- return [self labelForKey:@"OpenGroupware.org"];
+
+ return [self labelForKey:@"OpenGroupware.org"];
+}
+
+- (void)setItem:(id)_item {
+ ASSIGN(self->item, _item);
+}
+- (id)item {
+ return self->item;
+}
+
+/* notifications */
+
+- (void)sleep {
+ [self->item release]; self->item = nil;
+ [super sleep];
}
/* URL generation */
WOContext *ctx;
NSArray *traversalObjects;
- if (self->rootURL)
+ if (self->rootURL != nil)
return self->rootURL;
ctx = [self context];
traversalObjects = [ctx objectTraversalStack];
self->rootURL = [[[traversalObjects objectAtIndex:0]
rootURLInContext:ctx]
- retain];
+ copy];
return self->rootURL;
}