Search in sources :

Example 11 with FormToolkit

use of org.eclipse.ui.forms.widgets.FormToolkit in project sling by apache.

the class ConnectionEditorSection method createSection.

@Override
public void createSection(Composite parent) {
    super.createSection(parent);
    FormToolkit toolkit = getFormToolkit(parent.getDisplay());
    Section section = toolkit.createSection(parent, ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
    section.setText("Connection");
    section.setDescription("Connection details for this server");
    section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
    // ports
    Composite composite = toolkit.createComposite(section);
    // layout similar to ServerPropertiesEditorSection
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 5;
    layout.marginWidth = 10;
    layout.verticalSpacing = 5;
    layout.horizontalSpacing = 15;
    composite.setLayout(layout);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
    toolkit.paintBordersFor(composite);
    section.setClient(composite);
    createLabel(toolkit, composite, "Port:");
    portText = createText(toolkit, composite, SWT.SINGLE);
    createLabel(toolkit, composite, "Debug Port:");
    debugPortText = createText(toolkit, composite, SWT.SINGLE);
    createLabel(toolkit, composite, "Context path:");
    contextPathText = createText(toolkit, composite, SWT.SINGLE);
    // TODO wrong parent
    Label separator = toolkit.createSeparator(parent, SWT.HORIZONTAL);
    GridData data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 2;
    separator.setLayoutData(data);
    createLabel(toolkit, composite, "Username:");
    usernameText = createText(toolkit, composite, SWT.SINGLE);
    createLabel(toolkit, composite, "Password:");
    passwordText = createText(toolkit, composite, SWT.PASSWORD);
    initialize();
}
Also used : GridLayout(org.eclipse.swt.layout.GridLayout) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) Composite(org.eclipse.swt.widgets.Composite) ExpandableComposite(org.eclipse.ui.forms.widgets.ExpandableComposite) GridData(org.eclipse.swt.layout.GridData) Label(org.eclipse.swt.widgets.Label) ServerEditorSection(org.eclipse.wst.server.ui.editor.ServerEditorSection) Section(org.eclipse.ui.forms.widgets.Section)

Example 12 with FormToolkit

use of org.eclipse.ui.forms.widgets.FormToolkit in project sling by apache.

the class DebugEditorSection method createSection.

@Override
public void createSection(Composite parent) {
    super.createSection(parent);
    FormToolkit toolkit = getFormToolkit(parent.getDisplay());
    Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
    section.setText("Debug");
    section.setDescription("Resolving sources when connecting in debug mode ensure that you have up-to-date source attachments which reflect the " + "bundles running in the remote instance. However, initial resolve can be slow.");
    section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
    // ports
    Composite composite = toolkit.createComposite(section);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 8;
    layout.marginWidth = 8;
    composite.setLayout(layout);
    GridData gridData = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.FILL_HORIZONTAL);
    composite.setLayoutData(gridData);
    toolkit.paintBordersFor(composite);
    section.setClient(composite);
    resolveSourcesButton = toolkit.createButton(composite, "Resolve sources when connecting", SWT.CHECK);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1);
    resolveSourcesButton.setLayoutData(data);
    actionArea = toolkit.createComposite(composite);
    RowLayout actionAreaLayout = new RowLayout();
    actionAreaLayout.center = true;
    actionArea.setLayout(actionAreaLayout);
    initialize();
}
Also used : GridLayout(org.eclipse.swt.layout.GridLayout) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) Composite(org.eclipse.swt.widgets.Composite) ExpandableComposite(org.eclipse.ui.forms.widgets.ExpandableComposite) RowLayout(org.eclipse.swt.layout.RowLayout) GridData(org.eclipse.swt.layout.GridData) ServerEditorSection(org.eclipse.wst.server.ui.editor.ServerEditorSection) Section(org.eclipse.ui.forms.widgets.Section)

Example 13 with FormToolkit

use of org.eclipse.ui.forms.widgets.FormToolkit in project sling by apache.

the class InstallEditorSection method createSection.

