/*
* Copyright 2000-2001,2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jetspeed.portal;
import org.apache.jetspeed.capability.CapabilityMap;
/**
* The PortletSkin defines the color scheme to use for displaying a
* specified portlet (and associated control)
*
* @author <a href="mailto:raphael@apache.org">Rapha謖 Luta</a>
* @author <a href="mailto:paulsp@apache.org">Paul Spencer</a>
* @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
* @version $Id: PortletSkin.java,v 1.7 2004/02/23 04:05:35 jford Exp $
*/
public interface PortletSkin extends java.util.Map
{
public static final String TEXT_COLOR = "text-color";
public static final String BACKGROUND_COLOR = "background-color";
public static final String TITLE_TEXT_COLOR = "title-text-color";
public static final String TITLE_BACKGROUND_COLOR = "title-background-color";
public static final String HIGHLIGHT_TEXT_COLOR = "highlight-text-color";
public static final String HIGHLIGHT_BACKGROUND_COLOR = "highlight-background-color";
public static final String CONTROLLER_STYLE_CLASS = "controller-style-class";
public static final String PORTLET_STYLE_CLASS = "portlet-style-class";
public static final String TITLE_STYLE_CLASS = "title-style-class";
public static final String CONTENT_STYLE_CLASS = "content-style-class";
public static final String HIGHLIGHT_TITLE_STYLE_CLASS = "highlight-title-style-class";
public static final String TAB_STYLE_CLASS = "tab-style-class";
public static final String TAB_TITLE_STYLE_CLASS = "tab-title-style-class";
public static final String TAB_CONTENT_STYLE_CLASS = "tab-content-style-class";
public static final String PORTLET_SKIN_CLASS = "portlet-skin-class";
/**
* Returns the name of this color scheme
* @return the color scheme name
*/
String getName();
/**
* Returns the color to use for displaying the portlet text
* @return the text color value in HTML format (#RRGGBB)
*/
String getTextColor();
/**
* Sets the color to use for displaying the portlet text
* @param color the text color value in HTML format (#RRGGBB)
*/
void setTextColor(String color);
/**
* Returns the color to use for displaying the portlet background
* @return the text color value in HTML format (#RRGGBB)
*/
String getBackgroundColor();
/**
* Sets the color to use for displaying the portlet background
* @param backgroundColor the background color value in HTML format (#RRGGBB)
*/
void setBackgroundColor(String backgroundColor);
/**
* Returns the color to use for displaying the portlet title text
* @return the text color value in HTML format (#RRGGBB)
*/
String getTitleTextColor();
/**
* Sets the color to use for displaying the portlet title text
* @param titleColor the title color value in HTML format (#RRGGBB)
*/
void setTitleTextColor(String titleColor);
/**
* Returns the color to use for displaying the portlet title background
* @return the background color value in HTML format (#RRGGBB)
*/
String getTitleBackgroundColor();
/**
* Sets the color to use for displaying the portlet title background
* @param titleColor the title color value in HTML format (#RRGGBB)
*/
void setTitleBackgroundColor(String titleColor);
/**
* Returns the color to use for displaying an highlighted text
* @return the text color value in HTML format (#RRGGBB)
*/
String getHighlightTextColor();
/**
* Sets the color to use for displaying an highlighted text
* @param titleColor a color value in HTML format (#RRGGBB)
*/
void setHighlightTextColor(String titleColor);
/**
* Returns the color to use for displaying an highlighted background
* @return the background color value in HTML format (#RRGGBB)
*/
String getHighlightBackgroundColor();
/**
* Sets the color to use for displaying an highlighted background
* @param titleColor the title color value in HTML format (#RRGGBB)
*/
void setHighlightBackgroundColor(String titleColor);
/**
* Returns the CSS class to use for the portlet overall
* @return the CSS class to use (PortletStyleClass)
*/
String getPortletStyleClass();
/**
* Sets the CSS class to use for the portlet overall
* @param portletStyleClass the new class to be used
*/
void setPortletStyleClass(String portletStyleClass);
/**
* Returns the CSS class to use for the portlet title
* @return the CSS class to use (TitleStyleClass)
*/
String getTitleStyleClass();
/**
* Sets the CSS class to use for the portlet title
* @param titleStyleClass the new class to be used
*/
void setTitleStyleClass(String titleStyleClass);
/**
* Returns the CSS class to use for the portlet content
* @return the CSS class to use (ContentStyleClass)
*/
String getContentStyleClass();
/**
* Sets the CSS class to use for the portlet content
* @param contentStyleClass the new class to be used
*/
void setContentStyleClass(String contentStyleClass);
/**
* Returns the CSS class to use overall for the tabbed control
* @return the CSS class to use (TabStyleClass)
*/
String getTabStyleClass();
/**
* Sets the CSS class to use for overall for the tabbed control
* @param tabStyleClass the new class to be used
*/
void setTabStyleClass(String tabStyleClass);
/**
* Returns the CSS class to use on the title of the tabbed control
* @return the CSS class to use (TabTitleStyleClass)
*/
String getTabTitleStyleClass();
/**
* Sets the CSS class to use on the title of the tabbed control
* @param tabTitleStyleClass the new class to be used
*/
void setTabTitleStyleClass(String tabTitleStyleClass);
/**
* Returns the CSS class to use on the control of the tabbed control
* @return the CSS class to use (TabContentStyleClass)
*/
String getTabContentStyleClass();
/**
* Sets the CSS class to use on the control of the tabbed control
* @param tabContentStyleClass the new class to be used
*/
void setTabContentStyleClass(String tabContentStyleClass);
/**
* Returns the CSS class to use on the control of the Highlighted titles on tab or menu item
* @return the CSS class to use (HighlightTitleStyleClass)
*/
String getHighlightTitleStyleClass();
/**
* Sets the CSS class to use on the control of the Highlighted titles tab or menu item
* @param highlightTabStyleClass the new class to be used
*/
void setHighlightTitleStyleClass(String highlightTitleStyleClass);
/**
* Returns the CSS class to use for the Controller overall
* @return the CSS class to use (ControllerStyleClass)
*/
String getControllerStyleClass();
/**
* Sets the CSS class to use for the controller overall
* @param controllerStyleClass the new class to be used
*/
void setControllerStyleClass(String controllerStyleClass);
/**
* Returns a named image from this skin. The skin property
* must be prefixed with "image-" within the registry.
* @param String name name of image to retreive.
* <strong>DO NOT PREFIX WITH "image-"</strong>
* as getImage will do this for you.
* @param String dftPath realtive path to a default image if
* the named one is not in the registry.
* @return String relative path to the image
* @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
*/
String getImage(String name, String dftPath);
/**
* This allows the PortalToolKit to make the PortletSkin aware
* of the current user-agents's capabilities
* @param CapabilityMap cm Current capaibilities of the user-agent
* @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
*/
void setCapabilityMap(CapabilityMap cm);
/**
* This returns the class to use for the entire portlet, based
* on the cascading :
* portlet has 9 possible class to be used in a skin :
* ________________
* - title (+ left/right) |__|__________|__|
* | | | |
* | | | |
* - content (+ left/right) | | | |
* | | | |
* |__|__________|__|
* - bottom (+ left/right) |__|__________|__|
*
* using cascading, we can change all of those class with one parent class
* -> this is how PortletSkinClass is used
*/
String getPortletSkinClass();
}