1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.portal;
18
19 import org.apache.jetspeed.capability.CapabilityMap;
20
21 /***
22 * The PortletSkin defines the color scheme to use for displaying a
23 * specified portlet (and associated control)
24 *
25 * @author <a href="mailto:raphael@apache.org">Raphaël Luta</a>
26 * @author <a href="mailto:paulsp@apache.org">Paul Spencer</a>
27 * @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
28 * @version $Id: PortletSkin.java,v 1.7 2004/02/23 04:05:35 jford Exp $
29 */
30 public interface PortletSkin extends java.util.Map
31 {
32 public static final String TEXT_COLOR = "text-color";
33 public static final String BACKGROUND_COLOR = "background-color";
34 public static final String TITLE_TEXT_COLOR = "title-text-color";
35 public static final String TITLE_BACKGROUND_COLOR = "title-background-color";
36 public static final String HIGHLIGHT_TEXT_COLOR = "highlight-text-color";
37 public static final String HIGHLIGHT_BACKGROUND_COLOR = "highlight-background-color";
38 public static final String CONTROLLER_STYLE_CLASS = "controller-style-class";
39 public static final String PORTLET_STYLE_CLASS = "portlet-style-class";
40 public static final String TITLE_STYLE_CLASS = "title-style-class";
41 public static final String CONTENT_STYLE_CLASS = "content-style-class";
42 public static final String HIGHLIGHT_TITLE_STYLE_CLASS = "highlight-title-style-class";
43 public static final String TAB_STYLE_CLASS = "tab-style-class";
44 public static final String TAB_TITLE_STYLE_CLASS = "tab-title-style-class";
45 public static final String TAB_CONTENT_STYLE_CLASS = "tab-content-style-class";
46 public static final String PORTLET_SKIN_CLASS = "portlet-skin-class";
47
48 /***
49 * Returns the name of this color scheme
50 * @return the color scheme name
51 */
52 String getName();
53
54 /***
55 * Returns the color to use for displaying the portlet text
56 * @return the text color value in HTML format (#RRGGBB)
57 */
58 String getTextColor();
59
60 /***
61 * Sets the color to use for displaying the portlet text
62 * @param color the text color value in HTML format (#RRGGBB)
63 */
64 void setTextColor(String color);
65
66 /***
67 * Returns the color to use for displaying the portlet background
68 * @return the text color value in HTML format (#RRGGBB)
69 */
70 String getBackgroundColor();
71
72 /***
73 * Sets the color to use for displaying the portlet background
74 * @param backgroundColor the background color value in HTML format (#RRGGBB)
75 */
76 void setBackgroundColor(String backgroundColor);
77
78 /***
79 * Returns the color to use for displaying the portlet title text
80 * @return the text color value in HTML format (#RRGGBB)
81 */
82 String getTitleTextColor();
83
84 /***
85 * Sets the color to use for displaying the portlet title text
86 * @param titleColor the title color value in HTML format (#RRGGBB)
87 */
88 void setTitleTextColor(String titleColor);
89
90 /***
91 * Returns the color to use for displaying the portlet title background
92 * @return the background color value in HTML format (#RRGGBB)
93 */
94 String getTitleBackgroundColor();
95
96 /***
97 * Sets the color to use for displaying the portlet title background
98 * @param titleColor the title color value in HTML format (#RRGGBB)
99 */
100 void setTitleBackgroundColor(String titleColor);
101
102 /***
103 * Returns the color to use for displaying an highlighted text
104 * @return the text color value in HTML format (#RRGGBB)
105 */
106 String getHighlightTextColor();
107
108 /***
109 * Sets the color to use for displaying an highlighted text
110 * @param titleColor a color value in HTML format (#RRGGBB)
111 */
112 void setHighlightTextColor(String titleColor);
113
114 /***
115 * Returns the color to use for displaying an highlighted background
116 * @return the background color value in HTML format (#RRGGBB)
117 */
118 String getHighlightBackgroundColor();
119
120 /***
121 * Sets the color to use for displaying an highlighted background
122 * @param titleColor the title color value in HTML format (#RRGGBB)
123 */
124 void setHighlightBackgroundColor(String titleColor);
125
126 /***
127 * Returns the CSS class to use for the portlet overall
128 * @return the CSS class to use (PortletStyleClass)
129 */
130 String getPortletStyleClass();
131
132 /***
133 * Sets the CSS class to use for the portlet overall
134 * @param portletStyleClass the new class to be used
135 */
136 void setPortletStyleClass(String portletStyleClass);
137
138 /***
139 * Returns the CSS class to use for the portlet title
140 * @return the CSS class to use (TitleStyleClass)
141 */
142 String getTitleStyleClass();
143
144 /***
145 * Sets the CSS class to use for the portlet title
146 * @param titleStyleClass the new class to be used
147 */
148 void setTitleStyleClass(String titleStyleClass);
149
150 /***
151 * Returns the CSS class to use for the portlet content
152 * @return the CSS class to use (ContentStyleClass)
153 */
154 String getContentStyleClass();
155
156 /***
157 * Sets the CSS class to use for the portlet content
158 * @param contentStyleClass the new class to be used
159 */
160 void setContentStyleClass(String contentStyleClass);
161
162 /***
163 * Returns the CSS class to use overall for the tabbed control
164 * @return the CSS class to use (TabStyleClass)
165 */
166 String getTabStyleClass();
167
168 /***
169 * Sets the CSS class to use for overall for the tabbed control
170 * @param tabStyleClass the new class to be used
171 */
172 void setTabStyleClass(String tabStyleClass);
173
174 /***
175 * Returns the CSS class to use on the title of the tabbed control
176 * @return the CSS class to use (TabTitleStyleClass)
177 */
178 String getTabTitleStyleClass();
179
180 /***
181 * Sets the CSS class to use on the title of the tabbed control
182 * @param tabTitleStyleClass the new class to be used
183 */
184 void setTabTitleStyleClass(String tabTitleStyleClass);
185
186 /***
187 * Returns the CSS class to use on the control of the tabbed control
188 * @return the CSS class to use (TabContentStyleClass)
189 */
190 String getTabContentStyleClass();
191
192 /***
193 * Sets the CSS class to use on the control of the tabbed control
194 * @param tabContentStyleClass the new class to be used
195 */
196 void setTabContentStyleClass(String tabContentStyleClass);
197
198 /***
199 * Returns the CSS class to use on the control of the Highlighted titles on tab or menu item
200 * @return the CSS class to use (HighlightTitleStyleClass)
201 */
202 String getHighlightTitleStyleClass();
203
204 /***
205 * Sets the CSS class to use on the control of the Highlighted titles tab or menu item
206 * @param highlightTabStyleClass the new class to be used
207 */
208 void setHighlightTitleStyleClass(String highlightTitleStyleClass);
209
210 /***
211 * Returns the CSS class to use for the Controller overall
212 * @return the CSS class to use (ControllerStyleClass)
213 */
214 String getControllerStyleClass();
215
216 /***
217 * Sets the CSS class to use for the controller overall
218 * @param controllerStyleClass the new class to be used
219 */
220 void setControllerStyleClass(String controllerStyleClass);
221
222 /***
223 * Returns a named image from this skin. The skin property
224 * must be prefixed with "image-" within the registry.
225 * @param String name name of image to retreive.
226 * <strong>DO NOT PREFIX WITH "image-"</strong>
227 * as getImage will do this for you.
228 * @param String dftPath realtive path to a default image if
229 * the named one is not in the registry.
230 * @return String relative path to the image
231 * @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
232 */
233 String getImage(String name, String dftPath);
234
235 /***
236 * This allows the PortalToolKit to make the PortletSkin aware
237 * of the current user-agents's capabilities
238 * @param CapabilityMap cm Current capaibilities of the user-agent
239 * @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
240 */
241 void setCapabilityMap(CapabilityMap cm);
242
243 /***
244 * This returns the class to use for the entire portlet, based
245 * on the cascading :
246 * portlet has 9 possible class to be used in a skin :
247 * ________________
248 * - title (+ left/right) |__|__________|__|
249 * | | | |
250 * | | | |
251 * - content (+ left/right) | | | |
252 * | | | |
253 * |__|__________|__|
254 * - bottom (+ left/right) |__|__________|__|
255 *
256 * using cascading, we can change all of those class with one parent class
257 * -> this is how PortletSkinClass is used
258 */
259 String getPortletSkinClass();
260
261 }