@Override
public void createSection(Composite parent) {
    super.createSection(parent);
    FormToolkit toolkit = getFormToolkit(parent.getDisplay());
    Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
    section.setText("Install");
    section.setDescription("Specify how to install bundles on the server");
    section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
    // ports
    Composite composite = toolkit.createComposite(section);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginHeight = 8;
    layout.marginWidth = 8;
    composite.setLayout(layout);
    GridData gridData = new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.FILL_HORIZONTAL);
    composite.setLayoutData(gridData);
    toolkit.paintBordersFor(composite);
    section.setClient(composite);
    bundleLocalInstallButton = toolkit.createButton(composite, "Install bundles via bundle upload", SWT.RADIO);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1);
    bundleLocalInstallButton.setLayoutData(data);
    quickLocalInstallButton = toolkit.createButton(composite, "Install bundles directly from the filesystem", SWT.RADIO);
    data = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1);
    quickLocalInstallButton.setLayoutData(data);
    actionArea = toolkit.createComposite(composite);
    RowLayout actionAreaLayout = new RowLayout();
    actionAreaLayout.center = true;
    actionArea.setLayout(actionAreaLayout);
    initialize();
}
Also used : GridLayout(org.eclipse.swt.layout.GridLayout) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) Composite(org.eclipse.swt.widgets.Composite) ExpandableComposite(org.eclipse.ui.forms.widgets.ExpandableComposite) RowLayout(org.eclipse.swt.layout.RowLayout) GridData(org.eclipse.swt.layout.GridData) ServerEditorSection(org.eclipse.wst.server.ui.editor.ServerEditorSection) Section(org.eclipse.ui.forms.widgets.Section)

Example 14 with FormToolkit

use of org.eclipse.ui.forms.widgets.FormToolkit in project bndtools by bndtools.

the class RepositoriesView method createPartControl.

