KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > ipanema > config > UserConfigGroupTable


1 /*
2  * Created on Apr 16, 2005
3  * by alex
4  *
5  */

6 package com.nightlabs.ipanema.config;
7
8 import java.util.Collection JavaDoc;
9
10 import javax.jdo.FetchPlan;
11
12 import org.eclipse.jface.viewers.IStructuredContentProvider;
13 import org.eclipse.jface.viewers.ITableLabelProvider;
14 import org.eclipse.jface.viewers.TableViewer;
15 import org.eclipse.jface.viewers.Viewer;
16 import org.eclipse.swt.SWT;
17 import org.eclipse.swt.graphics.Image;
18 import org.eclipse.swt.widgets.Composite;
19 import org.eclipse.swt.widgets.Table;
20 import org.eclipse.swt.widgets.TableColumn;
21
22 import com.nightlabs.ipanema.base.login.Login;
23 import com.nightlabs.rcp.layout.WeightedTableLayout;
24 import com.nightlabs.rcp.table.AbstractTableComposite;
25
26 /**
27  * @author Alexander Bieber <alex[AT]nightlabs[DOT]de>
28  *
29  */

30 public class UserConfigGroupTable extends AbstractTableComposite {
31
32     public static final String JavaDoc[] DEFAULT_FETCH_GROUP = new String JavaDoc[] {
33         FetchPlan.DEFAULT,
34         FetchPlan.VALUES,
35         Config.FETCH_GROUP_THIS_CONFIG,
36         UserConfigGroup.FETCH_GROUP_THIS_USER_CONFIG_GROUP
37     };
38     
39     public static class ContentProvider implements IStructuredContentProvider {
40
41         public Object JavaDoc[] getElements(Object JavaDoc inputElement) {
42             return getUserConfigGroups().toArray();
43         }
44
45         public void dispose() {
46         }
47
48         public void inputChanged(Viewer viewer, Object JavaDoc oldInput, Object JavaDoc newInput) {
49         }
50         
51         public Collection JavaDoc getUserConfigGroups() {
52             try {
53                 ConfigManager configManager = ConfigManagerUtil.getHome(Login.getLogin().getInitialContextProperties()).create();
54                 return configManager.getUserConfigGroups(DEFAULT_FETCH_GROUP);
55             } catch (Throwable JavaDoc e) {
56                 throw new RuntimeException JavaDoc(e);
57             }
58         }
59     }
60     
61     public static class LabelProvider extends org.eclipse.jface.viewers.LabelProvider implements ITableLabelProvider {
62
63         public Image getColumnImage(Object JavaDoc element, int columnIndex) {
64             return null;
65         }
66
67         public String JavaDoc getColumnText(Object JavaDoc element, int columnIndex) {
68             return ((UserConfigGroup)element).getName() +" ("+ ((UserConfigGroup)element).getUserConfigID()+")";
69         }
70     }
71     
72     /**
73      * @param parent
74      * @param style
75      */

76     public UserConfigGroupTable(Composite parent, int style) {
77         super(parent, style);
78     }
79
80     /**
81      * @param parent
82      * @param style
83      * @param initTable
84      */

85     public UserConfigGroupTable(Composite parent, int style, boolean initTable) {
86         super(parent, style, initTable);
87     }
88
89     /**
90      * @see com.nightlabs.rcp.table.AbstractTableComposite#createTableColumns(org.eclipse.swt.widgets.Table)
91      */

92     protected void createTableColumns(Table table) {
93         new TableColumn(table, SWT.LEFT).setText("UserConfigGroup");
94         table.setLayout(new WeightedTableLayout(new int[] {1}));
95     }
96
97     /**
98      * @see com.nightlabs.rcp.table.AbstractTableComposite#setTableProvider(org.eclipse.jface.viewers.TableViewer)
99      */

100     protected void setTableProvider(TableViewer tableViewer) {
101         tableViewer.setContentProvider(new ContentProvider());
102         tableViewer.setLabelProvider(new LabelProvider());
103     }
104
105 }
106
Free Books   Free Magazines  
Popular Tags