]> err.no Git - scalable-opengroupware.org/blob - UI/Common/UIxTabView.h
a2e6a1f1ab66d90d624774f8c8d9a1cf864a7662
[scalable-opengroupware.org] / UI / Common / UIxTabView.h
1 /*
2   Copyright (C) 2000-2005 SKYRIX Software AG
3
4   This file is part of OpenGroupware.org.
5
6   OGo is free software; you can redistribute it and/or modify it under
7   the terms of the GNU Lesser General Public License as published by the
8   Free Software Foundation; either version 2, or (at your option) any
9   later version.
10
11   OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12   WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
14   License for more details.
15
16   You should have received a copy of the GNU Lesser General Public
17   License along with OGo; see the file COPYING.  If not, write to the
18   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
19   02111-1307, USA.
20 */
21
22 #ifndef __UIxTabView_H__
23 #define __UIxTabView_H__
24
25 /*
26   This is a library private header !
27 */
28
29 #include <NGObjWeb/WODynamicElement.h>
30
31 /*
32   Does not support tab-head-creation from nested components !!!
33
34   hh: Why not ??? -> Because selection is manipulated in sub-elements
35
36   UIxTabView creates element-IDs like
37
38     .h.*.$key.  for the tab-items   (head-mode)
39     .b.$key...  for the tab-content (content-mode) (new, hh)
40
41   !!! UIxTabView JavaScript can't handle duplicate tab-keys !!!
42 */
43
44 @interface UIxTabView : WODynamicElement
45 {
46   WOAssociation *selection;
47
48   /* config: */
49   WOAssociation *headerStyle;
50   WOAssociation *bodyStyle;
51   WOAssociation *tabStyle;
52   WOAssociation *selectedTabStyle;
53
54   /* old config: */
55   WOAssociation *bgColor;
56   WOAssociation *nonSelectedBgColor;
57   WOAssociation *leftCornerIcon;
58   WOAssociation *rightCornerIcon;
59   
60   WOAssociation *tabIcon;
61   WOAssociation *leftTabIcon;
62   WOAssociation *selectedTabIcon;
63   
64   WOAssociation *asBackground;
65   WOAssociation *width;
66   WOAssociation *height;
67   WOAssociation *activeBgColor;
68   WOAssociation *inactiveBgColor;
69
70   WOAssociation *fontColor;
71   WOAssociation *fontSize;
72   WOAssociation *fontFace;
73
74   id            template;
75 }
76
77 @end
78
79 @interface UIxTabItem : WODynamicElement
80 {
81   WOAssociation *key;
82   WOAssociation *label;
83
84   WOAssociation *href;
85   WOAssociation *isScript;
86
87   WOAssociation *action;
88   WOAssociation *icon;
89
90   /* config: */
91   WOAssociation *tabStyle;
92   WOAssociation *selectedTabStyle;
93
94   /* old config */
95   WOAssociation *tabIcon;
96   WOAssociation *leftTabIcon;
97   WOAssociation *selectedTabIcon;
98
99   WOAssociation *asBackground;
100   WOAssociation *width;
101   WOAssociation *height;
102   WOAssociation *activeBgColor;
103   WOAssociation *inactiveBgColor;
104   
105   id            template;
106 }
107
108 @end
109
110 @interface UIxTabItemInfo : NSObject
111 {
112 @public
113   NSString *label;
114   NSString *icon;
115   NSString *key;
116   NSString *uri;
117   NSString *tabIcon;
118   NSString *leftIcon;
119   NSString *selIcon;
120   NSString *tabStyle;
121   NSString *selectedTabStyle;
122
123   int      asBackground; // 0 -> not set, 1 -> YES, else -> NO
124   NSString *width;
125   NSString *height;
126   NSString *activeBg;
127   NSString *inactiveBg;
128
129   BOOL     isScript;
130 }
131 @end
132
133 #endif /* __UIxTabView_H__ */