@Override public void createPartControl(Composite parent) { Composite container = new Composite(parent, SWT.NONE); container.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE)); container.setLayout(new FormLayout()); FormToolkit toolkit = new FormToolkit(container.getDisplay()); Form form = toolkit.createForm(container); FormData data = new FormData(); data.top = new FormAttachment(0, 20); data.left = new FormAttachment(50, -100); data.right = new FormAttachment(50, 100); data.bottom = new FormAttachment(100, -20); form.setLayoutData(data); // form.setText(Messages.IntroTitle); FillLayout layout = new FillLayout(); layout.marginHeight = layout.marginWidth = 5; form.getBody().setLayout(layout); FormText text = toolkit.createFormText(form.getBody(), true); StringBuilder buf = new StringBuilder(); buf.append("<form>"); // $NON-NLS-1$ buf.append("<p><img href=\"logo\"/></p>"); // $NON-NLS-1$ buf.append("<p><span color=\"header\" font=\"header\">") // $NON-NLS-1$ .append(Messages.IntroTitle) // .append("</span></p>"); // $NON-NLS-1$ addLink(buf, "action:open", Messages.IntroOpenFile, Messages.IntroOpenFileText); // $NON-NLS-1$ addLink(buf, "action:new", Messages.IntroNewFile, Messages.IntroNewFileText); // $NON-NLS-1$ addLink( buf, "action:sample", Messages.IntroOpenSample, Messages.IntroOpenSampleText); // $NON-NLS-1$ addLink( buf, "action:daxsample", Messages.IntroOpenDaxSample, Messages.IntroOpenDaxSampleText); // $NON-NLS-1$ addLink( buf, "http://buchen.github.com/portfolio/new_and_noteworthy.html", //$NON-NLS-1$ Messages.IntroReadNews, Messages.IntroReadNewsText); buf.append("</form>"); // $NON-NLS-1$ text.setText(buf.toString(), true, false); text.setImage("logo", PortfolioPlugin.image(PortfolioPlugin.IMG_LOGO)); // $NON-NLS-1$ text.setColor("header", toolkit.getColors().getColor(IFormColors.TITLE)); // $NON-NLS-1$ text.setFont("header", JFaceResources.getHeaderFont()); // $NON-NLS-1$ text.addHyperlinkListener(this); }
/** {@inheritDoc} */ @Override public void createPartControl(Composite parent) { createViewToolbar(); toolkit = new FormToolkit(parent.getDisplay()); mainComposite = new SashForm(parent, SWT.VERTICAL); GridLayout mainLayout = new GridLayout(1, true); mainLayout.marginWidth = 0; mainLayout.marginHeight = 0; mainComposite.setLayout(mainLayout); mainForm = toolkit.createForm(mainComposite); mainForm.getBody().setLayout(new GridLayout(1, true)); mainForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); createHeadClient(); toolkit.decorateFormHeading(mainForm); int borderStyle = toolkit.getBorderStyle(); toolkit.setBorderStyle(SWT.NULL); Table table = toolkit.createTable(mainForm.getBody(), SWT.V_SCROLL | SWT.H_SCROLL); toolkit.setBorderStyle(borderStyle); tableViewer = new TableViewer(table); // create tree content provider tableViewer.setContentProvider(getContentProvider()); tableViewer.setLabelProvider(getLabelProvider()); ViewerComparator comparator = getViewerComparator(); if (null != comparator) { tableViewer.setComparator(comparator); } ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE); // double-click listener IDoubleClickListener doubleClickListener = getTreeDoubleClickListener(); if (null != doubleClickListener) { tableViewer.addDoubleClickListener(doubleClickListener); } // menu String menuId = getMenuId(); if (null != menuId) { MenuManager menuManager = new MenuManager(); menuManager.setRemoveAllWhenShown(true); getSite().registerContextMenu(menuId, menuManager, tableViewer); Control control = tableViewer.getControl(); Menu menu = menuManager.createContextMenu(control); control.setMenu(menu); } // resizing listener mainComposite.addControlListener( new ControlAdapter() { private boolean verticaLayout; @Override public void controlResized(ControlEvent e) { int width = mainComposite.getBounds().width; int height = mainComposite.getBounds().height; if (width > height && verticaLayout) { verticaLayout = false; mainComposite.setOrientation(SWT.HORIZONTAL); } else if (width < height && !verticaLayout) { verticaLayout = true; mainComposite.setOrientation(SWT.VERTICAL); } mainComposite.layout(); } }); // update all updateFormTitle(); updateFormMenuManager(); updateFormBody(); tableViewer.addSelectionChangedListener( new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { StructuredSelection ss = (StructuredSelection) tableViewer.getSelection(); if (ss.getFirstElement() instanceof IProfileProvider || ss.getFirstElement() instanceof IEnvironmentProvider) { selectionProviderAdapter.setSelection(ss); } else { // setting selection to the CMR so that we can perform all the necessary // operations selectionProviderAdapter.setSelection( new StructuredSelection(displayedCmrRepositoryDefinition)); } } }); getSite().setSelectionProvider(selectionProviderAdapter); selectionProviderAdapter.setSelection( new StructuredSelection(displayedCmrRepositoryDefinition)); // TODO: This needs to be removed as soon as the configuration interface is fully // functional. UnfinishedWarningUtils.inform( "The configuration interface is not yet connected with the agent instrumentation. You can play around with this preview, but the instrumentations will not be effective.", "UNFINISHED_WARNING_CONFIGURATION_INTERFACE"); }
@Override protected synchronized void onNodeChanged(AbstractNode node) { if (form != null && !form.isDisposed()) { try { form.dispose(); } catch (Exception e) { // ignore any expose exceptions } } form = null; if (parent.isDisposed()) return; parent.setLayout(new GridLayout()); // parent.setLayout(new GridLayout(1, false)); parent.setLayoutData(new GridData(GridData.FILL_BOTH)); form = toolkit.createForm(parent); form.setLayoutData(new GridData(GridData.FILL_BOTH)); form.setText(EditorMessages.propertiesDetailsTitle); toolkit.decorateFormHeading(form); form.getBody().setLayout(new GridLayout(2, false)); Composite sbody = form.getBody(); if (node != null) { final IMessageManager mmng = form.getMessageManager(); form.setText(node.getPatternName()); IPropertyDescriptor idDescriptor = null; IPropertyDescriptor descriptionDescriptor = null; IPropertyDescriptor[] propertyDescriptors = node.getPropertyDescriptors(); for (int i = 0; i < 2; i++) { for (IPropertyDescriptor descriptor : propertyDescriptors) { final Object id = descriptor.getId(); if ("AbstractNode.Id".equals(id)) { idDescriptor = descriptor; } else if (NODE_DESCRIPTION.equals(id)) { descriptionDescriptor = descriptor; } else { String propertyName = getPropertyName(id); boolean mandatory = descriptor instanceof ExpressionPropertyDescriptor || isMandatory(node, propertyName); if ((mandatory && i == 0) || (!mandatory && i == 1)) { createDecoratedTextField(descriptor, toolkit, sbody, mmng); } } } } if (idDescriptor != null || descriptionDescriptor != null) { if (idDescriptor != null) { createDecoratedTextField(idDescriptor, toolkit, sbody, mmng); } if (descriptionDescriptor != null) { createDecoratedTextField(descriptionDescriptor, toolkit, sbody, mmng); } } // ref ECLIPSE-1012: unsaved nodes may be disposed // mmng.update(); } else { form.setText(EditorMessages.propertiesDetailsTitle); } layoutForm(); }
/* * (non-Javadoc) * * @see * org.eclipse.ui.views.properties.tabbed.AbstractPropertySection#createControls * (org.eclipse.swt.widgets.Composite, * org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage) */ @Override public void createControls( final Composite parent, TabbedPropertySheetPage aTabbedPropertySheetPage) { this.parent = parent; this.toolkit = new FormToolkit(parent.getDisplay()); super.createControls(parent, aTabbedPropertySheetPage); if (form != null && !form.isDisposed()) { try { form.dispose(); } catch (Exception e) { // ignore any expose exceptions } } form = null; if (parent.isDisposed()) return; parent.setLayout(new GridLayout()); // parent.setLayout(new GridLayout(1, false)); parent.setLayoutData(new GridData(GridData.FILL_BOTH)); form = toolkit.createForm(parent); form.setLayoutData(new GridData(GridData.FILL_BOTH)); form.setText(EditorMessages.propertiesDocumentationTitle); toolkit.decorateFormHeading(form); form.getBody().setLayout(new GridLayout(1, false)); Composite sbody = form.getBody(); ToolBar navBar = new ToolBar(sbody, SWT.NONE); toolkit.adapt(navBar); navBar.setLayoutData( new GridData(GridData.FILL_HORIZONTAL | GridData.HORIZONTAL_ALIGN_BEGINNING)); final ToolItem back = new ToolItem(navBar, SWT.PUSH); back.setText("<"); back.setEnabled(false); final ToolItem forward = new ToolItem(navBar, SWT.PUSH); forward.setText(">"); forward.setEnabled(false); back.addListener( SWT.Selection, new Listener() { public void handleEvent(Event event) { browser.back(); } }); forward.addListener( SWT.Selection, new Listener() { public void handleEvent(Event event) { browser.forward(); } }); final LocationListener locationListener = new LocationListener() { public void changed(LocationEvent event) { Browser browser = (Browser) event.widget; back.setEnabled(browser.isBackEnabled()); forward.setEnabled(browser.isForwardEnabled()); } public void changing(LocationEvent event) {} }; browser = new Browser(sbody, SWT.NONE); GridData data = new GridData(GridData.FILL_BOTH); browser.setLayoutData(data); IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem(); URL url = helpSystem.resolve("org.fusesource.ide.help/index.html", true); browser.setUrl(url.toExternalForm()); browser.addLocationListener(locationListener); // section.pack(); // form.pack(); form.layout(true, true); parent.layout(true, true); // in case of timing issues, lets do another layout just in case... Display.getCurrent() .asyncExec( new Runnable() { @Override public void run() { if (form != null && !form.isDisposed()) { form.layout(true, true); } if (parent != null && !parent.isDisposed()) { parent.layout(true, true); } } }); }