/* * @(#)BennuTheme.java * * Copyright 2011 Instituto Superior Tecnico * Founding Authors: Pedro Santos * * https://fenix-ashes.ist.utl.pt/ * * This file is part of the Bennu-Vadin Integration Module. * * The Bennu-Vadin Integration Module 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 * 3 of the License, or (at your option) any later version. * * The Bennu-Vadin Module 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 the Bennu-Vadin Module. If not, see <http://www.gnu.org/licenses/>. * */ package module.vaadin.ui; import com.vaadin.ui.themes.BaseTheme; /** * * @author Pedro Santos * */ public class BennuTheme extends BaseTheme { public static final String THEME_ALTERNATE_COLOR = "alternate-color"; /*************************************************************************** * Label styles **************************************************************************/ /** * Large font for main application headings */ public static final String LABEL_H1 = "h1"; /** * Large font for different sections in the application */ public static final String LABEL_H2 = "h2"; /** * Font for sub-section headers */ public static final String LABEL_H3 = "h3"; /** * Font for paragraphs headers */ public static final String LABEL_H4 = "h4"; /** * Big font for important or emphasized texts */ public static final String LABEL_BIG = "big"; /** * Small and a little lighter font */ public static final String LABEL_SMALL = "small"; /** * Very small and lighter font for things such as footnotes and component * specific informations. Use carefully, since this style will usually * reduce legibility. */ public static final String LABEL_TINY = "tiny"; /** * Adds color to the text (usually the alternate color of the theme) */ public static final String LABEL_COLOR = "color"; /** * Adds a warning icon on the left side and a yellow background to the label */ public static final String LABEL_WARNING = "warning"; /** * Adds an error icon on the left side and a red background to the label */ public static final String LABEL_ERROR = "error"; /** * Adds a spinner icon on the left side of the label */ public static final String LABEL_LOADING = "loading"; /** * Wraps the text */ public static final String LABEL_WRAP = "wrap"; /*************************************************************************** * Form styles **************************************************************************/ public static final String FORM_INLINE = "inline"; /*************************************************************************** * Button styles **************************************************************************/ /** * Default action style for buttons (the button that gets activated when * user presses 'enter' in a form). Use sparingly, only one default button * per screen should be visible. */ public static final String BUTTON_DEFAULT = "default"; /** * Small sized button, use for context specific actions for example */ public static final String BUTTON_SMALL = "small"; /** * Big button, use to get more attention for the button action */ public static final String BUTTON_BIG = "big"; /** * Adds more padding on the sides of the button. Makes it easier for the * user to hit the button. */ public static final String BUTTON_WIDE = "wide"; /** * Adds more padding on the top and on the bottom of the button. Makes it * easier for the user to hit the button. */ public static final String BUTTON_TALL = "tall"; /** * Removes all graphics from the button, leaving only the caption and the * icon visible. Useful for making icon-only buttons and toolbar buttons. */ public static final String BUTTON_BORDERLESS = "borderless"; /** * Places the button icon on top of the caption. By default the icon is on * the left side of the button caption. */ public static final String BUTTON_ICON_ON_TOP = "icon-on-top"; /** * Places the button icon on the right side of the caption. By default the * icon is on the left side of the button caption. */ public static final String BUTTON_ICON_ON_RIGHT = "icon-on-right"; /** * Removes the button caption and only shows its icon */ public static final String BUTTON_ICON_ONLY = "icon-only"; /** * Makes the button look like it is pressed down. Useful for creating a * toggle button. */ public static final String BUTTON_DOWN = "down"; /** * Caption of buttons wraps normally. */ public static final String BUTTON_WRAP = "wraps"; /** * No button appearance, only content */ public static final String BUTTON_LIGHT = "light"; /*************************************************************************** * Link styles **************************************************************************/ public static final String LINK_BIG = "big"; public static final String LINK_WRAP = "wrap"; /*************************************************************************** * TextField styles **************************************************************************/ /** * Small sized text field with small font */ public static final String TEXTFIELD_SMALL = "small"; /** * Large sized text field with big font */ public static final String TEXTFIELD_BIG = "big"; /** * Adds a magnifier icon on the left side of the fields text */ public static final String TEXTFIELD_SEARCH = "search"; /*************************************************************************** * Select styles **************************************************************************/ /** * Small sized select with small font */ public static final String SELECT_SMALL = "small"; /** * Large sized select with big font */ public static final String SELECT_BIG = "big"; /** * Adds a magnifier icon on the left side of the fields text */ public static final String COMBOBOX_SEARCH = "search"; /** * Adds a magnifier icon on the left side of the fields text */ public static final String COMBOBOX_SELECT_BUTTON = "select-button"; /*************************************************************************** * DateField styles **************************************************************************/ /** * Small sized date field with small font */ public static final String DATEFIELD_SMALL = "small"; /** * Large sized date field with big font */ public static final String DATEFIELD_BIG = "big"; /*************************************************************************** * Panel styles **************************************************************************/ /** * Removes borders and background color from the panel */ public static final String PANEL_BORDERLESS = "borderless"; /** * Adds a more vibrant header for the panel, using the alternate color of * the theme, and adds slight rounded corners (not supported in all * browsers) */ // public static final String PANEL_BUBBLE = "bubble"; /** * Removes borders and background color from the panel */ public static final String PANEL_LIGHT = "light"; /*************************************************************************** * SplitPanel styles **************************************************************************/ /** * Reduces the split handle to a minimal size (1 pixel) */ public static final String SPLITPANEL_SMALL = "small"; /*************************************************************************** * TabSheet styles **************************************************************************/ /** * Removes borders and background color from the tab sheet */ public static final String TABSHEET_BORDERLESS = "borderless"; /*************************************************************************** * Accordion styles **************************************************************************/ /** * Makes the accordion background opaque (non-transparent) */ public static final String ACCORDION_OPAQUE = "opaque"; /*************************************************************************** * Table styles **************************************************************************/ /** * Removes borders and background color from the table */ public static final String TABLE_BORDERLESS = "borderless"; /** * Makes the column header and content font size smaller inside the table */ public static final String TABLE_SMALL = "small"; /** * Makes the column header and content font size bigger inside the table */ public static final String TABLE_BIG = "big"; /** * Adds a light alternate background color to even rows in the table. */ public static final String TABLE_STRIPED = "striped"; public static final String TABLE_STRONG = "strong"; /*************************************************************************** * ProgressIndicator styles **************************************************************************/ /** * Reduces the height of the progress bar */ public static final String PROGRESS_INDICATOR_SMALL = "small"; /** * Increases the height of the progress bar. If the indicator is in * indeterminate mode, shows a bigger spinner than the regular indeterminate * indicator. */ public static final String PROGRESS_INDICATOR_BIG = "big"; /** * Displays an indeterminate progress indicator as a bar with animated * background stripes. This style can be used in combination with the * "small" and "big" styles. */ public static final String PROGRESS_INDICATOR_INDETERMINATE_BAR = "bar"; /*************************************************************************** * Layout styles **************************************************************************/ /** * Wider spaced and margined layout */ public static final String LAYOUT_BIG = "big"; /** * Inset decoration for layouts */ public static final String LAYOUT_INSET = "inset"; /** * Layout that defines a page section, with a caption properly sized */ public static final String LAYOUT_SECTION = "section"; /** * Layout to be applied to the container of a page body */ public static final String LAYOUT_PAGE = "page"; /** * Layout that spans its contents horizontally with line wrapping. */ public static final String LAYOUT_FLOW = "flow"; /*************************************************************************** * Window styles **************************************************************************/ /** * Sub-window style that makes the window background opaque (i.e. not * semi-transparent). */ public static final String WINDOW_OPAQUE = "opaque"; /** * Makes the whole window white and increases the font size of the title. */ public static final String WINDOW_LIGHT = "light"; /** * Makes the whole window black, and changes contained components in the * same way as {@link #LAYOUT_BLACK} does. */ public static final String WINDOW_BLACK = "black"; /*************************************************************************** * Compound styles **************************************************************************/ /** * Creates a context for a segment button control. Place buttons inside the * segment, and add "<code>first</code>" and "<code>last</code>" style names * for the first and last button in the segment. Then use the {@link #BUTTON_DOWN} style to indicate button states. * * E.g. * * <pre class='code'> * HorizontalLayout ("segment") * + Button ("first down") * + Button ("down") * + Button * ... * + Button ("last") * </pre> * * You can also use most of the different button styles for the contained * buttons (e.g. {@link #BUTTON_BIG}, {@link #BUTTON_ICON_ONLY} etc.). */ public static final String COMPOUND_HORIZONTAL_LAYOUT_SEGMENT = "segment"; /** * Use this mixin-style in combination with the {@link #COMPOUND_HORIZONTAL_LAYOUT_SEGMENT} style to make buttons with * the "down" style use the themes alternate color (e.g. blue instead of * gray). * * E.g. * * <pre class='code'> * HorizontalLayout ("segment segment-alternate") * + Button ("first down") * + Button ("down") * + Button * ... * + Button ("last") * </pre> */ public static final String COMPOUND_HORIZONTAL_LAYOUT_SEGMENT_ALTERNATE = "segment-alternate"; /** * Creates an iTunes-like menu from a CssLayout or a VerticalLayout. Place * plain Labels and NativeButtons inside the layout, and you're all set. * * E.g. * * <pre class='code'> * CssLayout ("sidebar-menu") * + Label * + NativeButton * + NativeButton * ... * + Label * + NativeButton * </pre> */ public static final String COMPOUND_LAYOUT_SIDEBAR_MENU = "sidebar-menu"; /** * Adds a toolbar-like background for the layout, and aligns Buttons and * Segments horizontally. Feel free to use different buttons styles inside * the toolbar, like {@link #BUTTON_ICON_ON_TOP} and {@link #BUTTON_BORDERLESS} */ public static final String COMPOUND_CSSLAYOUT_TOOLBAR = "toolbar"; /****************** Other */ @Deprecated public static final String WIDE_FORM = "wide"; @Deprecated public static final String TABLE_CLEAR = TABLE_BORDERLESS + " clear"; @Deprecated public static final String WRAP = "text-wrap"; @Deprecated public static final String PROPERTIES = "properties"; @Deprecated public static final String PROPERTIES_LAST = "properties-last"; @Deprecated public static final String PANEL_SECTION = "section"; @Deprecated public static final String LABEL_STRONG = "strong"; @Deprecated public static final String HORIZONTAL = "horizontal"; }