KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > bull > eclipse > jonas > editors > ProjectListEditor


1 package com.bull.eclipse.jonas.editors;
2
3 import java.util.ArrayList JavaDoc;
4 import java.util.List JavaDoc;
5
6 import org.eclipse.core.resources.IProject;
7 import org.eclipse.core.resources.IWorkspaceRoot;
8 import org.eclipse.core.resources.ResourcesPlugin;
9 import org.eclipse.jdt.core.IJavaProject;
10 import org.eclipse.jdt.internal.ui.JavaPlugin;
11 import org.eclipse.jdt.internal.ui.wizards.dialogfields.CheckedListDialogField;
12 import org.eclipse.jdt.internal.ui.wizards.dialogfields.DialogField;
13 import org.eclipse.jdt.internal.ui.wizards.dialogfields.LayoutUtil;
14 import org.eclipse.jface.viewers.LabelProvider;
15 import org.eclipse.swt.SWT;
16 import org.eclipse.swt.graphics.Image;
17 import org.eclipse.swt.widgets.Composite;
18 import org.eclipse.swt.widgets.Control;
19 import org.eclipse.ui.IWorkbench;
20 import org.eclipse.ui.ide.IDE.SharedImages;
21
22 import com.bull.eclipse.jonas.JonasPluginResources;
23
24 public class ProjectListEditor implements JonasPluginResources {
25             
26     private CheckedListDialogField fProjectsList;
27     
28     public ProjectListEditor() {
29         
30         String JavaDoc[] buttonLabels= new String JavaDoc[] {
31             PREF_PAGE_SELECTALL_LABEL,
32             PREF_PAGE_UNSELECTALL_LABEL
33         };
34         
35         fProjectsList= new CheckedListDialogField(null, buttonLabels, new MyLabelProvider());
36         fProjectsList.setLabelText(PREF_PAGE_PROJECTINCP_LABEL);
37         fProjectsList.setCheckAllButtonIndex(0);
38         fProjectsList.setUncheckAllButtonIndex(1);
39         updateProjectsList();
40 // fProjectsList.setViewerSorter(new CPListElementSorter());
41
}
42     
43     public void init(IJavaProject jproject) {
44         updateProjectsList();
45     }
46         
47     private void updateProjectsList() {
48         try {
49             IWorkspaceRoot root= ResourcesPlugin.getWorkspace().getRoot();
50             IProject[] projects = root.getProjects();
51             
52             List JavaDoc projectsList = new ArrayList JavaDoc(projects.length);
53         
54             for (int i= 0; i < projects.length; i++) {
55                 IProject proj= projects[i];
56                 if(projects[i].isOpen()) {
57                     projectsList.add(new ProjectListElement(proj));
58                 }
59             }
60                                 
61             fProjectsList.setElements(projectsList);
62                 
63         } catch (Exception JavaDoc e) {
64             fProjectsList.setElements(new ArrayList JavaDoc(5));
65         }
66
67     }
68         
69     // -------- UI creation ---------
70

71     public Control getControl(Composite parent) {
72         Composite composite= new Composite(parent, SWT.NONE);
73
74 // fProjectsList.doFillIntoGrid(composite,3);
75
LayoutUtil.doDefaultLayout(composite, new DialogField[] { fProjectsList }, true, 0, 0);
76                 
77         return composite;
78     }
79         
80     public List JavaDoc getCheckedElements() {
81         return fProjectsList.getCheckedElements();
82     }
83     
84     public void setCheckedElements(List JavaDoc projects) {
85         fProjectsList.setCheckedElements(projects);
86     }
87     
88     private class MyLabelProvider extends LabelProvider {
89         
90         /*
91          * @see ILabelProvider#getImage(Object)
92          */

93         public Image getImage(Object JavaDoc element) {
94             IWorkbench workbench= JavaPlugin.getDefault().getWorkbench();
95             return workbench.getSharedImages().getImage(SharedImages.IMG_OBJ_PROJECT);
96         }
97
98         /*
99          * @see ILabelProvider#getText(Object)
100          */

101         public String JavaDoc getText(Object JavaDoc element) {
102             return super.getText(element);
103         }
104
105     }
106
107 }
108
Popular Tags