/** * The constructor. All initialization and Theme customization is performed * here. * @access public **/ function DobomodeTheme() { $this->Theme("Dobomode Theme", "The Dobomode Theme by Dobo Radichkov. Visit <a href=\"http://www.dobomode.com\">www.dobomode.com</a> for more information."); // Add some global styles // ===================================================================== // body $style = new StyleCollection("body", null, "Global Style", "Style settings affecting the overall look and feel."); $style->addSP(new FontFamilySP("'Arial', 'Helvetica', 'Verdana'")); $style->addSP(new FontSizeSP("10pt")); $style->addSP(new ColorSP("#262D34")); $style->addSP(new BackgroundColorSP("#5D7D9C")); $style->addSP(new TextAlignSP("center")); $style->addSP(new OverflowSP("auto")); $style->addSP(new MarginSP("0px")); // the following scrollbar style properties are not part of GUIManager // create them manually $sp = new StyleProperty("scrollbar-face-color", "Scrollbar Face Color", "Scrollbar Face Color"); $sp->addSC(new ColorSC("#A4B9CD")); $style->addSP($sp); $sp = new StyleProperty("scrollbar-shadow-color", "Scrollbar Shadow Color", "Scrollbar Shadow Color"); $sp->addSC(new ColorSC("#A4B9CD")); $style->addSP($sp); $sp = new StyleProperty("scrollbar-highlight-color", "Scrollbar Highlight Color", "Scrollbar Highlight Color"); $sp->addSC(new ColorSC("#FFFFFF")); $style->addSP($sp); $sp = new StyleProperty("scrollbar-darkshadow-color", "Scrollbar Darkshadow Color", "Scrollbar Darkshadow Color"); $sp->addSC(new ColorSC("#262D34")); $style->addSP($sp); $sp = new StyleProperty("scrollbar-3dlight-color", "Scrollbar 3D Light Color", "Scrollbar 3D Light Color"); $sp->addSC(new ColorSC("#262D34")); $style->addSP($sp); $sp = new StyleProperty("scrollbar-track-color", "Scrollbar Track Track", "Scrollbar Track Color"); $sp->addSC(new ColorSC("#4C5A68")); $style->addSP($sp); $sp = new StyleProperty("scrollbar-arrow-color", "Scrollbar Arrow Color", "Scrollbar Arrow Color"); $sp->addSC(new ColorSC("#262D34")); $style->addSP($sp); $this->addGlobalStyle($style); // ===================================================================== // anchors $style = new StyleCollection("a", null, "Link Style", "Style settings affecting the look and feel of links."); $style->addSP(new TextDecorationSP("none")); $style->addSP(new FontFamilySP("'Verdana', 'Arial', 'Helvetica'")); $style->addSP(new ColorSP("#323B44")); $this->addGlobalStyle($style); $style = new StyleCollection("a:hover", null, "Link Hover Style", "Style settings affecting the look and feel of links when the mouse pointer is over them."); $style->addSP(new ColorSP("#FFFFFF")); $this->addGlobalStyle($style); // ===================================================================== // initialize wrapper object $style = new StyleCollection("*.wrapper", "wrapper", "Wrapper Style", "Style settings for wrapper component."); $style->addSP(new WidthSP("700px")); $style->addSP(new MarginSP("auto")); $style->addSP(new TextAlignSP("left")); $this->_wrapper = new Container(new FlowLayout(), BLOCK, 0, $style); // ===================================================================== // initialize main container object $style = new StyleCollection("*.main", "main", "Main Box Style", "Style settings for main content box."); $style->addSP(new FloatSP("right")); // total width with borders and padding = 500 $style->addSP(new WidthSP("468px")); // total height with borders and padding = 400 $style->addSP(new HeightSP("356px")); $style->addSP(new OverflowSP("auto")); $style->addSP(new BackgroundColorSP("#CFDBE6")); $style->addSP(new BorderSP("1px", "solid", "#262D34")); $style->addSP(new BorderTopSP("3px", "solid", "#262D34")); $style->addSP(new MarginTopSP("20px")); $style->addSP(new MarginLeftSP("10px")); $style->addSP(new PaddingTopSP("20px")); $style->addSP(new PaddingBottomSP("20px")); $style->addSP(new PaddingLeftSP("15px")); $style->addSP(new PaddingRightSP("15px")); $this->_main = new Container(new FlowLayout(), BLOCK, 0, $style); $this->_wrapper->add($this->_main); // ===================================================================== // initialize main menu // styles for level 1 menu $style = new StyleCollection("*.menu_1", "menu_1", "Level 1 Menu Style", "Style settings for level 1 menus."); $style->addSP(new FloatSP("left")); // total width with borders and padding = 160 $style->addSP(new WidthSP("138px")); $style->addSP(new OverflowSP("hidden")); $style->addSP(new BackgroundColorSP("#CFDBE6")); $style->addSP(new BorderSP("1px", "solid", "#262D34")); $style->addSP(new BorderTopSP("3px", "solid", "#262D34")); $style->addSP(new MarginTopSP("20px")); $style->addSP(new MarginRightSP("10px")); $style->addSP(new PaddingBottomSP("10px")); $style->addSP(new PaddingLeftSP("10px")); $style->addSP(new PaddingRightSP("10px")); $this->addStyleForComponentType($style, MENU, 1); // styles for level 1 menu item links $style = new StyleCollection("*.menu_item_link_1 a", "menu_item_link_1", "Level 1 Menu Link Style", "Style settings for level 1 menu links."); $style->addSP(new BackgroundColorSP("#A4B9CD")); $style->addSP(new ColorSP("#262D34")); $style->addSP(new BorderSP("1px", "solid", "#262D34")); $style->addSP(new FontFamilySP("'Verdana', 'Arial', 'Helvetica'")); $style->addSP(new FontWeightSP("bold")); $style->addSP(new TextAlignSP("center")); $style->addSP(new MarginSP("8px")); $style->addSP(new MarginTopSP("15px")); $style->addSP(new PaddingSP("3px")); $style->addSP(new DisplaySP("block")); $this->addStyleForComponentType($style, MENU_ITEM_LINK_SELECTED, 1); $this->addStyleForComponentType($style, MENU_ITEM_LINK_UNSELECTED, 1); $style = new StyleCollection("*.menu_item_link_1 a:hover", "menu_item_link_1", "Level 1 Menu Link Hover Style", "Hover style settings for level 1 menu links."); $style->addSP(new BackgroundColorSP("#4C5A68")); $style->addSP(new ColorSP("#FFFFFF")); $this->addStyleForComponentType($style, MENU_ITEM_LINK_UNSELECTED, 1); $style = new StyleCollection("*.menu_item_link_selected_1 a", "menu_item_link_selected_1", "Level 1 Selected Menu Link Style", "Style settings for level 1 selected menu links."); $style->addSP(new BorderSP("2px", "solid", "#262D34")); $style->addSP(new BackgroundColorSP("#4C5A68")); $style->addSP(new ColorSP("#FFFFFF")); $this->addStyleForComponentType($style, MENU_ITEM_LINK_SELECTED, 1); // styles for level 1 menu item headings $style = new StyleCollection("*.menu_item_heading_1", "menu_item_heading_1", "Level 1 Menu Heading", "Style settings for level 1 menu heading."); $style->addSP(new ColorSP("#000000")); $style->addSP(new FontFamilySP("'Verdana', 'Arial', 'Helvetica'")); $style->addSP(new FontWeightSP("bold")); $style->addSP(new TextAlignSP("center")); $style->addSP(new MarginTopSP("10px")); $style->addSP(new DisplaySP("block")); $this->addStyleForComponentType($style, MENU_ITEM_HEADING, 1); // styles for level 2 menu $style = new StyleCollection("*.menu_2", "menu_2", "Level 2 Menu Style", "Style settings for level 2 menus."); $style->addSP(new FloatSP("left")); $style->addSP(new FontSizeSP("8pt")); // total width with borders and padding = 120 $style->addSP(new WidthSP("108px")); $style->addSP(new OverflowSP("hidden")); $style->addSP(new BackgroundColorSP("#CFDBE6")); $style->addSP(new BorderSP("1px", "solid", "#262D34")); $style->addSP(new BorderTopSP("3px", "solid", "#262D34")); $style->addSP(new MarginTopSP("20px")); $style->addSP(new MarginLeftSP("20px")); $style->addSP(new MarginRightSP("20px")); $style->addSP(new PaddingBottomSP("5px")); $style->addSP(new PaddingLeftSP("5px")); $style->addSP(new PaddingRightSP("5px")); $this->addStyleForComponentType($style, MENU, 2); // styles for level 2 menu item links $style = new StyleCollection("*.menu_item_link_2 a", "menu_item_link_2", "Level 2 Menu Link Style", "Style settings for level 2 menu links."); $style->addSP(new BackgroundColorSP("#A4B9CD")); $style->addSP(new ColorSP("#262D34")); $style->addSP(new BorderSP("1px", "solid", "#262D34")); $style->addSP(new FontFamilySP("'Verdana', 'Arial', 'Helvetica'")); $style->addSP(new FontWeightSP("bold")); $style->addSP(new TextAlignSP("center")); $style->addSP(new MarginSP("5px")); $style->addSP(new MarginTopSP("5px")); $style->addSP(new PaddingSP("1px")); $style->addSP(new DisplaySP("block")); $this->addStyleForComponentType($style, MENU_ITEM_LINK_SELECTED, 2); $this->addStyleForComponentType($style, MENU_ITEM_LINK_UNSELECTED, 2); $style = new StyleCollection("*.menu_item_link_2 a:hover", "menu_item_link_2", "Level 2 Menu Link Hover Style", "Hover style settings for level 2 menu links."); $style->addSP(new BackgroundColorSP("#4C5A68")); $style->addSP(new ColorSP("#FFFFFF")); $this->addStyleForComponentType($style, MENU_ITEM_LINK_UNSELECTED, 2); $style = new StyleCollection("*.menu_item_link_selected_2 a", "menu_item_link_selected_2", "Level 2 Selected Menu Link Style", "Style settings for level 2 selected menu links."); $style->addSP(new BorderSP("2px", "solid", "#262D34")); $style->addSP(new BackgroundColorSP("#4C5A68")); $style->addSP(new ColorSP("#FFFFFF")); $this->addStyleForComponentType($style, MENU_ITEM_LINK_SELECTED, 2); }
function test_generic_sp() { $sp = new StyleProperty("border", "border", "The border"); $sp->addSC(new BorderStyleSC("solid")); $sp->addSC(new LineHeightSC("1px")); $sp->addSC(new ColorSC("#000")); $this->assertIdentical($sp->getName(), "border"); $this->assertIdentical($sp->getDescription(), "The border"); $this->assertIdentical($sp->getCSS(), "border: solid 1px #000;"); }