]> err.no Git - scalable-opengroupware.org/blobdiff - SOGo/UI/Common/UIxPageFrame.m
work on mailer
[scalable-opengroupware.org] / SOGo / UI / Common / UIxPageFrame.m
index 3ff669631e08fada3a6011cb09aec0d4b2520199..dc080ec53970ab94a8c1af37094f10407c5764cb 100644 (file)
@@ -1,12 +1,33 @@
+/*
+  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;
@@ -21,8 +42,9 @@
 @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;
 }