View Javadoc

1   package nl.gridshore.samples.raffle.web.wicket;
2   
3   import nl.gridshore.samples.raffle.business.RaffleService;
4   import nl.gridshore.samples.raffle.web.wicket.raffle.AllRafflesPage;
5   import nl.gridshore.samples.raffle.web.wicket.raffle.DoTheRafflePage;
6   import org.apache.wicket.markup.html.WebPage;
7   import org.apache.wicket.markup.html.basic.Label;
8   import org.apache.wicket.markup.html.link.BookmarkablePageLink;
9   import org.apache.wicket.markup.html.list.ListItem;
10  import org.apache.wicket.markup.html.list.ListView;
11  import org.apache.wicket.spring.injection.annot.SpringBean;
12  
13  import java.util.ArrayList;
14  import java.util.List;
15  
16  /**
17   * Created by IntelliJ IDEA.
18   * User: jettro
19   * Date: Nov 19, 2007
20   * Time: 8:37:43 PM
21   * BasePage used to get a consistent look and feel.
22   */
23  public class BasePage extends WebPage {
24      @SpringBean
25      protected RaffleService raffleService;
26  
27      public BasePage() {
28          List<MenuItem> menuItems = new ArrayList<MenuItem>();
29          menuItems.add(new MenuItem("Home", HomePage.class));
30          menuItems.add(new MenuItem("All raffles", AllRafflesPage.class));
31          menuItems.add(new MenuItem("Do the raffle", DoTheRafflePage.class));
32          ListView menuItemsComponent = new ListView("menu", menuItems) {
33  
34              protected void populateItem(ListItem item) {
35                  MenuItem menuItem = (MenuItem) item.getModelObject();
36                  BookmarkablePageLink link = new BookmarkablePageLink("link", menuItem.getLinkedPage());
37                  link.add(new Label("caption", menuItem.getCaption()));
38                  item.add(link);
39              }
40          };
41          add(menuItemsComponent);
42      }
43  }