@Override
public void createPartControl(final Composite parent) {
    // CREATE CONTROLS
    final StackLayout stackLayout = new StackLayout();
    parent.setLayout(stackLayout);
    FormToolkit toolkit = new FormToolkit(parent.getDisplay());
    Composite defaultParent = toolkit.createComposite(parent, SWT.NONE);
    FillLayout fill = new FillLayout();
    fill.marginHeight = 5;
    fill.marginWidth = 5;
    defaultParent.setLayout(fill);
    if (!Central.hasWorkspaceDirectory()) {
        FormText form = toolkit.createFormText(defaultParent, true);
        form.setText("<form><p>No workspace configuration found. <a>Create a new Bnd workspace...</a></p></form>", true, false);
        form.addHyperlinkListener(new HyperlinkAdapter() {

            @Override
            public void linkActivated(HyperlinkEvent e) {
                IWorkbench workbench = PlatformUI.getWorkbench();
                IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
                WorkspaceSetupWizard wizard = new WorkspaceSetupWizard();
                wizard.init(workbench, StructuredSelection.EMPTY);
                WizardDialog dialog = new WizardDialog(window.getShell(), wizard);
                dialog.open();
            }
        });
    } else {
        toolkit.createLabel(defaultParent, "Repositories are loading, please wait...");
    }
    stackLayout.topControl = defaultParent;
    parent.layout();
    final Composite mainPanel = new Composite(parent, SWT.NONE);
    filterPanel = filterPart.createControl(mainPanel, 5, 5);
    Tree tree = new Tree(mainPanel, SWT.FULL_SELECTION | SWT.MULTI);
    filterPanel.setBackground(tree.getBackground());
    viewer = new TreeViewer(tree);
    contentProvider = new SearchableRepositoryTreeContentProvider() {

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            super.inputChanged(viewer, oldInput, newInput);
            if (newInput != null) {
                stackLayout.topControl = mainPanel;
                advancedSearchAction.setEnabled(true);
                refreshAction.setEnabled(true);
                collapseAllAction.setEnabled(true);
                configureOfflineAction();
                parent.layout();
            }
        }
    };
    viewer.setContentProvider(contentProvider);
    ColumnViewerToolTipSupport.enableFor(viewer);
    viewer.setLabelProvider(new RepositoryTreeLabelProvider(false));
    getViewSite().setSelectionProvider(viewer);
    Central.addRepositoriesViewer(viewer, RepositoriesView.this);
    JpmPreferences jpmPrefs = new JpmPreferences();
    final boolean showJpmOnClick = jpmPrefs.getBrowserSelection() != JpmPreferences.PREF_BROWSER_EXTERNAL;
    // LISTENERS
    filterPart.addPropertyChangeListener(new PropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent event) {
            String filter = (String) event.getNewValue();
            updatedFilter(filter);
        }
    });
    ViewerDropAdapter dropAdapter = new ViewerDropAdapter(viewer) {

        @Override
        public boolean validateDrop(Object target, int operation, TransferData transferType) {
            if (target == null)
                return false;
            if (canDrop(target, transferType))
                return true;
            boolean valid = false;
            if (target instanceof RepositoryPlugin) {
                if (((RepositoryPlugin) target).canWrite()) {
                    if (URLTransfer.getInstance().isSupportedType(transferType))
                        return true;
                    if (LocalSelectionTransfer.getTransfer().isSupportedType(transferType)) {
                        ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
                        if (selection instanceof IStructuredSelection) {
                            for (Iterator<?> iter = ((IStructuredSelection) selection).iterator(); iter.hasNext(); ) {
                                Object element = iter.next();
                                if (element instanceof RepositoryBundle || element instanceof RepositoryBundleVersion) {
                                    valid = true;
                                    break;
                                }
                                if (element instanceof IFile) {
                                    valid = true;
                                    break;
                                }
                                if (element instanceof IAdaptable) {
                                    IFile file = (IFile) ((IAdaptable) element).getAdapter(IFile.class);
                                    if (file != null) {
                                        valid = true;
                                        break;
                                    }
                                }
                            }
                        }
                    } else {
                        valid = true;
                    }
                }
            }
            return valid;
        }

        @Override
        public void dragEnter(DropTargetEvent event) {
            super.dragEnter(event);
            event.detail = DND.DROP_COPY;
        }

        @Override
        public boolean performDrop(Object data) {
            if (RepositoriesView.this.performDrop(getCurrentTarget(), getCurrentEvent().currentDataType, data)) {
                viewer.refresh(getCurrentTarget(), true);
                return true;
            }
            boolean copied = false;
            if (URLTransfer.getInstance().isSupportedType(getCurrentEvent().currentDataType)) {
                try {
                    URL url = new URL((String) URLTransfer.getInstance().nativeToJava(getCurrentEvent().currentDataType));
                    if (!url.getPath().endsWith(".jar")) {
                        String uris = url.toString();
                        if (uris.contains("#!/p/sha/")) {
                            MessageDialog.openWarning(null, "Dropped URL is a JPM Revision Identifier, not a JAR", "The dropped URL is a JPM identifier, can only be dropped on a JPM repository. You can also select the revision on JPM and drag the 'jar' link of the revision to any of the other repositories.");
                            return false;
                        }
                    }
                    File tmp = File.createTempFile("dwnl", ".jar");
                    try (HttpClient client = new HttpClient()) {
                        IO.copy(client.connect(url), tmp);
                    }
                    if (isJarFile(tmp)) {
                        copied = addFilesToRepository((RepositoryPlugin) getCurrentTarget(), new File[] { tmp });
                    } else {
                        tmp.delete();
                        MessageDialog.openWarning(null, "Unrecognized Artifact", "The dropped URL is not recognized as a remote JAR file: " + url.toString());
                    }
                } catch (Exception e) {
                    return false;
                }
            } else if (data instanceof String[]) {
                String[] paths = (String[]) data;
                File[] files = new File[paths.length];
                for (int i = 0; i < paths.length; i++) {
                    files[i] = new File(paths[i]);
                }
                copied = addFilesToRepository((RepositoryPlugin) getCurrentTarget(), files);
            } else if (data instanceof IResource[]) {
                IResource[] resources = (IResource[]) data;
                File[] files = new File[resources.length];
                for (int i = 0; i < resources.length; i++) {
                    files[i] = resources[i].getLocation().toFile();
                }
                copied = addFilesToRepository((RepositoryPlugin) getCurrentTarget(), files);
            } else if (data instanceof IStructuredSelection) {
                File[] files = convertSelectionToFiles((IStructuredSelection) data);
                if (files != null && files.length > 0)
                    copied = addFilesToRepository((RepositoryPlugin) getCurrentTarget(), files);
            }
            return copied;
        }
    };
    dropAdapter.setFeedbackEnabled(false);
    dropAdapter.setExpandEnabled(false);
    viewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { URLTransfer.getInstance(), FileTransfer.getInstance(), ResourceTransfer.getInstance(), LocalSelectionTransfer.getTransfer() }, dropAdapter);
    viewer.addDragSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new SelectionDragAdapter(viewer));
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            boolean writableRepoSelected = false;
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            Object element = selection.getFirstElement();
            if (element instanceof RepositoryPlugin) {
                RepositoryPlugin repo = (RepositoryPlugin) element;
                writableRepoSelected = repo.canWrite();
            }
            addBundlesAction.setEnabled(writableRepoSelected);
        }
    });
    tree.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseUp(MouseEvent ev) {
            Object element = ((IStructuredSelection) viewer.getSelection()).getFirstElement();
            if (element instanceof ContinueSearchElement) {
                try {
                    getViewSite().getPage().showView(Plugin.JPM_BROWSER_VIEW_ID, null, showJpmOnClick ? IWorkbenchPage.VIEW_ACTIVATE : IWorkbenchPage.VIEW_CREATE);
                } catch (PartInitException e) {
                    Plugin.getDefault().getLog().log(e.getStatus());
                }
            }
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        @Override
        public void doubleClick(DoubleClickEvent event) {
            if (!event.getSelection().isEmpty()) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                final Object element = selection.getFirstElement();
                if (element instanceof IAdaptable) {
                    final URI uri = (URI) ((IAdaptable) element).getAdapter(URI.class);
                    if (uri == null && element instanceof RepositoryEntry) {
                        boolean download = MessageDialog.openQuestion(getSite().getShell(), "Repositories", "This repository entry is unable to be opened because it has not been downloaded. Download and open it now?");
                        if (download) {
                            final RepositoryEntry entry = (RepositoryEntry) element;
                            Job downloadJob = new Job("Downloading repository entry " + entry.getBsn()) {

                                @Override
                                protected IStatus run(IProgressMonitor monitor) {
                                    final File repoFile = entry.getFile(true);
                                    if (repoFile != null && repoFile.exists()) {
                                        getSite().getShell().getDisplay().asyncExec(new Runnable() {

                                            @Override
                                            public void run() {
                                                openURI(repoFile.toURI());
                                            }
                                        });
                                    }
                                    return Status.OK_STATUS;
                                }
                            };
                            downloadJob.setUser(true);
                            downloadJob.schedule();
                        }
                    } else if (uri != null) {
                        openURI(uri);
                    }
                } else if (element instanceof ContinueSearchElement) {
                    ContinueSearchElement searchElement = (ContinueSearchElement) element;
                    try {
                        JpmPreferences jpmPrefs = new JpmPreferences();
                        if (jpmPrefs.getBrowserSelection() == JpmPreferences.PREF_BROWSER_EXTERNAL) {
                            URI browseUrl = searchElement.browse();
                            getViewSite().getWorkbenchWindow().getWorkbench().getBrowserSupport().getExternalBrowser().openURL(browseUrl.toURL());
                        } else
                            getViewSite().getPage().showView(Plugin.JPM_BROWSER_VIEW_ID, null, IWorkbenchPage.VIEW_VISIBLE);
                    } catch (PartInitException e) {
                        Plugin.getDefault().getLog().log(e.getStatus());
                    } catch (Exception e) {
                        Plugin.getDefault().getLog().log(new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, "Failed to load repository browser view", e));
                    }
                } else if (element instanceof RepositoryPlugin) {
                    viewer.setExpandedState(element, !viewer.getExpandedState(element));
                }
            }
        }
    });
    createContextMenu();
    // LAYOUT
    GridLayout layout = new GridLayout(1, false);
    layout.horizontalSpacing = 0;
    layout.verticalSpacing = 0;
    layout.marginWidth = 0;
    layout.marginHeight = 0;
    mainPanel.setLayout(layout);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    filterPanel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    // Toolbar
    createActions();
    fillToolBar(getViewSite().getActionBars().getToolBarManager());
    prefs.addPropertyChangeListener(workspaceOfflineListener);
    // synthenic call to "refresh" so that we can get the repositories to show up in the UI
    new WorkspaceJob("Load repositories") {

        @Override
        public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
            try {
                Central.refreshPlugins();
            } catch (Exception e) {
            // ignore errors there may be no workspace yet
            }
            return Status.OK_STATUS;
        }
    }.schedule();
    IActionBars actionBars = getViewSite().getActionBars();
    actionBars.setGlobalActionHandler(ActionFactory.REFRESH.getId(), refreshAction);
}
Also used : RepositoryBundle(bndtools.model.repo.RepositoryBundle) IAdaptable(org.eclipse.core.runtime.IAdaptable) RepositoryBundleVersion(bndtools.model.repo.RepositoryBundleVersion) TreeViewer(org.eclipse.jface.viewers.TreeViewer) TreeViewer(org.eclipse.jface.viewers.TreeViewer) Viewer(org.eclipse.jface.viewers.Viewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) RepositoryEntry(bndtools.model.repo.RepositoryEntry) ContinueSearchElement(bndtools.model.repo.ContinueSearchElement) Tree(org.eclipse.swt.widgets.Tree) WorkspaceJob(org.eclipse.core.resources.WorkspaceJob) Job(org.eclipse.core.runtime.jobs.Job) Status(org.eclipse.core.runtime.Status) IStatus(org.eclipse.core.runtime.IStatus) PropertyChangeEvent(java.beans.PropertyChangeEvent) JpmPreferences(bndtools.preferences.JpmPreferences) FormText(org.eclipse.ui.forms.widgets.FormText) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) DropTargetEvent(org.eclipse.swt.dnd.DropTargetEvent) FillLayout(org.eclipse.swt.layout.FillLayout) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) CoreException(org.eclipse.core.runtime.CoreException) IFile(org.eclipse.core.resources.IFile) File(java.io.File) JarFile(java.util.jar.JarFile) SelectionDragAdapter(bndtools.utils.SelectionDragAdapter) IStatus(org.eclipse.core.runtime.IStatus) HyperlinkEvent(org.eclipse.ui.forms.events.HyperlinkEvent) IFile(org.eclipse.core.resources.IFile) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) PropertyChangeListener(java.beans.PropertyChangeListener) RemoteRepositoryPlugin(aQute.bnd.service.RemoteRepositoryPlugin) RepositoryPlugin(aQute.bnd.service.RepositoryPlugin) URI(java.net.URI) URL(java.net.URL) SearchableRepositoryTreeContentProvider(bndtools.model.repo.SearchableRepositoryTreeContentProvider) GridLayout(org.eclipse.swt.layout.GridLayout) TransferData(org.eclipse.swt.dnd.TransferData) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) StackLayout(org.eclipse.swt.custom.StackLayout) ISelection(org.eclipse.jface.viewers.ISelection) PartInitException(org.eclipse.ui.PartInitException) IActionBars(org.eclipse.ui.IActionBars) IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) MouseEvent(org.eclipse.swt.events.MouseEvent) Composite(org.eclipse.swt.widgets.Composite) MouseAdapter(org.eclipse.swt.events.MouseAdapter) WorkspaceJob(org.eclipse.core.resources.WorkspaceJob) ViewerDropAdapter(org.eclipse.jface.viewers.ViewerDropAdapter) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) CoreException(org.eclipse.core.runtime.CoreException) PartInitException(org.eclipse.ui.PartInitException) IOException(java.io.IOException) IWorkbench(org.eclipse.ui.IWorkbench) WorkspaceSetupWizard(bndtools.wizards.workspace.WorkspaceSetupWizard) RepositoryTreeLabelProvider(bndtools.model.repo.RepositoryTreeLabelProvider) HttpClient(aQute.bnd.http.HttpClient) GridData(org.eclipse.swt.layout.GridData) WizardDialog(org.eclipse.jface.wizard.WizardDialog) IResource(org.eclipse.core.resources.IResource) HyperlinkAdapter(org.eclipse.ui.forms.events.HyperlinkAdapter)

