1 6 package com.nightlabs.ipanema.config; 7 8 import java.util.ArrayList ; 9 import java.util.Iterator ; 10 import java.util.List ; 11 12 import javax.jdo.FetchPlan; 13 14 import org.eclipse.swt.SWT; 15 import org.eclipse.swt.layout.GridData; 16 import org.eclipse.swt.widgets.Combo; 17 import org.eclipse.swt.widgets.Composite; 18 19 import com.nightlabs.ipanema.base.login.Login; 20 import com.nightlabs.rcp.composite.TightWrapperComposite; 21 22 26 public class UserConfigGroupCombo extends TightWrapperComposite { 27 28 public static final String [] DEFAULT_FETCH_GROUP = new String [] { 29 FetchPlan.DEFAULT, 30 FetchPlan.VALUES 31 }; 32 33 private Combo comboControl; 34 private List userConfigGroups = new ArrayList (); 35 private String [] fetchGroup = DEFAULT_FETCH_GROUP; 36 37 38 public UserConfigGroupCombo(Composite parent, int style) { 39 this(parent, style, null); 40 } 41 42 46 public UserConfigGroupCombo(Composite parent, int style, String [] fetchGroup) { 47 super(parent, style, true); 48 setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); 49 comboControl = new Combo(this, SWT.READ_ONLY); 50 if (fetchGroup != null) 51 this.fetchGroup = fetchGroup; 52 53 comboControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); 54 55 try { 56 ConfigManager configManager = ConfigManagerUtil.getHome(Login.getLogin().getInitialContextProperties()).create(); 57 userConfigGroups.addAll(configManager.getUserConfigGroups(this.fetchGroup)); 58 } catch (Throwable e) { 59 throw new RuntimeException (e); 60 } 61 for (Iterator iter = userConfigGroups.iterator(); iter.hasNext();) { 62 UserConfigGroup group = (UserConfigGroup) iter.next(); 63 comboControl.add(group.getName()); 64 } 65 } 66 67 71 public UserConfigGroup getSelectedGroup() { 72 if (comboControl.getSelectionIndex() >= 0) { 73 return (UserConfigGroup)userConfigGroups.get(comboControl.getSelectionIndex()); 74 } 75 else 76 return null; 77 } 78 79 84 public Combo getComboControl() { 85 return comboControl; 86 } 87 88 } 89
| Popular Tags
|