public void createPartControl(Composite parent) { listener = new WorkbenchWindowListener( new WorkbenchPageListener( new PartListener(new DropTemplateWorkflowModelEditorAction()))); listener.register(); FillLayout parentLayout = new FillLayout(); parent.setLayout(parentLayout); SashForm sashForm = new SashForm(parent, SWT.HORIZONTAL); Tree tree = new Tree(sashForm, SWT.BORDER); tree.setLinesVisible(false); tree.setLayoutData(FormBuilder.createDefaultMultiLineWidgetGridData()); Composite composite = FormBuilder.createComposite(sashForm, 1); Composite swingComposite = new Composite(composite, SWT.EMBEDDED); swingComposite.setLayoutData(FormBuilder.createDefaultMultiLineWidgetGridData()); java.awt.Frame locationFrame = SWT_AWT.new_Frame(swingComposite); textPane = new JTextPane(); JScrollPane scrollPane = new JScrollPane(textPane); locationFrame.add(scrollPane); textPane.setContentType("text/html"); // $NON-NLS-1$ StyleSheet css = ((HTMLEditorKit) textPane.getEditorKit()).getStyleSheet(); URL url = this.getClass().getResource("/html/carnot.css"); // $NON-NLS-1$ css.importStyleSheet(url); textPane.setEditable(false); sashForm.setWeights(new int[] {1, 2}); final TreeViewer viewer = new TreeViewer(tree); viewer.setContentProvider(new PatternsContentProvider()); viewer.setLabelProvider(new PatternsLabelProvider()); viewer.addSelectionChangedListener( new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { TreeSelection selection = (TreeSelection) event.getSelection(); Object object = selection.getFirstElement(); if (object instanceof ITemplate) { ITemplate template = (ITemplate) object; textPane.setEditorKit(new ExtendedHTMLEditorKit(template)); textPane.setText(template.getDescription()); } else { if (object instanceof ITemplateFactory) { ITemplateFactory templateFactory = (ITemplateFactory) object; textPane.setText(templateFactory.getDescription()); } } } }); viewer.addDragSupport( DND.DROP_COPY, new Transfer[] {LocalSelectionTransfer.getTransfer()}, new DragSourceAdapter() { public void dragStart(DragSourceEvent event) { ISelection selection = viewer.getSelection(); LocalSelectionTransfer.getTransfer().setSelection(selection); LocalSelectionTransfer.getTransfer().setSelectionSetTime(event.time & 0xFFFFFFFFL); event.doit = DropTemplateWorkflowModelEditorAction.isValidDndSelection(selection); } public void dragSetData(DragSourceEvent event) { event.data = LocalSelectionTransfer.getTransfer().getSelection(); } public void dragFinished(DragSourceEvent event) { LocalSelectionTransfer.getTransfer().setSelection(null); LocalSelectionTransfer.getTransfer().setSelectionSetTime(0); } }); // Add actions to the local tool bar IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager(); Action refreshAction = new Action(Diagram_Messages.LB_VersionRepository_Refresh) { public void run() { viewer.setInput( "org.eclipse.stardust.modeling.templates.templateProvider"); //$NON-NLS-1$ } }; tbm.add(refreshAction); refreshAction.run(); }
public void dispose() { listener.unregister(); listener = null; super.dispose(); }