Example 15 with FormToolkit

use of org.eclipse.ui.forms.widgets.FormToolkit in project bndtools by bndtools.

the class BundleContentPage method createFormContent.

@Override
protected void createFormContent(IManagedForm managedForm) {
    FormToolkit toolkit = managedForm.getToolkit();
    managedForm.setInput(model);
    ScrolledForm scrolledForm = managedForm.getForm();
    scrolledForm.setText("Bundle Content");
    Form form = scrolledForm.getForm();
    toolkit.decorateFormHeading(form);
    form.addMessageHyperlinkListener(new MessageHyperlinkAdapter(getEditor()));
    Composite body = form.getBody();
    // Create controls
    MDSashForm sashForm = new MDSashForm(body, SWT.HORIZONTAL, managedForm);
    sashForm.setSashWidth(6);
    toolkit.adapt(sashForm, false, false);
    Composite leftPanel = toolkit.createComposite(sashForm);
    createLeftPanel(managedForm, leftPanel);
    Composite rightPanel = toolkit.createComposite(sashForm);
    createRightPanel(managedForm, rightPanel);
    sashForm.setWeights(new int[] { 1, 1 });
    sashForm.hookResizeListener();
    // Layout
    body.setLayout(new FillLayout());
}
Also used : MessageHyperlinkAdapter(bndtools.utils.MessageHyperlinkAdapter) FormToolkit(org.eclipse.ui.forms.widgets.FormToolkit) Composite(org.eclipse.swt.widgets.Composite) MDSashForm(bndtools.editor.common.MDSashForm) IManagedForm(org.eclipse.ui.forms.IManagedForm) Form(org.eclipse.ui.forms.widgets.Form) ScrolledForm(org.eclipse.ui.forms.widgets.ScrolledForm) MDSashForm(bndtools.editor.common.MDSashForm) ScrolledForm(org.eclipse.ui.forms.widgets.ScrolledForm) FillLayout(org.eclipse.swt.layout.FillLayout)

