1
2
3
4
5 package oscon2006.web.mdb;
6
7 import wicket.extensions.ajax.markup.html.tabs.AjaxTabbedPanel;
8 import wicket.extensions.markup.html.tabs.AbstractTab;
9 import wicket.markup.html.panel.Panel;
10 import wicket.markup.html.basic.Label;
11 import wicket.model.*;
12 import com.healthmarketscience.jackcess.*;
13 import java.util.*;
14
15 public class MdbTabbedPanel extends AjaxTabbedPanel
16 {
17 public MdbTabbedPanel(String id, Database db)
18 {
19 super(id, buildTabList(db));
20 }
21
22 private static List buildTabList(Database db)
23 {
24 List tabs = new ArrayList();
25
26 Iterator iter = db.getTableNames().iterator();
27
28 try
29 {
30 while (iter.hasNext())
31 {
32 String tableName = (String) iter.next();
33 Tab t = new Tab(db.getTable(tableName));
34 tabs.add(t);
35 }
36 }
37 catch (Exception ex)
38 {
39 throw new RuntimeException(ex);
40 }
41
42 return tabs;
43
44 }
45
46 static public class Tab extends AbstractTab
47 {
48 private transient Table table;
49
50 public Tab(Table t)
51 {
52 super(new Model(t.getName()));
53
54 this.table = t;
55 }
56
57 @Override
58 public Panel getPanel(String panelId)
59 {
60 MdbTablePanel p = new MdbTablePanel(panelId, this.table);
61 return p;
62 }
63
64 }
65
66 }