public void createControl(Composite parent) { toolkit = new FormToolkit(parent.getDisplay()); int borderStyle = toolkit.getBorderStyle() == SWT.BORDER ? SWT.NULL : SWT.BORDER; container = new Composite(parent, borderStyle); FillLayout flayout = new FillLayout(); flayout.marginWidth = 1; flayout.marginHeight = 1; container.setLayout(flayout); formText = new ScrolledFormText(container, SWT.V_SCROLL | SWT.H_SCROLL, false); if (borderStyle == SWT.NULL) { formText.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER); toolkit.paintBordersFor(container); } FormText ftext = toolkit.createFormText(formText, false); formText.setFormText(ftext); formText.setExpandHorizontal(true); formText.setExpandVertical(true); formText.setBackground(toolkit.getColors().getBackground()); formText.setForeground(toolkit.getColors().getForeground()); ftext.marginWidth = 2; ftext.marginHeight = 2; ftext.setHyperlinkSettings(toolkit.getHyperlinkGroup()); formText.addDisposeListener( new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (toolkit != null) { toolkit.dispose(); toolkit = null; } } }); if (text != null) formText.setText(text); }
@Override public void createControl(Composite parent) { GridData gd; Composite composite = new Composite(parent, SWT.NULL); setControl(composite); composite.setLayout(new GridLayout(1, false)); new Label(composite, SWT.NONE).setText("Select Template:"); tree = new Tree(composite, SWT.BORDER | SWT.FULL_SELECTION); gd = new GridData(SWT.FILL, SWT.FILL, true, true); gd.heightHint = 100; tree.setLayoutData(gd); viewer = new TreeViewer(tree); contentProvider = new RepoTemplateContentProvider(false); viewer.setContentProvider(contentProvider); viewer.setLabelProvider(new RepoTemplateLabelProvider(loadedImages)); viewer.addFilter(latestFilter); setTemplates(Collections.singletonList(emptyTemplate)); btnLatestOnly = new Button(composite, SWT.CHECK); btnLatestOnly.setText("Show latest versions only"); btnLatestOnly.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false)); btnLatestOnly.setSelection(true); new Label(composite, SWT.NONE).setText("Description:"); Composite cmpDescription = new Composite(composite, SWT.BORDER); cmpDescription.setBackground(tree.getBackground()); txtDescription = new ScrolledFormText(cmpDescription, SWT.V_SCROLL | SWT.H_SCROLL, false); FormText formText = new FormText(txtDescription, SWT.NO_FOCUS); txtDescription.setFormText(formText); txtDescription.setBackground(tree.getBackground()); formText.setBackground(tree.getBackground()); formText.setForeground(tree.getForeground()); formText.setFont("fixed", JFaceResources.getTextFont()); formText.setFont("italic", JFaceResources.getFontRegistry().getItalic("")); GridData gd_cmpDescription = new GridData(SWT.FILL, SWT.FILL, true, true); gd_cmpDescription.heightHint = 100; cmpDescription.setLayoutData(gd_cmpDescription); GridLayout layout_cmpDescription = new GridLayout(1, false); cmpDescription.setLayout(layout_cmpDescription); GridData gd_txtDescription = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gd_txtDescription.heightHint = 100; txtDescription.setLayoutData(gd_txtDescription); Hyperlink linkRetina = new Hyperlink(composite, SWT.NONE); linkRetina.setText("Why is this text blurred?"); linkRetina.setUnderlined(true); linkRetina.setForeground(JFaceColors.getHyperlinkText(getShell().getDisplay())); linkRetina.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false)); viewer.addSelectionChangedListener( new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { Object element = ((IStructuredSelection) viewer.getSelection()).getFirstElement(); setTemplate(element instanceof Template ? (Template) element : null); getContainer().updateButtons(); } }); viewer.addOpenListener( new IOpenListener() { @Override public void open(OpenEvent event) { Object element = ((IStructuredSelection) viewer.getSelection()).getFirstElement(); setTemplate(element instanceof Template ? (Template) element : null); getContainer().updateButtons(); IWizardPage nextPage = getNextPage(); if (nextPage != null) getContainer().showPage(nextPage); } }); btnLatestOnly.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { boolean latestOnly = btnLatestOnly.getSelection(); if (latestOnly) viewer.addFilter(latestFilter); else viewer.removeFilter(latestFilter); } }); linkRetina.addHyperlinkListener( new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent ev) { try { IWorkbenchBrowserSupport browser = PlatformUI.getWorkbench().getBrowserSupport(); browser .getExternalBrowser() .openURL( new URL( "https://github.com/bndtools/bndtools/wiki/Blurry-Form-Text-on-High-Resolution-Displays")); } catch (Exception e) { log.log(new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, "Browser open error", e)); } } }); }