Aggregations

FormToolkit (org.eclipse.ui.forms.widgets.FormToolkit)47 Composite (org.eclipse.swt.widgets.Composite)40 GridLayout (org.eclipse.swt.layout.GridLayout)35 GridData (org.eclipse.swt.layout.GridData)31 Label (org.eclipse.swt.widgets.Label)13 Button (org.eclipse.swt.widgets.Button)12 Text (org.eclipse.swt.widgets.Text)10 ScrolledForm (org.eclipse.ui.forms.widgets.ScrolledForm)10 Section (org.eclipse.ui.forms.widgets.Section)9 FillLayout (org.eclipse.swt.layout.FillLayout)8 ManagedForm (org.eclipse.ui.forms.ManagedForm)8 ExpandableComposite (org.eclipse.ui.forms.widgets.ExpandableComposite)8 MessageHyperlinkAdapter (bndtools.utils.MessageHyperlinkAdapter)6 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)6 SelectionEvent (org.eclipse.swt.events.SelectionEvent)6 MDSashForm (bndtools.editor.common.MDSashForm)5 HyperlinkAdapter (org.eclipse.ui.forms.events.HyperlinkAdapter)5 HyperlinkEvent (org.eclipse.ui.forms.events.HyperlinkEvent)5 ISelection (org.eclipse.jface.viewers.ISelection)4 TreeViewer (org.eclipse.jface.viewers.TreeViewer)4