public class NavigationView extends ViewPart { public static final String ID = "fast.navigationview"; protected TreeViewer treeViewer; protected Text text; protected ModuleLabelProvider labelProvider; protected Module root; /** Action pour collapse l'arbre*/ private Action collapseItemAction; /** Action pour expand l'arbre*/ private Action expandItemAction; public NavigationView() { } public void createPartControl(Composite parent){ // pour avoir le même style d'onglets que comme dans eclipse PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS, false); GridLayout layout = new GridLayout(); layout.numColumns = 1; layout.verticalSpacing = 2; layout.marginWidth = 0; layout.marginHeight = 2; parent.setLayout(layout); GridData layoutData = new GridData(); layoutData.grabExcessHorizontalSpace = true; layoutData.horizontalAlignment = GridData.FILL; treeViewer = new TreeViewer(parent); treeViewer.setContentProvider(new ModuleContentProvider()); labelProvider = new ModuleLabelProvider(); treeViewer.setLabelProvider(labelProvider); treeViewer.setUseHashlookup(true); layoutData = new GridData(); layoutData.grabExcessHorizontalSpace = true; layoutData.grabExcessVerticalSpace = true; layoutData.horizontalAlignment = GridData.FILL; layoutData.verticalAlignment = GridData.FILL; treeViewer.getControl().setLayoutData(layoutData); treeViewer.setInput(ModuleProvider.getInstance().getModules()); treeViewer.addSelectionChangedListener(new ISelectionChangedListener(){ public void selectionChanged(SelectionChangedEvent event) { IActionBars bars = getViewSite().getActionBars(); TreeSelection ts = (TreeSelection)event.getSelection(); if (ts.getFirstElement() != null){ //if the selection is != of null if (ts.getFirstElement().getClass() == Module.class) { Module modNode = (Module)ts.getFirstElement(); bars.getStatusLineManager().setMessage("Selected : " + modNode.getName()); }else{ SubModule subModNode = (SubModule)ts.getFirstElement(); bars.getStatusLineManager().setMessage("Selected : " + subModNode.getName()); Activator.getLogger().info("Le status en cas de sous module : " + subModNode.getName()); } } } }); // ajout du selectionProvider(treeViewer) au service de selection getSite().setSelectionProvider(treeViewer); createActions(); createToolbar(); } public void createActions (){ Activator.getDefault(); ImageDescriptor plus = Activator.getImageDescriptor("/icons/plus.gif"); ImageDescriptor minus = Activator.getImageDescriptor("/icons/minus.gif"); collapseItemAction = new Action ("Collapse", Action.AS_PUSH_BUTTON){ public void run(){ for(int i=0; i