1 package com.bull.eclipse.jonas.editors; 2 3 import java.util.ArrayList ; 4 import java.util.List ; 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 [] buttonLabels= new String [] { 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 } 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 projectsList = new ArrayList (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 e) { 64 fProjectsList.setElements(new ArrayList (5)); 65 } 66 67 } 68 69 71 public Control getControl(Composite parent) { 72 Composite composite= new Composite(parent, SWT.NONE); 73 74 LayoutUtil.doDefaultLayout(composite, new DialogField[] { fProjectsList }, true, 0, 0); 76 77 return composite; 78 } 79 80 public List getCheckedElements() { 81 return fProjectsList.getCheckedElements(); 82 } 83 84 public void setCheckedElements(List projects) { 85 fProjectsList.setCheckedElements(projects); 86 } 87 88 private class MyLabelProvider extends LabelProvider { 89 90 93 public Image getImage(Object element) { 94 IWorkbench workbench= JavaPlugin.getDefault().getWorkbench(); 95 return workbench.getSharedImages().getImage(SharedImages.IMG_OBJ_PROJECT); 96 } 97 98 101 public String getText(Object element) { 102 return super.getText(element); 103 } 104 105 } 106 107 } 108 | Popular Tags |