/* * Copyright 2009 Rodrigo Reyes reyes.rr at gmail dot com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package net.kornr.swit.site; import java.awt.Color; import java.awt.Font; import net.kornr.swit.button.ButtonResource; import net.kornr.swit.button.ButtonTemplate; import net.kornr.swit.button.effect.Rotate; import net.kornr.swit.button.effect.ShadowBorder; import net.kornr.swit.wicket.border.TableImageBorder; import net.kornr.swit.wicket.border.graphics.GlossyRoundedBorderMaker; import net.kornr.swit.wicket.border.graphics.RoundedBorderMaker; import net.kornr.swit.wicket.layout.ColumnPanel; import net.kornr.swit.wicket.layout.LayoutInfo; import net.kornr.swit.wicket.layout.ThreeColumnsLayoutManager; import net.kornr.swit.wicket.layout.threecol.ThreeColumnsLayoutBorderFixed; import net.kornr.swit.wicket.layout.threecol.ThreeColumnsLayoutBorderPc; import net.kornr.swit.wicket.layout.threecol.ThreeColumnsLayoutResource; import org.apache.wicket.Component; import org.apache.wicket.ResourceReference; import org.apache.wicket.markup.html.IHeaderContributor; import org.apache.wicket.markup.html.IHeaderResponse; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.image.Image; import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.model.Model; public class BasePage extends WebPage implements IHeaderContributor { static private Color s_innerColor = new Color(0xF8,0xf8,0xf7); static private Long s_border = RoundedBorderMaker.register(20, 3.5f, new Color(0xC5,0xC5,0xC5), s_innerColor); static private ButtonTemplate s_logoTemplate = new net.kornr.swit.button.VistafarianButton(); static { s_logoTemplate.setFont(new Font("Verdana", Font.BOLD|Font.ITALIC, 48)); s_logoTemplate.setWidth(200); s_logoTemplate.setHeight(60); s_logoTemplate.setFontColor(new Color(0xFFFFFF)); s_logoTemplate.setAutoExtend(Boolean.TRUE); s_logoTemplate.setShadowDisplayed(Boolean.TRUE); s_logoTemplate.addEffect(new ShadowBorder(8,0,0,Color.black)); s_logoTemplate.addEffect(new Rotate(-0.1d)); } static private LayoutInfo s_layout = new LayoutInfo(LayoutInfo.UNIT_PIXEL, 250, 0); static { ThreeColumnsLayoutResource.register(s_layout); s_layout.setLeftColor(new Color(0xCCCCFF)); s_layout.setMiddleColor(new Color(0xCCCCFF)); } static private ThreeColumnsLayoutManager m_layout; private WebMarkupContainer m_container; public BasePage() { this.add(new Label("page-title", "Swit - " + getPageTitle())); this.add(m_layout = new ThreeColumnsLayoutManager("layout", s_layout)); m_layout.add(m_container = new TableImageBorder("outer-border", s_border, s_innerColor)); ColumnPanel col = m_layout.getLeftColumn(); col.setDefaultInlineCss(new Model<String>("text-align:center;")); Fragment frag = new Fragment(col.getContentId(), "imagefrag", this); frag.add(new Image("image", ButtonResource.getReference(), ButtonResource.getValueMap(s_logoTemplate, "SWIT"))); col.addContent(frag); Menu menu = new Menu(col.getContentId()); menu.setSelectedClass(this.getClass()); col.addContent(menu); } protected String getPageTitle() { return "Home"; } protected void innerAdd(Component... comps) { m_container.add(comps); } static protected Color getInnerColor() { return s_innerColor; } static protected Long getOuterBorder() { return s_border; } public void renderHead(IHeaderResponse response) { response.renderCSSReference(new ResourceReference(BasePage.class, "BasePage.css")); } }