/* * Jabox Open Source Version * Copyright (C) 2009-2010 Dimitris Kapanidis * * This file is part of Jabox * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/. */ package org.jabox.webapp.panels; import java.util.List; import org.apache.wicket.AttributeModifier; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.BookmarkablePageLink; import org.apache.wicket.markup.html.list.ListItem; import org.apache.wicket.markup.html.list.PropertyListView; import org.apache.wicket.model.Model; import org.jabox.webapp.modifiers.TooltipModifier; public class TabsList extends PropertyListView<Tab> { String _target; /** * */ private static final long serialVersionUID = -2877438240039632971L; public TabsList(final String id, final List<Tab> projects) { super(id, projects); } public TabsList(final String id, final List<Tab> projects, final String target) { super(id, projects); _target = target; } @Override public void populateItem(final ListItem<Tab> listItem) { final Tab tab = listItem.getModelObject(); // Select the link if (tab.isSelected()) { listItem.add(new AttributeModifier("class", new Model<String>( "active"))); } listItem.add(new TooltipModifier(tab.getTooltip())); BookmarkablePageLink<WebPage> externalLink = new BookmarkablePageLink<WebPage>("url", tab.getPageClass()); externalLink.add(new Label("title", tab.getTitle())); // Add target to the link if (_target != null) { externalLink.add(new AttributeModifier("target", new Model<String>(_target))); } listItem.add(externalLink); } }