KickJava   Java API By Example, From Geeks To Geeks.

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


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

6 package com.nightlabs.ipanema.config;
7
8 import java.util.ArrayList JavaDoc;
9 import java.util.Iterator JavaDoc;
10 import java.util.List JavaDoc;
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
23 /**
24  * @author Alexander Bieber <alex[AT]nightlabs[DOT]de>
25  *
26  */

27 public class UserConfigCombo extends TightWrapperComposite {
28
29     public static final String JavaDoc[] DEFAULT_FETCH_GROUP = new String JavaDoc[] {
30         FetchPlan.DEFAULT,
31         FetchPlan.VALUES
32     };
33
34     private Combo comboControl;
35     private List JavaDoc userConfigs = new ArrayList JavaDoc();
36     private String JavaDoc[] fetchGroup = DEFAULT_FETCH_GROUP;
37
38     public UserConfigCombo(Composite parent, int style) {
39         this(parent, style, null, null);
40     }
41     
42     public UserConfigCombo(Composite parent, int style, UserConfigGroup userConfigGroup) {
43         this(parent, style, userConfigGroup, null);
44     }
45     
46     public UserConfigCombo(Composite parent, int style, UserConfigGroup userConfigGroup, String JavaDoc[] fetchGroup) {
47         super(parent, style, true);
48         setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
49         comboControl = new Combo(this, SWT.READ_ONLY);
50         comboControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
51         if (fetchGroup != null)
52             this.fetchGroup = fetchGroup;
53         if (userConfigGroup != null)
54             updateCombo(userConfigGroup);
55     }
56     
57     public void updateCombo(UserConfigGroup userConfigGroup) {
58         comboControl.removeAll();
59         if (userConfigGroup == null)
60             return;
61         userConfigs.clear();
62         try {
63             ConfigManager configManager = ConfigManagerUtil.getHome(Login.getLogin().getInitialContextProperties()).create();
64             userConfigs.addAll(configManager.getUserConfigsForGroup(userConfigGroup, fetchGroup));
65         } catch (Throwable JavaDoc e) {
66             throw new RuntimeException JavaDoc(e);
67         }
68         for (Iterator JavaDoc iter = userConfigs.iterator(); iter.hasNext();) {
69             UserConfig config = (UserConfig) iter.next();
70             comboControl.add(config.getUserConfigID());
71         }
72     }
73     
74     public UserConfig getSelectedUserConfig() {
75         if (comboControl.getSelectionIndex() >= 0) {
76             return (UserConfig)userConfigs.get(comboControl.getSelectionIndex());
77         }
78         else
79             return null;
80     }
81
82     public Combo getComboControl() {
83         return comboControl;
84     }
85 }
86
Free Books   Free Magazines  
Popular Tags