package com.socialfeedr.borders; import org.apache.wicket.AttributeModifier; import org.apache.wicket.Component; import org.apache.wicket.Page; import org.apache.wicket.behavior.AbstractBehavior; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.html.border.Border; import org.apache.wicket.markup.html.link.BookmarkablePageLink; import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.model.AbstractReadOnlyModel; import com.socialfeedr.pages.Index; import com.socialfeedr.pages.Join; import com.socialfeedr.pages.Learn; public class MainMenu extends Border { private static final long serialVersionUID = 1L; public MainMenu(String id) { super(id); IndexLink l1 = new IndexLink("home",Index.class); BookmarkablePageLink l2 = new BookmarkablePageLink("learn",Learn.class); BookmarkablePageLink l3 = new BookmarkablePageLink("join",Join.class); add(l1); add(l2); add(l3); /// ugh don't get it?! if(l1.linksTo((Page)getParent())) l1.add(new HighlightLink()); // if(l1.linksTo(getPage())) // l1.add(new HighlightLink()); // if(l2.linksTo(new Learn())) // l2.add(new HighlightLink()); } public class IndexLink extends BookmarkablePageLink { public IndexLink(String arg0, Class arg1) { super(arg0, arg1); } public boolean linksTo(Page p) { return p instanceof Index; } private static final long serialVersionUID = 1L; } public class HighlightLink extends AbstractBehavior { private static final long serialVersionUID = 1L; public HighlightLink() { super(); } public void onComponentTag(Component arg0, ComponentTag tag) { tag.put("class", "selected"); } } }