Package org.zkoss.zul.theme
Class StandardThemeProvider
- java.lang.Object
-
- org.zkoss.zul.theme.StandardThemeProvider
-
- All Implemented Interfaces:
ThemeProvider
- Direct Known Subclasses:
StandardThemeProvider
public class StandardThemeProvider extends java.lang.Object implements ThemeProvider
A standard implementation of ThemeProvider for ZK CE, which works with the Breeze series themes- Author:
- simonpai, jumperchen, neillee
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.zkoss.zk.ui.util.ThemeProvider
ThemeProvider.Aide
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_WCS
Default theme css file
-
Constructor Summary
Constructors Constructor Description StandardThemeProvider()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
beforeWCS(Execution exec, java.lang.String uri)
Called when a WCS (Widget CSS descriptor) file is about to be loaded.java.lang.String
beforeWidgetCSS(Execution exec, java.lang.String uri)
Called when a WCS (Widget CSS descriptor) file is about to load the CSS file associated with a widget.protected static java.lang.String
getThemeFileSuffix()
java.util.Collection<java.lang.Object>
getThemeURIs(Execution exec, java.util.List<java.lang.Object> uris)
Returns a list of the theme's URIs of the specified execution, or null if no theme shall be generated.int
getWCSCacheControl(Execution exec, java.lang.String uri)
Returns the number of hours that the specified WCS (Widget CSS descriptor) file won't be changed.
-
-
-
Field Detail
-
DEFAULT_WCS
public static final java.lang.String DEFAULT_WCS
Default theme css file- See Also:
- Constant Field Values
-
-
Method Detail
-
getThemeFileSuffix
protected static java.lang.String getThemeFileSuffix()
-
getThemeURIs
public java.util.Collection<java.lang.Object> getThemeURIs(Execution exec, java.util.List<java.lang.Object> uris)
Description copied from interface:ThemeProvider
Returns a list of the theme's URIs of the specified execution, or null if no theme shall be generated. Each item could be an instance of eitherString
orStyleSheet
. If you want to specify themedia
attribute, useStyleSheet
.It is called when a desktop is about to be rendered. It is called only once for each desktop.
Notice that
StyleSheet
is allowed since 5.0.3.- Specified by:
getThemeURIs
in interfaceThemeProvider
- Parameters:
exec
- the current execution (never null), where you can retrieve the desktop, request and response. Note: if your Web application supports multiple devices, you have to checkDesktop.getDevice()
.uris
- the default set of theme's URIs, i.e., the themes defined in language definitions (lang.xml and lang-addon.xml) and the configuration (thetheme-uri
elements in web.xml). Each URI is an instance of of eitherString
orStyleSheet
. Notice that, unless it is customized by application specific lang-addon, all URIs are, by default, String instances.- Returns:
- the collection of the theme's URIs
that the current desktop shall use.
Each URI is an instance of of either
String
orStyleSheet
.
-
getWCSCacheControl
public int getWCSCacheControl(Execution exec, java.lang.String uri)
Description copied from interface:ThemeProvider
Returns the number of hours that the specified WCS (Widget CSS descriptor) file won't be changed. In other words, the client is allowed to cache the file until the returned hours expires.- Specified by:
getWCSCacheControl
in interfaceThemeProvider
uri
- the URI of the WCS file, e.g., ~./zul/css/zk.wcs- Returns:
- number of hours that the WCS file is allowed to cache. If it is never changed until next ZK upgrade, you could return 8760 (the default if ThemeProvider is not specified). If you don't want the client to cache, return a non-positive number.
-
beforeWCS
public java.lang.String beforeWCS(Execution exec, java.lang.String uri)
Description copied from interface:ThemeProvider
Called when a WCS (Widget CSS descriptor) file is about to be loaded. This method then returns the real URI of the WCS file to load. If no need to change, just return theuri
parameter.If you want to change the font size, you can set the attributes of the execution accordingly as follows.
- fontSizeM
- The default font size. Default: 12px
- fontSizeMS
- The font size for menus. Default: 11px
- fontSizeS
- The font size for smaller fonts, such as toolbar. Default: 11px
- fontSizeXS
- The font size for extreme small fonts. Default 10px
- fontFamilyT
- The font family for titles. Default: arial, sans-serif
- fontFamilyC
- The font family for content. Default: arial, sans-serif
For example,
String beforeWCS(Execution exec, String uri) { exec.setAttribute("fontSizeM", "15px"); return uri; }
- Specified by:
beforeWCS
in interfaceThemeProvider
- Parameters:
exec
- the current execution (never null), where you can retrieve the request and response. However, unlikeThemeProvider.getThemeURIs(org.zkoss.zk.ui.Execution, java.util.List<java.lang.Object>)
, the desktop might not be available when this method is called.uri
- the URI of the WCS file, e.g., ~./zul/css/zk.wcs- Returns:
- the real URI of the WCS file to load. If null is returned, the WCS file is ignored.
-
beforeWidgetCSS
public java.lang.String beforeWidgetCSS(Execution exec, java.lang.String uri)
Description copied from interface:ThemeProvider
Called when a WCS (Widget CSS descriptor) file is about to load the CSS file associated with a widget. This method then returns the real URI of the WCS file to load. If no need to change, just return theuri
parameter.This method is usually overridden to load the CSS files from a different directory. For example,
String beforeWidgetCSS(Execution exec, String uri) { return uri.startsWith("~./") ? "~./foo/" + uri.substring(3): uri; }
- Specified by:
beforeWidgetCSS
in interfaceThemeProvider
- Parameters:
exec
- the current execution (never null), where you can retrieve the request ad response. However, unlikeThemeProvider.getThemeURIs(org.zkoss.zk.ui.Execution, java.util.List<java.lang.Object>)
, the desktop might not be available when this method is called.uri
- the URI of the CSS file associated with a widget, e.g., ~./js/zul/wgt/css/a.css.dsp- Returns:
- the real URI of the CSS file to load If null is returned, the CSS file is ignored.
-
-