blob: e2f9aabff0a3bcadbcc516d6ffcc4b697ee09463 [file] [log] [blame]
/*
NOTE : delete this file after fixing
Bug 378225 - [ipad] JavaScript tests not working when using jetty/ClientResourcesServiceHandler
*/
rwt.theme.AppearanceManager.getInstance().setCurrentTheme( {
name : "rwtAppearance",
appearances : {
"empty" : {
},
"widget" : {
},
"image" : {
},
/*
---------------------------------------------------------------------------
CORE
---------------------------------------------------------------------------
*/
"cursor-dnd-move" : {
style : function( states ) {
return {
source : "widget/cursors/move.gif"
};
}
},
"cursor-dnd-copy" : {
style : function( states ) {
return {
source : "widget/cursors/copy.gif"
};
}
},
"cursor-dnd-alias" : {
style : function( states ) {
return {
source : "widget/cursors/alias.gif"
};
}
},
"cursor-dnd-nodrop" : {
style : function( states ) {
return {
source : "widget/cursors/nodrop.gif"
};
}
},
"client-document" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
font : tv.getCssFont( "*", "font" ),
textColor : "black",
backgroundColor : "white"
};
}
},
"client-document-blocker" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
cursor : "default",
animation : tv.getCssAnimation( "Shell-DisplayOverlay", "animation" ),
backgroundColor : tv.getCssColor( "Shell-DisplayOverlay", "background-color" ),
backgroundImage : tv.getCssImage( "Shell-DisplayOverlay", "background-image" ),
opacity : tv.getCssFloat( "Shell-DisplayOverlay", "opacity" )
};
if( result.backgroundImage == null
&& result.backgroundColor == "undefined" ) {
// A background image or color is always needed for mshtml to
// block the events successfully.
result.backgroundImage = "static/image/blank.gif";
}
return result;
}
},
"atom" : {
style : function( states ) {
return {
cursor : "default",
spacing : 4,
width : "auto",
height : "auto",
horizontalChildrenAlign : "center",
verticalChildrenAlign : "middle"
};
}
},
// Note: This appearance applies to qooxdoo labels (as embedded in Atom,
// Button, etc.). For SWT Label, see apperance "label-wrapper".
// Any styles set for this appearance cannot be overridden by themeing
// of controls that include a label! This is because the "inheritance"
// feature does not overwrite theme property values from themes.
"label" : {
},
// Appearance used for qooxdoo "labelObjects" which are part of Atoms etc.
"label-graytext" : {
style : function( states ) {
}
},
// this applies to a qooxdoo rwt.widgets.base.Atom that represents an RWT Label
"htmlcontainer" : {
include : "label"
},
"popup" : {
},
"iframe" : {
style : function( states ) {
return { };
}
},
/*
---------------------------------------------------------------------------
RESIZER
---------------------------------------------------------------------------
*/
// TODO [rst] necessary?
"resizer" : {
style : function( states ) {
return {};
}
},
"resizer-frame" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
border : tv.getCssNamedBorder( "shadow" )
};
}
},
"widget-tool-tip" : {
include : "popup",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "Widget-ToolTip", "border" );
result.animation = tv.getCssAnimation( "Widget-ToolTip", "animation" );
result.padding = tv.getCssBoxDimensions( "Widget-ToolTip", "padding" );
result.textColor = tv.getCssColor( "Widget-ToolTip", "color" );
result.font = tv.getCssFont( "Widget-ToolTip", "font" );
result.backgroundColor = tv.getCssColor( "Widget-ToolTip", "background-color" );
result.backgroundImage = tv.getCssImage( "Widget-ToolTip", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Widget-ToolTip", "background-image" );
result.opacity = tv.getCssFloat( "Widget-ToolTip", "opacity" );
result.shadow = tv.getCssShadow( "Widget-ToolTip", "box-shadow" );
return result;
}
}
,
"composite" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.backgroundColor = tv.getCssColor( "Composite", "background-color" );
result.backgroundImage = tv.getCssImage( "Composite", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Composite", "background-image" );
result.border = tv.getCssBorder( "Composite", "border" );
result.opacity = tv.getCssFloat( "Composite", "opacity" );
result.shadow = tv.getCssShadow( "Composite", "box-shadow" );
return result;
}
}
,
"button" : {
include : "atom",
style : function( states ) {
// [tb] exists for compatibility with the original qooxdoo button
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.font = tv.getCssFont( "Button", "font" );
result.textColor = tv.getCssColor( "Button", "color" );
result.backgroundColor = tv.getCssColor( "Button", "background-color" );
result.backgroundImage = tv.getCssImage( "Button", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Button", "background-image" );
result.border = tv.getCssBorder( "Button", "border" );
result.spacing = tv.getCssDimension( "Button", "spacing" );
result.padding = tv.getCssBoxDimensions( "Button", "padding" );
result.cursor = tv.getCssCursor( "Button", "cursor" );
result.opacity = tv.getCssFloat( "Button", "opacity" );
result.textShadow = tv.getCssShadow( "Button", "text-shadow" );
return result;
}
},
"push-button" : {
include : "button",
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.animation = tv.getCssAnimation( "Button", "animation" );
if( states.rwt_ARROW ) {
result.icon = tv.getCssSizedImage( "Button-ArrowIcon", "background-image" );
}
return result;
}
},
// ------------------------------------------------------------------------
// CheckBox
"check-box" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
border : tv.getCssBorder( "Button", "border" ),
font : tv.getCssFont( "Button", "font" ),
textColor : tv.getCssColor( "Button", "color" ),
backgroundColor : tv.getCssColor( "Button", "background-color" ),
backgroundImage : tv.getCssImage( "Button", "background-image" ),
backgroundGradient : tv.getCssGradient( "Button", "background-image" ),
spacing : tv.getCssDimension( "Button", "spacing" ),
padding : tv.getCssBoxDimensions( "Button", "padding" ),
selectionIndicator : tv.getCssSizedImage( "Button-CheckIcon", "background-image" ),
cursor : tv.getCssCursor( "Button", "cursor" ),
opacity : tv.getCssFloat( "Button", "opacity" ),
textShadow : tv.getCssShadow( "Button", "text-shadow" )
};
}
},
// ------------------------------------------------------------------------
// RadioButton
"radio-button" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
border : tv.getCssBorder( "Button", "border" ),
font : tv.getCssFont( "Button", "font" ),
textColor : tv.getCssColor( "Button", "color" ),
backgroundColor : tv.getCssColor( "Button", "background-color" ),
backgroundImage : tv.getCssImage( "Button", "background-image" ),
backgroundGradient : tv.getCssGradient( "Button", "background-image" ),
spacing : tv.getCssDimension( "Button", "spacing" ),
padding : tv.getCssBoxDimensions( "Button", "padding" ),
selectionIndicator : tv.getCssSizedImage( "Button-RadioIcon", "background-image" ),
cursor : tv.getCssCursor( "Button", "cursor" ),
opacity : tv.getCssFloat( "Button", "opacity" ),
textShadow : tv.getCssShadow( "Button", "text-shadow" )
};
}
}
,
"combo" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "Combo", "border" );
result.backgroundColor = tv.getCssColor( "Combo", "background-color" );
result.backgroundGradient = tv.getCssGradient( "Combo", "background-image" );
result.textColor = tv.getCssColor( "Combo", "color" );
result.font = tv.getCssFont( "Combo", "font" );
result.shadow = tv.getCssShadow( "Combo", "box-shadow" );
return result;
}
},
"combo-list" : {
include : "list",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "Combo-List", "border" );
result.textColor = tv.getCssColor( "Combo", "color" );
result.font = tv.getCssFont( "Combo", "font" );
result.backgroundColor = tv.getCssColor( "Combo", "background-color" );
result.shadow = tv.getCssShadow( "Combo-List", "box-shadow" );
result.textShadow = tv.getCssShadow( "Combo", "text-shadow" );
return result;
}
},
"combo-field" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.font = tv.getCssFont( "Combo", "font" );
// [if] Do not apply top/bottom paddings on the client
var cssPadding = tv.getCssBoxDimensions( "Combo-Field", "padding" );
result.paddingRight = cssPadding[ 1 ];
result.paddingLeft = cssPadding[ 3 ];
result.width = null;
result.height = null;
result.left = 0;
result.right = tv.getCssDimension( "Combo-Button", "width" );
result.top = 0;
result.bottom = 0;
result.textColor = tv.getCssColor( "Combo", "color" );
result.textShadow = tv.getCssShadow( "Combo", "text-shadow" );
return result;
}
},
"combo-button" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
var border = tv.getCssBorder( "Combo-Button", "border" );
var borderLeft = tv.getCssBorder( "Combo-Button", "border-left" );
result.border = tv.mergeBorders( border, null, null, null, borderLeft );
result.width = tv.getCssDimension( "Combo-Button", "width" );
result.height = null;
result.top = 0;
result.bottom = 0;
result.right = 0;
result.icon = tv.getCssImage( "Combo-Button-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssImage( "Combo-Button", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "Combo-Button", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "Combo-Button", "background-image" );
// TODO [rst] rather use button.bgcolor?
result.backgroundColor = tv.getCssColor( "Combo-Button", "background-color" );
result.cursor = tv.getCssCursor( "Combo-Button", "cursor" );
return result;
}
}
,
"coolbar" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "*", "border" );
result.backgroundGradient = tv.getCssGradient( "CoolBar", "background-image" );
result.backgroundImage = tv.getCssImage( "CoolBar", "background-image" );
return result;
}
},
"coolitem" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "*", "border" );
return result;
}
},
"coolitem-handle" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
if( states.vertical ) {
result.height = tv.getCssDimension( "CoolItem-Handle", "width" );
} else {
result.width = tv.getCssDimension( "CoolItem-Handle", "width" );
}
result.border = tv.getCssBorder( "CoolItem-Handle", "border" );
result.margin = [ 1, 2, 1, 0 ];
result.cursor = "col-resize";
return result;
}
}
,
"ctabfolder" : {
style: function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.font = tv.getCssFont( "CTabItem", "font" );
result.textColor = tv.getCssColor( "CTabItem", "color" );
return result;
}
},
"ctabfolder-body" : {
style: function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.backgroundColor = tv.getCssColor( "CTabItem", "background-color" );
var color = tv.getCssColor( "CTabFolder", "border-color" );
var radii = tv.getCssBoxDimensions( "CTabFolder", "border-radius" );
var borderWidth = states.rwt_BORDER ? 1 : 0;
if( radii[ 0 ] > 0 || radii[ 1 ] > 0 || radii[ 2 ] > 0 || radii[ 3 ] > 0 ) {
var borderRadii;
if( states.barTop ) {
borderRadii = [ radii[ 0 ], radii[ 1 ], 0, 0 ];
} else {
borderRadii = [ 0, 0, radii[ 2 ], radii[ 3 ] ];
}
result.border = new rwt.html.Border( borderWidth, "rounded", color, borderRadii );
} else {
result.border = new rwt.html.Border( borderWidth, "solid", color );
}
return result;
}
},
"ctabfolder-frame" : {
style: function( states ) {
var result = {};
if( !states.rwt_FLAT ) {
// get the background color for selected items
var statesWithSelected = { "selected": true };
for( var property in states ) {
statesWithSelected[ property ] = states[ property ];
}
var tv = new rwt.theme.ThemeValues( statesWithSelected );
var color = tv.getCssColor( "CTabItem", "background-color" );
result.border = new rwt.html.Border( 2, "solid", color );
} else {
result.border = "undefined";
}
result.backgroundColor = "undefined";
return result;
}
},
"ctabfolder-separator" : {
style: function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
var color = tv.getCssColor( "CTabFolder", "border-color" );
var border;
if( states.barTop ) {
border = new rwt.html.Border( [ 0, 0, 1, 0 ], "solid", color );
} else {
border = new rwt.html.Border( [ 1, 0, 0, 0 ], "solid", color );
}
result.border = border;
return result;
}
},
"ctab-item" : {
style: function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.cursor = "default";
var padding = tv.getCssBoxDimensions( "CTabItem", "padding" );
result.paddingLeft = padding[ 3 ];
result.paddingRight = padding[ 1 ];
result.spacing = tv.getCssDimension( "CTabItem", "spacing" );
result.font = tv.getCssFont( "CTabItem", "font" );
result.textColor = tv.getCssColor( "CTabItem", "color" );
result.textShadow = tv.getCssShadow( "CTabItem", "text-shadow" );
var color = tv.getCssColor( "CTabFolder", "border-color" );
// create a copy of the radii from theme
var radii = tv.getCssBoxDimensions( "CTabFolder", "border-radius" ).slice( 0 );
// cut off rounded corners at opposite side of tabs
if( states.barTop ) {
radii[ 2 ] = 0;
radii[ 3 ] = 0;
} else {
radii[ 0 ] = 0;
radii[ 1 ] = 0;
}
var rounded = radii[ 0 ] > 0 || radii[ 1 ] > 0 || radii[ 2 ] > 0 || radii[ 3 ] > 0;
var borderWidths = [ 0, 0, 0, 0 ];
if( !states.nextSelected ) {
borderWidths[ 1 ] = 1;
}
if( states.selected ) {
borderWidths[ 3 ] = 1;
if( states.barTop ) {
borderWidths[ 0 ] = 1;
} else {
borderWidths[ 2 ] = 1;
}
}
if( states.firstItem && states.rwt_BORDER && !rounded ) {
borderWidths[ 3 ] = 1;
}
if( rounded && states.selected ) {
result.border = new rwt.html.Border( borderWidths, "rounded", color, radii );
result.containerOverflow = false;
} else {
result.border = new rwt.html.Border( borderWidths, "solid", color );
}
if( states.selected ) {
result.backgroundColor = tv.getCssColor( "CTabItem", "background-color" );
result.backgroundImage = tv.getCssImage( "CTabItem", "background-image" );
result.backgroundGradient = tv.getCssGradient( "CTabItem", "background-image" );
} else {
result.backgroundColor = "undefined";
result.backgroundImage = null;
result.backgroundGradient = null;
}
return result;
}
},
"ctabfolder-button" : {
include : "image",
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
if( states.over ) {
result.backgroundColor = "white";
var color = tv.getCssColor( "CTabFolder", "border-color" );
result.border = new rwt.html.Border( 1, "solid", color );
} else {
result.backgroundColor = "undefined";
result.border = "undefined";
}
return result;
}
},
"ctabfolder-drop-down-button" : {
include : "ctabfolder-button",
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.icon = tv.getCssImage( "CTabFolder-DropDownButton-Icon", "background-image" );
return result;
}
},
"ctab-close-button" : {
include : "image",
style : function( states ) {
return {
source : states.over ? "widget/ctabfolder/close_hover.gif" : "widget/ctabfolder/close.gif"
};
}
}
,
"group-box" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
backgroundColor : tv.getCssColor( "Group", "background-color" ),
border : tv.getCssBorder( "Group", "border" ),
font : tv.getCssFont( "Group", "font"),
textColor : tv.getCssColor( "Group", "color" )
};
}
},
"group-box-legend" : {
include : "atom",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
top : 0,
left : 0,
border : tv.getCssBorder( "Group-Label", "border" ),
padding : tv.getCssBoxDimensions( "Group-Label", "padding" ),
margin : tv.getCssBoxDimensions( "Group-Label", "margin" ),
backgroundColor : tv.getCssColor( "Group-Label", "background-color" ),
font : tv.getCssFont( "Group", "font"),
textColor : tv.getCssColor( "Group-Label", "color" ),
textShadow : tv.getCssShadow( "Group-Label", "text-shadow" )
};
}
},
"group-box-frame" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var margin = tv.getCssBoxDimensions( "Group-Frame", "margin" );
return {
top : margin[ 0 ],
right : margin[ 1 ],
bottom : margin[ 2 ],
left : margin[ 3 ],
border : tv.getCssBorder( "Group-Frame", "border" )
};
}
}
,
"label-wrapper" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.font = tv.getCssFont( "Label", "font" );
var decoration = tv.getCssIdentifier( "Label", "text-decoration" );
if( decoration != null && decoration != "none" ) {
var decoratedFont = new rwt.html.Font();
decoratedFont.setSize( result.font.getSize() );
decoratedFont.setFamily( result.font.getFamily() );
decoratedFont.setBold( result.font.getBold() );
decoratedFont.setItalic( result.font.getItalic() );
decoratedFont.setDecoration( decoration );
result.font = decoratedFont;
}
result.textColor = tv.getCssColor( "Label", "color" );
result.backgroundColor = tv.getCssColor( "Label", "background-color" );
result.backgroundImage = tv.getCssImage( "Label", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Label", "background-image" );
result.border = tv.getCssBorder( "Label", "border" );
result.cursor = tv.getCssCursor( "Label", "cursor" );
result.opacity = tv.getCssFloat( "Label", "opacity" );
result.textShadow = tv.getCssShadow( "Label", "text-shadow" );
return result;
}
},
"separator-line" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
if( states.rwt_VERTICAL ) {
result.width = tv.getCssDimension( "Label-SeparatorLine", "width" );
} else {
result.height = tv.getCssDimension( "Label-SeparatorLine", "width" );
}
result.border = tv.getCssBorder( "Label-SeparatorLine", "border" );
var orient = states.rwt_VERTICAL ? "vertical" : "horizontal";
// TODO [tb] : Can we prevent creating a potentially useless border instance?
var borderName;
if( result.border === tv.getCssNamedBorder( "thinInset" ) ) {
borderName = "separator.shadowin." + orient + ".border";
} else if( result.border === tv.getCssNamedBorder( "thinOutset" ) ) {
borderName = "separator.shadowout." + orient + ".border";
}
if( borderName ) {
result.border = tv.getCssNamedBorder( borderName );
}
result.backgroundColor = tv.getCssColor( "Label-SeparatorLine", "background-color" );
result.backgroundImage = tv.getCssImage( "Label-SeparatorLine", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Label-SeparatorLine", "background-image" );
return result;
}
},
"separator" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
backgroundColor : tv.getCssColor( "Label", "background-color" ),
backgroundImage : tv.getCssImage( "Label", "background-image" ),
backgroundGradient : tv.getCssGradient( "Label", "background-image" ),
border : tv.getCssBorder( "Label", "border" ),
cursor : tv.getCssCursor( "Label", "cursor" ),
opacity : tv.getCssFloat( "Label", "opacity" )
};
}
}
,
"link" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
cursor: "default",
padding : 2,
font : tv.getCssFont( "Link", "font" ),
border : tv.getCssBorder( "Link", "border" ),
textColor : tv.getCssColor( "*", "color" ),
textShadow : tv.getCssShadow( "Link", "text-shadow" )
};
}
},
"link-text" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
textColor: "inherit"
};
}
}
,
"list" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.cursor = "default";
result.overflow = "hidden";
result.font = tv.getCssFont( "List", "font" );
result.textColor = tv.getCssColor( "List", "color" );
result.backgroundColor = tv.getCssColor( "List", "background-color" );
result.border = tv.getCssBorder( "List", "border" );
return result;
}
},
"list-item" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
height : "auto",
horizontalChildrenAlign : "left",
verticalChildrenAlign : "middle",
spacing : 4,
minWidth : "auto"
};
result.textColor = tv.getCssColor( "List-Item", "color" );
result.backgroundColor = tv.getCssColor( "List-Item", "background-color" );
result.backgroundImage = tv.getCssImage( "List-Item", "background-image" );
result.backgroundGradient = tv.getCssGradient( "List-Item", "background-image" );
result.textShadow = tv.getCssShadow( "List-Item", "text-shadow" );
result.padding = tv.getCssBoxDimensions( "List-Item", "padding" );
return result;
}
}
,
"menu" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
width : "auto",
height : "auto",
textColor : tv.getCssColor( "Menu", "color" ),
backgroundColor : tv.getCssColor( "Menu", "background-color" ),
backgroundImage : tv.getCssImage( "Menu", "background-image" ),
backgroundGradient : tv.getCssGradient( "Menu", "background-image" ),
animation : tv.getCssAnimation( "Menu", "animation" ),
font : tv.getCssFont( "Menu", "font" ),
overflow : "hidden",
border : tv.getCssBorder( "Menu", "border" ),
padding : tv.getCssBoxDimensions( "Menu", "padding" ),
opacity : tv.getCssFloat( "Menu", "opacity" ),
shadow : tv.getCssShadow( "Menu", "box-shadow" )
};
}
},
"menu-item" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
spacing : 2,
padding : tv.getCssBoxDimensions( "MenuItem", "padding" ),
backgroundImage : tv.getCssImage( "MenuItem", "background-image" ),
backgroundGradient : tv.getCssGradient( "MenuItem", "background-image" ),
backgroundColor : tv.getCssColor( "MenuItem", "background-color" ),
height : states.onMenuBar ? "100%" : "auto",
opacity : tv.getCssFloat( "MenuItem", "opacity" ),
textShadow : tv.getCssShadow( "MenuItem", "text-shadow" )
};
result.textColor = tv.getCssColor( "MenuItem", "color" );
if( states.cascade ) {
result.arrow = tv.getCssSizedImage( "MenuItem-CascadeIcon", "background-image" );
} else {
result.arrow = null;
}
if( states.selected ) {
if( states.check ) {
result.selectionIndicator
= tv.getCssSizedImage( "MenuItem-CheckIcon", "background-image" );
} else if( states.radio ) {
result.selectionIndicator
= tv.getCssSizedImage( "MenuItem-RadioIcon", "background-image" );
}
} else {
if( states.radio ) {
var radioWidth = tv.getCssSizedImage( "MenuItem-RadioIcon", "background-image" )[ 1 ];
result.selectionIndicator = [ null, radioWidth, 0 ];
} else if( states.check ) {
var checkWidth = tv.getCssSizedImage( "MenuItem-CheckIcon", "background-image" )[ 1 ];
result.selectionIndicator = [ null, checkWidth, 0 ];
} else {
result.selectionIndicator = null;
}
}
return result;
}
},
"menu-separator" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
height : "auto",
marginTop : 3,
marginBottom : 2,
padding : tv.getCssBoxDimensions( "MenuItem", "padding" )
};
}
},
"menu-separator-line" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
right : 0,
left : 0,
height : 0,
border : tv.getCssNamedBorder( "verticalDivider" )
};
}
}
,
"progressbar" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "ProgressBar", "border" );
result.backgroundColor = tv.getCssColor( "ProgressBar", "background-color" );
result.backgroundImageSized = tv.getCssSizedImage( "ProgressBar", "background-image" );
result.backgroundGradient = tv.getCssGradient( "ProgressBar", "background-image" );
result.separatorBorder = tv.getCssBorder( "ProgressBar-Indicator", "border" );
result.indicatorColor = tv.getCssColor( "ProgressBar-Indicator", "background-color" );
result.indicatorImage = tv.getCssSizedImage( "ProgressBar-Indicator", "background-image" );
result.indicatorGradient = tv.getCssGradient( "ProgressBar-Indicator", "background-image" );
result.indicatorOpacity = tv.getCssFloat( "ProgressBar-Indicator", "opacity" );
return result;
}
},
"scrollbar-blocker" : {
style : function( states ) {
return {
backgroundColor : "black",
opacity : 0.2
};
}
}
,
"window" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
// padding is only applied on the server, since client area content is
// positioned absolutely
result.backgroundColor = tv.getCssColor( "Shell", "background-color" );
result.backgroundImage = tv.getCssImage( "Shell", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Shell", "background-image" );
result.border = tv.getCssBorder( "Shell", "border" );
result.minWidth = states.rwt_TITLE ? 80 : 5;
result.minHeight = states.rwt_TITLE ? 25 : 5;
result.opacity = tv.getCssFloat( "Shell", "opacity" );
result.shadow = tv.getCssShadow( "Shell", "box-shadow" );
result.animation = tv.getCssAnimation( "Shell", "animation" );
return result;
}
},
"window-captionbar" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
verticalChildrenAlign : "middle"
};
result.margin = tv.getCssBoxDimensions( "Shell-Titlebar", "margin" );
result.padding = tv.getCssBoxDimensions( "Shell-Titlebar", "padding" );
result.textColor = tv.getCssColor( "Shell-Titlebar", "color" );
result.backgroundColor = tv.getCssColor( "Shell-Titlebar", "background-color" );
result.backgroundImage = tv.getCssImage( "Shell-Titlebar", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Shell-Titlebar", "background-image" );
result.border = tv.getCssBorder( "Shell-Titlebar", "border" );
if( states.rwt_TITLE ) {
result.minHeight = tv.getCssDimension( "Shell-Titlebar", "height" );
} else {
result.minHeight = 0;
}
result.maxHeight = result.minHeight;
result.textShadow = tv.getCssShadow( "Shell-Titlebar", "text-shadow" );
return result;
}
},
"window-resize-frame" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
border : tv.getCssNamedBorder( "shadow" )
};
}
},
"window-captionbar-icon" : {
style : function( states ) {
return {
marginRight : 2
};
}
},
"window-captionbar-title" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
cursor : "default",
font : tv.getCssFont( "Shell-Titlebar", "font" ),
marginRight : 2
};
}
},
"window-captionbar-minimize-button" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.icon = tv.getCssImage( "Shell-MinButton", "background-image" );
result.margin = tv.getCssBoxDimensions( "Shell-MinButton", "margin" );
return result;
}
},
"window-captionbar-maximize-button" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.icon = tv.getCssImage( "Shell-MaxButton", "background-image" );
result.margin = tv.getCssBoxDimensions( "Shell-MaxButton", "margin" );
return result;
}
},
"window-captionbar-restore-button" : {
include : "window-captionbar-maximize-button"
},
"window-captionbar-close-button" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.icon = tv.getCssImage( "Shell-CloseButton", "background-image" );
result.margin = tv.getCssBoxDimensions( "Shell-CloseButton", "margin" );
return result;
}
},
"window-statusbar" : {
style : function( states ) {
return {};
}
},
"window-statusbar-text" : {
style : function( states ) {
return {};
}
}
,
"spinner" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.font = tv.getCssFont( "Spinner", "font" );
result.textColor = tv.getCssColor( "Spinner", "color" );
result.backgroundColor = tv.getCssColor( "Spinner", "background-color" );
result.border = tv.getCssBorder( "Spinner", "border" );
result.backgroundGradient = tv.getCssGradient( "Spinner", "background-image" );
result.shadow = tv.getCssShadow( "Spinner", "box-shadow" );
return result;
}
},
"spinner-text-field" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
// [if] Do not apply top/bottom paddings on the client
var cssPadding = tv.getCssBoxDimensions( "Spinner-Field", "padding" );
result.paddingRight = cssPadding[ 1 ];
result.paddingLeft = cssPadding[ 3 ];
result.top = 0;
result.left = 0;
result.right = 0;
result.bottom = 0;
result.textShadow = tv.getCssShadow( "Spinner", "text-shadow" );
return result;
}
},
"spinner-button-up" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
var border = tv.getCssBorder( "Spinner-UpButton", "border" );
var borderLeft = tv.getCssBorder( "Spinner-UpButton", "border-left" );
result.border = tv.mergeBorders( border, null, null, null, borderLeft );
result.width = tv.getCssDimension( "Spinner-UpButton", "width" );
result.icon = tv.getCssImage( "Spinner-UpButton-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssImage( "Spinner-UpButton", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "Spinner-UpButton", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "Spinner-UpButton", "background-image" );
result.backgroundColor = tv.getCssColor( "Spinner-UpButton", "background-color" );
result.cursor = tv.getCssCursor( "Spinner-UpButton", "cursor" );
return result;
}
},
"spinner-button-down" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
var border = tv.getCssBorder( "Spinner-DownButton", "border" );
var borderLeft = tv.getCssBorder( "Spinner-DownButton", "border-left" );
result.border = tv.mergeBorders( border, null, null, null, borderLeft );
result.width = tv.getCssDimension( "Spinner-DownButton", "width" );
result.icon = tv.getCssImage( "Spinner-DownButton-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssImage( "Spinner-DownButton", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "Spinner-DownButton", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "Spinner-DownButton", "background-image" );
result.backgroundColor = tv.getCssColor( "Spinner-DownButton", "background-color" );
result.cursor = tv.getCssCursor( "Spinner-DownButton", "cursor" );
return result;
}
}
,
"tab-view" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.textColor = tv.getCssColor( "*", "color" );
result.font = tv.getCssFont( "TabFolder", "font" );
result.spacing = -1;
result.border = tv.getCssBorder( "TabFolder", "border" );
return result;
}
},
"tab-view-bar" : {
style : function( states ) {
return {
height : "auto"
};
}
},
"tab-view-pane" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.overflow = "hidden";
result.backgroundColor = tv.getCssColor( "*", "background-color" );
result.border = tv.getCssBorder( "TabFolder-ContentContainer", "border" );
return result;
}
},
"tab-view-page" : {
// style : function( states ) {
// return {
// TODO [rst] disappeared in qx 0.7
// top : 0,
// right : 0,
// bottom : 0,
// left : 0
// };
// }
},
"tab-view-button" : {
include : "atom",
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
var borderColor = tv.getCssNamedColor( "thinborder" );
var top_color = tv.getCssColor( "TabItem", "border-top-color" );
var bottom_color = tv.getCssColor( "TabItem", "border-bottom-color" );
var checkedColorTop = [ top_color, borderColor, borderColor, borderColor ];
var checkedColorBottom = [ borderColor, borderColor, bottom_color, borderColor ];
if( states.checked ) {
result.zIndex = 1; // TODO [rst] Doesn't this interfere with our z-order?
if( states.barTop ) {
result.border = new rwt.html.Border( [ 3, 1, 0, 1 ], "solid", checkedColorTop );
} else {
result.border = new rwt.html.Border( [ 0, 1, 3, 1 ], "solid", checkedColorBottom );
}
result.margin = [ 0, -1, 0, -2 ];
if( states.firstChild ) {
result.marginLeft = 0;
}
} else {
result.zIndex = 0; // TODO [rst] Doesn't this interfere with our z-order?
result.marginRight = 1;
result.marginLeft = 0;
if( states.barTop ) {
result.border = new rwt.html.Border( [ 1, 1, 0, 1 ], "solid", borderColor );
result.marginTop = 3;
result.marginBottom = 1;
} else {
result.border = new rwt.html.Border( [ 0, 1, 1, 1 ], "solid", borderColor );
result.marginTop = 1;
result.marginBottom = 3;
}
}
result.padding = tv.getCssBoxDimensions( "TabItem", "padding" );
if( states.checked ) {
// Hack to hide the content containder border below the selected tab
var containerBorder = tv.getCssBorder( "TabFolder-ContentContainer", "border" );
result.paddingBottom = result.padding[ 2 ] + containerBorder.getWidthTop();
}
result.backgroundColor = tv.getCssColor( "TabItem", "background-color" );
result.backgroundImage = tv.getCssImage( "TabItem", "background-image" );
result.backgroundGradient = tv.getCssGradient( "TabItem", "background-image" );
result.textShadow = tv.getCssShadow( "TabItem", "text-shadow" );
return result;
}
}
,
"table" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
textColor : tv.getCssColor( "Table", "color" ),
font : tv.getCssFont( "Table", "font" ),
border : tv.getCssBorder( "Table", "border" ),
backgroundColor : tv.getCssColor( "Table", "background-color" ),
backgroundImage : tv.getCssImage( "Table", "background-image" ),
backgroundGradient : tv.getCssGradient( "Table", "background-image" )
};
}
},
"table-column" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
cursor : "default",
spacing : 2,
opacity : states.moving ? 0.6 : 1.0
};
result.padding = tv.getCssBoxDimensions( "TableColumn", "padding" );
result.textColor = tv.getCssColor( "TableColumn", "color" );
result.font = tv.getCssFont( "TableColumn", "font" );
result.backgroundColor = tv.getCssColor( "TableColumn", "background-color" );
result.backgroundImage = tv.getCssImage( "TableColumn", "background-image" );
result.backgroundGradient = tv.getCssGradient( "TableColumn", "background-image" );
var borderColors = [ null, null, null, null ];
var borderWidths = [ 0, 0, 0, 0 ];
var borderStyles = [ "solid", "solid", "solid", "solid" ];
if( !states.dummy ) {
var verticalState = { "vertical" : true };
var tvGrid = new rwt.theme.ThemeValues( verticalState );
var gridColor = tvGrid.getCssColor( "Table-GridLine", "color" );
gridColor = gridColor == "undefined" ? "transparent" : gridColor;
borderColors[ 1 ] = gridColor;
borderWidths[ 1 ] = 1;
}
var borderBottom = tv.getCssBorder( "TableColumn", "border-bottom" );
borderWidths[ 2 ] = borderBottom.getWidthBottom();
borderStyles[ 2 ] = borderBottom.getStyleBottom();
borderColors[ 2 ] = borderBottom.getColorBottom();
result.border = new rwt.html.Border( borderWidths, borderStyles, borderColors );
result.textShadow = tv.getCssShadow( "TableColumn", "text-shadow" );
return result;
}
},
"table-column-resizer" : {
style : function( states ) {
return {
width : 3,
opacity : 0.3,
backgroundColor : "black"
};
}
},
"table-column-sort-indicator" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.source = tv.getCssImage( "TableColumn-SortIndicator", "background-image" );
return result;
}
},
"table-row" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.itemBackground = tv.getCssColor( "TableItem", "background-color" );
result.itemBackgroundImage = tv.getCssImage( "TableItem", "background-image" );
result.itemBackgroundGradient = tv.getCssGradient( "TableItem", "background-image" );
result.itemForeground = tv.getCssColor( "TableItem", "color" );
result.overlayBackground = tv.getCssColor( "Table-RowOverlay", "background-color" );
result.overlayBackgroundImage = tv.getCssImage( "Table-RowOverlay", "background-image" );
result.overlayBackgroundGradient = tv.getCssGradient( "Table-RowOverlay", "background-image" );
result.overlayForeground = tv.getCssColor( "Table-RowOverlay", "color" );
result.textDecoration = tv.getCssIdentifier( "TableItem", "text-decoration" );
result.textShadow = tv.getCssShadow( "TableItem", "text-shadow" );
return result;
}
},
"table-row-check-box" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
backgroundImage : tv.getCssImage( "Table-Checkbox", "background-image" )
};
}
},
"table-gridline-vertical" : {
style : function( states ) {
var verticalState = { "vertical" : true };
var tv = new rwt.theme.ThemeValues( verticalState );
var gridColor = tv.getCssColor( "Table-GridLine", "color" );
gridColor = gridColor == "undefined" ? "transparent" : gridColor;
var result = {};
result.border = new rwt.html.Border( [ 0, 0, 0, 1 ], "solid", gridColor );
return result;
}
}
,
"text-field" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.font = tv.getCssFont( "Text", "font" );
result.textColor = tv.getCssColor( "Text", "color" );
result.backgroundColor = tv.getCssColor( "Text", "background-color" );
result.backgroundImage = tv.getCssImage( "Text", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Text", "background-image" );
result.border = tv.getCssBorder( "Text", "border" );
// [if] Do not apply top/bottom paddings on the client
var cssPadding = tv.getCssBoxDimensions( "Text", "padding" );
result.paddingRight = cssPadding[ 1 ];
result.paddingLeft = cssPadding[ 3 ];
result.textShadow = tv.getCssShadow( "Text", "text-shadow" );
result.shadow = tv.getCssShadow( "Text", "box-shadow" );
return result;
}
},
"text-field-message" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.font = tv.getCssFont( "Text", "font" );
result.textColor = tv.getCssColor( "Text-Message", "color" );
// [if] Do not apply top/bottom paddings on the client
var cssPadding = tv.getCssBoxDimensions( "Text", "padding" );
result.paddingRight = cssPadding[ 1 ];
result.paddingLeft = cssPadding[ 3 ];
result.horizontalChildrenAlign = "left";
result.textShadow = tv.getCssShadow( "Text-Message", "text-shadow" );
return result;
}
},
"text-area" : {
include : "text-field",
style : function( states ) {
return {
padding : [ 0, 0, 0, 3 ]
};
}
}
,
"toolbar" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
font : tv.getCssFont( "ToolBar", "font" ),
overflow : "hidden",
border : tv.getCssBorder( "ToolBar", "border" ),
textColor : tv.getCssColor( "ToolBar", "color" ),
backgroundColor : tv.getCssColor( "ToolBar", "background-color" ),
backgroundGradient : tv.getCssGradient( "ToolBar", "background-image" ),
backgroundImage : tv.getCssImage( "ToolBar", "background-image" ),
opacity : tv.getCssFloat( "ToolBar", "opacity" )
};
}
},
"toolbar-separator" : {
style : function( states ) {
return {};
}
},
"toolbar-separator-line" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = null;
if( states.vertical ) {
result = {
left : 2,
height : 2,
right : 2,
border : tv.getCssNamedBorder( "verticalDivider" )
};
} else {
result = {
top : 2,
width : 2,
bottom : 2,
border : tv.getCssNamedBorder( "horizontalDivider" )
};
}
return result;
}
},
"toolbar-button" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
cursor : "default",
overflow : "hidden",
width : "auto",
verticalChildrenAlign : "middle"
};
result.spacing = tv.getCssDimension( "ToolItem", "spacing" );
result.animation = tv.getCssAnimation( "ToolItem", "animation" );
result.textColor = tv.getCssColor( "ToolItem", "color" );
result.textShadow = tv.getCssShadow( "ToolItem", "text-shadow" );
result.backgroundColor = tv.getCssColor( "ToolItem", "background-color" );
result.opacity = tv.getCssFloat( "ToolItem", "opacity" );
result.backgroundImage = tv.getCssImage( "ToolItem", "background-image" );
result.backgroundGradient = tv.getCssGradient( "ToolItem", "background-image" );
result.border = tv.getCssBorder( "ToolItem", "border" );
result.padding = tv.getCssBoxDimensions( "ToolItem", "padding" );
result.horizontalChildrenAlign = states.rwt_VERTICAL ? "left" : "center";
if( states.dropDown ) {
result.dropDownArrow = tv.getCssSizedImage( "ToolItem-DropDownIcon", "background-image" );
result.separatorBorder = tv.getCssBorder( "ToolItem-DropDownIcon", "border" );
} else {
result.dropDownArrow = null;
result.separatorBorder = null;
}
return result;
}
}
,
"tree" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
backgroundColor : tv.getCssColor( "Tree", "background-color" ),
textColor : tv.getCssColor( "Tree", "color" ),
font : tv.getCssFont( "Tree", "font" ),
border : tv.getCssBorder( "Tree", "border" )
};
}
},
"tree-row" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.itemBackground = tv.getCssColor( "TreeItem", "background-color" );
result.itemBackgroundImage = tv.getCssImage( "TreeItem", "background-image" );
result.itemBackgroundGradient = tv.getCssGradient( "TreeItem", "background-image" );
result.itemForeground = tv.getCssColor( "TreeItem", "color" );
result.overlayBackground = tv.getCssColor( "Tree-RowOverlay", "background-color" );
result.overlayBackgroundImage = tv.getCssImage( "Tree-RowOverlay", "background-image" );
result.overlayBackgroundGradient = tv.getCssGradient( "Tree-RowOverlay", "background-image" );
result.overlayForeground = tv.getCssColor( "Tree-RowOverlay", "color" );
result.textDecoration = tv.getCssIdentifier( "TreeItem", "text-decoration" );
result.textShadow = tv.getCssShadow( "TreeItem", "text-shadow" );
return result;
}
},
"tree-row-check-box" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
backgroundImage : tv.getCssImage( "Tree-Checkbox", "background-image" )
};
}
},
"tree-row-indent" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
backgroundImage : tv.getCssImage( "Tree-Indent", "background-image" )
};
}
},
"tree-column" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.cursor = "default";
result.spacing = 2;
result.textColor = tv.getCssColor( "TreeColumn", "color" );
result.font = tv.getCssFont( "TreeColumn", "font" );
if( states.footer ) {
//result.backgroundColor = "#efefef"; // this would make it "merged" with scrollbars
result.backgroundColor = "#dddddd";
result.backgroundImage = null;
result.backgroundGradient = null;
} else {
result.backgroundColor = tv.getCssColor( "TreeColumn", "background-color" );
result.backgroundImage = tv.getCssImage( "TreeColumn", "background-image" );
result.backgroundGradient = tv.getCssGradient( "TreeColumn", "background-image" );
}
result.opacity = states.moving ? 0.85 : 1.0;
result.padding = tv.getCssBoxDimensions( "TreeColumn", "padding" );
var borderColors = [ null, null, null, null ];
var borderWidths = [ 0, 0, 0, 0 ];
var borderStyles = [ "solid", "solid", "solid", "solid" ];
if( !states.dummy && !states.footer ) {
var verticalState = { "vertical" : true };
var tvGrid = new rwt.theme.ThemeValues( verticalState );
var gridColor = tvGrid.getCssColor( "Tree-GridLine", "color" );
gridColor = gridColor == "undefined" ? "transparent" : gridColor;
borderColors[ 1 ] = gridColor;
borderWidths[ 1 ] = 1;
if( states.moving ) {
borderColors[ 3 ] = gridColor;
borderWidths[ 3 ] = 1;
}
}
var borderBottom = tv.getCssBorder( "TreeColumn", "border-bottom" );
if( states.footer ) {
borderWidths[ 0 ] = borderBottom.getWidthBottom();
borderStyles[ 0 ] = "solid";
borderColors[ 0 ] = "#000000";
} else {
borderWidths[ 2 ] = borderBottom.getWidthBottom();
borderStyles[ 2 ] = borderBottom.getStyleBottom();
borderColors[ 2 ] = borderBottom.getColorBottom();
}
result.border = new rwt.html.Border( borderWidths, borderStyles, borderColors );
result.textShadow = tv.getCssShadow( "TreeColumn", "text-shadow" );
return result;
}
},
"tree-column-sort-indicator" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.backgroundImage = tv.getCssSizedImage( "TreeColumn-SortIndicator", "background-image" );
return result;
}
},
"tree-column-chevron" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
if( states.loading ) {
result.backgroundImage = [ "widget/tree/loading.gif", 16, 16 ];
} else {
var source = "widget/arrows/chevron-";
source += states.expanded ? "left" : "right";
source += states.mouseover ? "-hover" : "";
source += ".png";
result.backgroundImage = [ source, 10, 7 ];
}
return result;
}
},
"scale" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
border : tv.getCssBorder( "Scale", "border" ),
font : tv.getCssFont( "*", "font" ),
textColor : tv.getCssColor( "*", "color" ),
backgroundColor : tv.getCssColor( "Scale", "background-color" )
};
}
},
"scale-line" : {
include : "image",
style : function( states ) {
var result = {};
if( states.horizontal ) {
result.left = rwt.widgets.Scale.PADDING;
result.top = rwt.widgets.Scale.SCALE_LINE_OFFSET;
result.source = "widget/scale/h_line.gif";
} else {
result.left = rwt.widgets.Scale.SCALE_LINE_OFFSET;
result.top = rwt.widgets.Scale.PADDING;
result.source = "widget/scale/v_line.gif";
}
return result;
}
},
"scale-thumb" : {
include : "atom",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
if( states.horizontal ) {
result.left = rwt.widgets.Scale.PADDING;
result.top = rwt.widgets.Scale.THUMB_OFFSET;
// TODO: make it themable
result.width = 11;
result.height = 21;
} else {
result.left = rwt.widgets.Scale.THUMB_OFFSET;
result.top = rwt.widgets.Scale.PADDING;
// TODO: make it themable
result.width = 21;
result.height = 11;
}
// TODO: add themable background-image (gradient)
result.border = tv.getCssBorder( "Scale-Thumb", "border" );
result.backgroundColor = tv.getCssColor( "Scale-Thumb", "background-color" );
return result;
}
}
,
"datetime-date" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "DateTime", "border" );
result.font = tv.getCssFont( "DateTime", "font" );
result.textColor = tv.getCssColor( "DateTime", "color" );
result.backgroundColor = tv.getCssColor( "DateTime", "background-color" );
result.backgroundGradient = tv.getCssGradient( "DateTime", "background-image" );
result.textShadow = tv.getCssShadow( "DateTime", "text-shadow" );
return result;
}
},
"datetime-time" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "DateTime", "border" );
result.font = tv.getCssFont( "DateTime", "font" );
result.textColor = tv.getCssColor( "DateTime", "color" );
result.backgroundColor = tv.getCssColor( "DateTime", "background-color" );
result.backgroundGradient = tv.getCssGradient( "DateTime", "background-image" );
result.textShadow = tv.getCssShadow( "DateTime", "text-shadow" );
return result;
}
},
"datetime-calendar" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "DateTime", "border" );
result.font = tv.getCssFont( "*", "font" );
result.textColor = tv.getCssColor( "DateTime", "color" );
result.backgroundColor = tv.getCssColor( "DateTime", "background-color" );
result.textShadow = tv.getCssShadow( "DateTime", "text-shadow" );
return result;
}
},
"datetime-field" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
cursor : "default",
textAlign : "center",
padding : [ 0, 3 ]
};
if( states.selected ) {
result.textColor = tv.getCssColor( "DateTime-Field", "color" );
result.backgroundColor = tv.getCssColor( "DateTime-Field", "background-color" );
} else {
result.textColor = tv.getCssColor( "*", "color" );
result.backgroundColor = "undefined";
}
result.textShadow = tv.getCssShadow( "DateTime-Field", "text-shadow" );
return result;
}
},
"datetime-separator" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
cursor : "default"
};
return result;
}
},
"datetime-button-up" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
var border = tv.getCssBorder( "DateTime-UpButton", "border" );
var borderLeft = tv.getCssBorder( "DateTime-UpButton", "border-left" );
result.border = tv.mergeBorders( border, null, null, null, borderLeft );
result.width = tv.getCssDimension( "DateTime-UpButton", "width" );
result.icon = tv.getCssImage( "DateTime-UpButton-Icon",
"background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssImage( "DateTime-UpButton", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "DateTime-UpButton", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "DateTime-UpButton", "background-image" );
result.backgroundColor = tv.getCssColor( "DateTime-UpButton", "background-color" );
result.cursor = tv.getCssCursor( "DateTime-UpButton", "cursor" );
return result;
}
},
"datetime-button-down" : {
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
var border = tv.getCssBorder( "DateTime-DownButton", "border" );
var borderLeft = tv.getCssBorder( "DateTime-DownButton", "border-left" );
result.border = tv.mergeBorders( border, null, null, null, borderLeft );
result.width = tv.getCssDimension( "DateTime-DownButton", "width" );
result.icon = tv.getCssImage( "DateTime-DownButton-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssImage( "DateTime-DownButton", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "DateTime-DownButton", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "DateTime-DownButton", "background-image" );
result.backgroundColor = tv.getCssColor( "DateTime-DownButton", "background-color" );
result.cursor = tv.getCssCursor( "DateTime-DownButton", "cursor" );
return result;
}
},
"datetime-drop-down-button" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
var border = tv.getCssBorder( "DateTime-DropDownButton", "border" );
var borderLeft = tv.getCssBorder( "DateTime-DropDownButton", "border-left" );
result.border = tv.mergeBorders( border, null, null, null, borderLeft );
result.icon = tv.getCssImage( "DateTime-DropDownButton-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssImage( "DateTime-DropDownButton", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "DateTime-DropDownButton", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "DateTime-DropDownButton", "background-image" );
result.backgroundColor = tv.getCssColor( "DateTime-DropDownButton", "background-color" );
result.cursor = tv.getCssCursor( "DateTime-DropDownButton", "cursor" );
return result;
}
},
"datetime-drop-down-calendar" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "DateTime-DropDownCalendar", "border" );
result.backgroundColor = tv.getCssColor( "DateTime", "background-color" );
return result;
}
},
//------------------------------------------------------------------------
// Calendar
"calendar-navBar" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
border : tv.getCssBorder( "DateTime-Calendar-Navbar", "border" ),
backgroundColor : tv.getCssColor( "DateTime-Calendar-Navbar", "background-color" ),
backgroundImage : tv.getCssImage( "DateTime-Calendar-Navbar", "background-image" ),
backgroundGradient : tv.getCssGradient( "DateTime-Calendar-Navbar", "background-image" ),
padding : [ 4, 4, 4, 4 ]
};
}
},
"calendar-toolbar-button" : {
style : function( states ) {
var result = {
spacing : 4,
width : 16,
height : 16,
clipWidth : 16,
clipHeight : 16,
verticalChildrenAlign : "middle"
};
if (states.pressed || states.checked || states.abandoned) {
result.padding = [ 2, 0, 0, 2 ];
} else {
result.padding = 2;
}
return result;
}
},
"calendar-toolbar-previous-year-button" : {
include: "calendar-toolbar-button",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
icon : tv.getCssImage( "DateTime-Calendar-PreviousYearButton", "background-image" ),
cursor : tv.getCssCursor( "DateTime-Calendar-PreviousYearButton", "cursor" )
};
}
},
"calendar-toolbar-previous-month-button" : {
include: "calendar-toolbar-button",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
icon : tv.getCssImage( "DateTime-Calendar-PreviousMonthButton", "background-image" ),
cursor : tv.getCssCursor( "DateTime-Calendar-PreviousMonthButton", "cursor" )
};
}
},
"calendar-toolbar-next-month-button" : {
include: "calendar-toolbar-button",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
icon : tv.getCssImage( "DateTime-Calendar-NextMonthButton", "background-image" ),
cursor : tv.getCssCursor( "DateTime-Calendar-NextMonthButton", "cursor" )
};
}
},
"calendar-toolbar-next-year-button" : {
include: "calendar-toolbar-button",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
icon : tv.getCssImage( "DateTime-Calendar-NextYearButton", "background-image" ),
cursor : tv.getCssCursor( "DateTime-Calendar-NextYearButton", "cursor" )
};
}
},
"calendar-monthyear" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
font : tv.getCssFont( "DateTime-Calendar-Navbar", "font" ),
textAlign : "center",
textColor : tv.getCssColor( "DateTime-Calendar-Navbar", "color" ),
textShadow : tv.getCssShadow( "DateTime-Calendar-Navbar", "text-shadow" ),
verticalAlign : "middle",
cursor : "default"
};
}
},
"calendar-datepane" : {
style : function( states ) {
return {
backgroundColor : "undefined"
};
}
},
"calendar-week" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
if( states.header ) {
var border = new rwt.html.Border( [ 0, 1, 1, 0 ], "solid", "gray" );
} else {
var border = new rwt.html.Border( [ 0, 1, 0, 0 ], "solid", "gray" );
}
return {
textAlign : "center",
verticalAlign : "middle",
border : border
};
}
},
"calendar-weekday" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var border = new rwt.html.Border( [ 0, 0, 1, 0 ], "solid", "gray" );
// FIXME: [if] Bigger font size leads to text cutoff
var font = tv.getCssFont( "*", "font" );
var smallFont = rwt.html.Font.fromString( font.toCss() );
smallFont.setSize( 11 );
return {
font : smallFont,
border : border,
textAlign : "center"
};
}
},
"calendar-day" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
textAlign : "center",
verticalAlign : "middle"
};
if( !states.disabled && ( states.selected || states.otherMonth || states.over ) ) {
result.textColor = tv.getCssColor( "DateTime-Calendar-Day", "color" );
result.backgroundColor = tv.getCssColor( "DateTime-Calendar-Day", "background-color" );
} else {
result.textColor = tv.getCssColor( "*", "color" );
result.backgroundColor = "undefined";
}
result.textShadow = tv.getCssShadow( "DateTime-Calendar-Day", "text-shadow" );
var borderColor = states.disabled ? tv.getCssColor( "*", "color" ) : "red";
var border = new rwt.html.Border( 1, "solid", borderColor );
result.border = states.today ? border : "undefined";
return result;
}
}
,
"expand-bar" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "ExpandBar", "border" );
result.font = tv.getCssFont( "ExpandBar", "font" );
result.textColor = tv.getCssColor( "ExpandBar", "color" );
return result;
}
},
"expand-item" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
overflow : "hidden",
border : tv.getCssBorder( "ExpandItem", "border" )
};
}
},
"expand-item-chevron-button" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.width = 16;
result.height = 16;
result.clipWidth = 16;
result.clipHeight = 16;
result.right = 4;
result.source = tv.getCssImage( "ExpandItem-Button", "background-image" );
result.cursor = tv.getCssCursor( "ExpandItem-Header", "cursor" );
return result;
}
},
"expand-item-header" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.top = 0;
result.left = 0;
result.width = "100%";
result.horizontalChildrenAlign = "left";
result.verticalChildrenAlign = "middle";
result.paddingLeft = 4;
result.paddingRight = 24;
result.border = tv.getCssBorder( "ExpandItem-Header", "border" );
result.backgroundColor = tv.getCssColor( "ExpandItem-Header", "background-color" );
result.cursor = tv.getCssCursor( "ExpandItem-Header", "cursor" );
result.backgroundImage = tv.getCssImage( "ExpandItem-Header", "background-image" );
result.backgroundGradient = tv.getCssGradient( "ExpandItem-Header", "background-image" );
result.textShadow = tv.getCssShadow( "ExpandItem-Header", "text-shadow" );
return result;
}
}
,
"sash" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
backgroundColor : tv.getCssColor( "Sash", "background-color" ),
backgroundImage : tv.getCssImage( "Sash", "background-image" ),
border : tv.getCssBorder( "Sash", "border" ),
cursor : states.disabled ? "undefined" : states.horizontal ? "row-resize" : "col-resize"
};
}
},
"sash-slider" : {
style : function( states ) {
return {
zIndex : 1e7,
opacity : 0.3,
backgroundColor : "black"
};
}
},
"sash-handle" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.backgroundImage = tv.getCssImage( "Sash-Handle", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Sash-Handle", "background-image" );
result.backgroundRepeat = "no-repeat";
return result;
}
}
,
"slider" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
border : tv.getCssBorder( "Slider", "border" ),
font : tv.getCssFont( "*", "font" ),
textColor : tv.getCssColor( "*", "color" ),
backgroundColor : tv.getCssColor( "Slider", "background-color" )
};
}
},
"slider-thumb" : {
include : "atom",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.backgroundColor = tv.getCssColor( "Slider-Thumb", "background-color" );
result.border = tv.getCssBorder( "Slider-Thumb", "border" );
result.backgroundImage = tv.getCssImage( "Slider-Thumb", "background-image" );
result.backgroundGradient = tv.getCssGradient( "Slider-Thumb", "background-image" );
return result;
}
},
"slider-min-button" : {
include : "atom",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.font = tv.getCssFont( "Button", "font" );
result.textColor = tv.getCssColor( "Button", "color" );
result.spacing = tv.getCssDimension( "Button", "spacing" );
result.padding = tv.getCssBoxDimensions( "Slider-DownButton", "padding" );
result.backgroundColor = tv.getCssColor( "Slider-DownButton", "background-color" );
result.icon = tv.getCssSizedImage( "Slider-DownButton-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssSizedImage( "Slider-DownButton", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "Slider-DownButton", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "Slider-DownButton", "background-image" );
result.border = tv.getCssBorder( "Slider-DownButton", "border" );
if( states[ "rwt_HORIZONTAL" ] ){
result.width = 16;
} else {
result.height = 16;
}
result.cursor = tv.getCssCursor( "Slider-DownButton", "cursor" );
return result;
}
},
"slider-max-button" : {
include : "atom",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.font = tv.getCssFont( "Button", "font" );
result.textColor = tv.getCssColor( "Button", "color" );
result.spacing = tv.getCssDimension( "Button", "spacing" );
result.padding = tv.getCssBoxDimensions( "Slider-UpButton", "padding" );
result.backgroundColor = tv.getCssColor( "Slider-UpButton", "background-color" );
result.icon = tv.getCssSizedImage( "Slider-UpButton-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssSizedImage( "Slider-UpButton", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "Slider-UpButton", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "Slider-UpButton", "background-image" );
result.border = tv.getCssBorder( "Slider-UpButton", "border" );
if( states[ "rwt_HORIZONTAL" ] ) {
result.width = 16;
} else {
result.height = 16;
}
result.cursor = tv.getCssCursor( "Slider-UpButton", "cursor" );
return result;
}
}
,
"tool-tip" : {
include : "popup",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.width = "auto";
result.height = "auto";
result.minWidth = 36;
result.minHeight = 36;
result.cursor = tv.getCssCursor( "ToolTip", "cursor" );
result.font = tv.getCssFont( "ToolTip", "font" );
result.textColor = tv.getCssColor( "ToolTip", "color" );
result.padding = tv.getCssBoxDimensions( "ToolTip", "padding" );
result.border = tv.getCssBorder( "ToolTip", "border" );
result.backgroundColor = tv.getCssColor( "ToolTip", "background-color" );
result.backgroundImage = tv.getCssImage( "ToolTip", "background-image" );
result.backgroundGradient = tv.getCssGradient( "ToolTip", "background-image" );
result.animation = tv.getCssAnimation( "ToolTip", "animation" );
result.opacity = tv.getCssFloat( "ToolTip", "opacity" );
result.shadow = tv.getCssShadow( "ToolTip", "box-shadow" );
return result;
}
},
"tool-tip-image" : {
include: "image",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
source : tv.getCssImage( "ToolTip-Image", "background-image" )
};
}
},
"tool-tip-text" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
font : tv.getCssFont( "ToolTip-Text", "font" ),
textColor : tv.getCssColor( "ToolTip-Text", "color" ),
textShadow : tv.getCssShadow( "ToolTip-Text", "text-shadow" )
};
return result;
}
},
"tool-tip-message" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
font : tv.getCssFont( "ToolTip-Message", "font" ),
textColor : tv.getCssColor( "ToolTip-Message", "color" ),
textShadow : tv.getCssShadow( "ToolTip-Message", "text-shadow" )
};
return result;
}
}
,
"ccombo" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "CCombo", "border" );
result.backgroundColor = tv.getCssColor( "CCombo", "background-color" );
result.backgroundGradient = tv.getCssGradient( "CCombo", "background-image" );
result.textColor = tv.getCssColor( "CCombo", "color" );
result.font = tv.getCssFont( "CCombo", "font" );
result.shadow = tv.getCssShadow( "CCombo", "box-shadow" );
return result;
}
},
"ccombo-list" : {
include : "list",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.border = tv.getCssBorder( "CCombo-List", "border" );
result.textColor = tv.getCssColor( "CCombo", "color" );
result.font = tv.getCssFont( "CCombo", "font" );
result.backgroundColor = tv.getCssColor( "CCombo", "background-color" );
result.shadow = tv.getCssShadow( "CCombo-List", "box-shadow" );
result.textShadow = tv.getCssShadow( "CCombo", "text-shadow" );
return result;
}
},
"ccombo-field" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.font = tv.getCssFont( "CCombo", "font" );
// [if] Do not apply top/bottom paddings on the client
var cssPadding = tv.getCssBoxDimensions( "CCombo-Field", "padding" );
result.paddingRight = cssPadding[ 1 ];
result.paddingLeft = cssPadding[ 3 ];
result.width = null;
result.height = null;
result.left = 0;
result.right = tv.getCssDimension( "CCombo-Button", "width" );
result.top = 0;
result.bottom = 0;
result.textColor = tv.getCssColor( "CCombo", "color" );
result.textShadow = tv.getCssShadow( "CCombo", "text-shadow" );
return result;
}
},
"ccombo-button" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
var border = tv.getCssBorder( "CCombo-Button", "border" );
var borderLeft = tv.getCssBorder( "CCombo-Button", "border-left" );
result.border = tv.mergeBorders( border, null, null, null, borderLeft );
result.width = tv.getCssDimension( "CCombo-Button", "width" );
result.height = null;
result.top = 0;
result.bottom = 0;
result.right = 0;
result.icon = tv.getCssImage( "CCombo-Button-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssImage( "CCombo-Button", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "CCombo-Button", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "CCombo-Button", "background-image" );
// TODO [rst] rather use button.bgcolor?
result.backgroundColor = tv.getCssColor( "CCombo-Button", "background-color" );
result.cursor = tv.getCssCursor( "CCombo-Button", "cursor" );
return result;
}
}
,
"clabel" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.textColor = tv.getCssColor( "CLabel", "color" );
result.backgroundColor = tv.getCssColor( "CLabel", "background-color" );
result.font = tv.getCssFont( "CLabel", "font" );
if( states.rwt_SHADOW_IN ) {
result.border = tv.getCssNamedBorder( "thinInset" );
} else if( states.rwt_SHADOW_OUT ) {
result.border = tv.getCssNamedBorder( "thinOutset" );
} else {
result.border = tv.getCssBorder( "CLabel", "border" );
}
result.backgroundImage = tv.getCssImage( "CLabel", "background-image" );
result.backgroundGradient = tv.getCssGradient( "CLabel", "background-image" );
result.cursor = tv.getCssCursor( "CLabel", "cursor" );
result.padding = tv.getCssBoxDimensions( "CLabel", "padding" );
result.spacing = tv.getCssDimension( "CLabel", "spacing" );
result.opacity = tv.getCssFloat( "CLabel", "opacity" );
result.textShadow = tv.getCssShadow( "CLabel", "text-shadow" );
return result;
}
}
,
"browser" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
return {
border : tv.getCssBorder( "Browser", "border" ),
backgroundColor : "white"
};
}
}
,
"scrolledcomposite" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
if( states.rwt_BORDER ) {
result.border = tv.getCssNamedBorder( "shadow" );
} else {
result.border = tv.getCssBorder( "*", "border" );
}
return result;
}
}
,
"scrollbar" : {
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {
border : tv.getCssBorder( "ScrollBar", "border" ),
backgroundColor : tv.getCssColor( "ScrollBar", "background-color" ),
backgroundImage : tv.getCssImage( "ScrollBar", "background-image" ),
backgroundGradient : tv.getCssGradient( "ScrollBar", "background-image" )
};
var width = tv.getCssDimension( "ScrollBar", "width" );
if( states[ "rwt_HORIZONTAL" ] ) {
result.height = width;
} else {
result.width = width;
}
return result;
}
},
"scrollbar-thumb" : {
include : "atom",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.backgroundColor = tv.getCssColor( "ScrollBar-Thumb", "background-color" );
result.border = tv.getCssBorder( "ScrollBar-Thumb", "border" );
result.backgroundImage = tv.getCssImage( "ScrollBar-Thumb", "background-image" );
result.backgroundGradient = tv.getCssGradient( "ScrollBar-Thumb", "background-image" );
result.icon = tv.getCssSizedImage( "ScrollBar-Thumb-Icon", "background-image" );
return result;
}
},
"scrollbar-min-button" : {
include : "atom",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.spacing = tv.getCssDimension( "Button", "spacing" );
result.padding = tv.getCssBoxDimensions( "Button", "padding" );
result.backgroundColor = tv.getCssColor( "ScrollBar-DownButton", "background-color" );
result.icon = tv.getCssSizedImage( "ScrollBar-DownButton-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssSizedImage( "ScrollBar-DownButton", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "ScrollBar-DownButton", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "ScrollBar-DownButton", "background-image" );
result.border = tv.getCssBorder( "ScrollBar-DownButton", "border" );
var width = tv.getCssDimension( "ScrollBar", "width" );
if( states[ "rwt_HORIZONTAL" ] ){
result.width = width;
} else {
result.height = width;
}
result.cursor = tv.getCssCursor( "ScrollBar-DownButton", "cursor" );
return result;
}
},
"scrollbar-max-button" : {
include : "atom",
style : function( states ) {
var tv = new rwt.theme.ThemeValues( states );
var result = {};
result.font = tv.getCssFont( "Button", "font" );
result.textColor = tv.getCssColor( "Button", "color" );
result.spacing = tv.getCssDimension( "Button", "spacing" );
result.padding = tv.getCssBoxDimensions( "Button", "padding" );
result.backgroundColor = tv.getCssColor( "ScrollBar-UpButton", "background-color" );
result.icon = tv.getCssSizedImage( "ScrollBar-UpButton-Icon", "background-image" );
if( result.icon === rwt.theme.ThemeValues.NONE_IMAGE ) {
result.icon = tv.getCssSizedImage( "ScrollBar-UpButton", "background-image" );
} else {
result.backgroundImage = tv.getCssImage( "ScrollBar-UpButton", "background-image" );
}
result.backgroundGradient = tv.getCssGradient( "ScrollBar-UpButton", "background-image" );
result.border = tv.getCssBorder( "ScrollBar-UpButton", "border" );
var width = tv.getCssDimension( "ScrollBar", "width" );
if( states[ "rwt_HORIZONTAL" ] ) {
result.width = width;
} else {
result.height = width;
}
result.cursor = tv.getCssCursor( "ScrollBar-UpButton", "cursor" );
return result;
}
}
,
"file-upload" : {
include : "atom",
style : function( states ) {
var result = {};
var tv = new rwt.theme.ThemeValues( states );
result.font = tv.getCssFont( "FileUpload", "font" );
result.textColor = tv.getCssColor( "FileUpload", "color" );
result.backgroundColor = tv.getCssColor( "FileUpload", "background-color" );
result.backgroundImage = tv.getCssImage( "FileUpload", "background-image" );
result.backgroundGradient = tv.getCssGradient( "FileUpload", "background-image" );
result.border = tv.getCssBorder( "FileUpload", "border" );
result.spacing = tv.getCssDimension( "FileUpload", "spacing" );
result.padding = tv.getCssBoxDimensions( "FileUpload", "padding" );
result.cursor = tv.getCssCursor( "FileUpload", "cursor" );
result.opacity = tv.getCssFloat( "FileUpload", "opacity" );
result.textShadow = tv.getCssShadow( "FileUpload", "text-shadow" );
result.animation = tv.getCssAnimation( "FileUpload", "animation" );
return result;
}
}
}
} );