KickJava   Java API By Example, From Geeks To Geeks.

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


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  * @author Alexander Bieber <alex[AT]nightlabs[DOT]de>
24  *
25  */

26 public class UserConfigGroupCombo extends TightWrapperComposite {
27
28     public static final String JavaDoc[] DEFAULT_FETCH_GROUP = new String JavaDoc[] {
29         FetchPlan.DEFAULT,
30         FetchPlan.VALUES
31     };
32     
33     private Combo comboControl;
34     private List JavaDoc userConfigGroups = new ArrayList JavaDoc();
35     private String JavaDoc[] fetchGroup = DEFAULT_FETCH_GROUP;
36     
37     
38     public UserConfigGroupCombo(Composite parent, int style) {
39         this(parent, style, null);
40     }
41     
42     /**
43      * @param parent
44      * @param style
45      */

46     public UserConfigGroupCombo(Composite parent, int style, String JavaDoc[] 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 JavaDoc e) {
59             throw new RuntimeException JavaDoc(e);
60         }
61         for (Iterator JavaDoc iter = userConfigGroups.iterator(); iter.hasNext();) {
62             UserConfigGroup group = (UserConfigGroup) iter.next();
63             comboControl.add(group.getName());
64         }
65     }
66     
67     /**
68      * Returns the currently selected UserConfigGroup or null.
69      * @return The currently selected UserConfigGroup or null.
70      */

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     /**
80      * Returns the actual Combo so one could add lsiteners to it etc.
81      *
82      * @return The actual Combo.
83      */

84     public Combo getComboControl() {
85         return comboControl;
86     }
87
88 }
89
Popular Tags