1 6 package com.nightlabs.ipanema.config; 7 8 import java.util.Collection ; 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 30 public class UserConfigGroupTable extends AbstractTableComposite { 31 32 public static final String [] DEFAULT_FETCH_GROUP = new String [] { 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 [] getElements(Object inputElement) { 42 return getUserConfigGroups().toArray(); 43 } 44 45 public void dispose() { 46 } 47 48 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { 49 } 50 51 public Collection getUserConfigGroups() { 52 try { 53 ConfigManager configManager = ConfigManagerUtil.getHome(Login.getLogin().getInitialContextProperties()).create(); 54 return configManager.getUserConfigGroups(DEFAULT_FETCH_GROUP); 55 } catch (Throwable e) { 56 throw new RuntimeException (e); 57 } 58 } 59 } 60 61 public static class LabelProvider extends org.eclipse.jface.viewers.LabelProvider implements ITableLabelProvider { 62 63 public Image getColumnImage(Object element, int columnIndex) { 64 return null; 65 } 66 67 public String getColumnText(Object element, int columnIndex) { 68 return ((UserConfigGroup)element).getName() +" ("+ ((UserConfigGroup)element).getUserConfigID()+")"; 69 } 70 } 71 72 76 public UserConfigGroupTable(Composite parent, int style) { 77 super(parent, style); 78 } 79 80 85 public UserConfigGroupTable(Composite parent, int style, boolean initTable) { 86 super(parent, style, initTable); 87 } 88 89 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 100 protected void setTableProvider(TableViewer tableViewer) { 101 tableViewer.setContentProvider(new ContentProvider()); 102 tableViewer.setLabelProvider(new LabelProvider()); 103 } 104 105 } 106
| Popular Tags
|