List of usage examples for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn
public TableViewerColumn(TableViewer viewer, TableColumn column)
From source file:at.bestsolution.efxclipse.tooling.jdt.ui.internal.editors.JFXBuildConfigurationEditor.java
License:Open Source License
private void createPageOverview(final AntTask task) { Composite composite = new Composite(getContainer(), SWT.NONE); FillLayout layout = new FillLayout(); composite.setLayout(layout);//from www. jav a2s . co m PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, JavaFXUIPlugin.PLUGIN_ID + ".JFXBuildConfigurationEditor_overview"); bean.setValue(task); toolkit = new FormToolkit(composite.getDisplay()); final Form form = toolkit.createForm(composite); form.setText("FX Build Configuration"); form.setImage(getTitleImage()); form.getBody().setLayout(new FillLayout()); toolkit.decorateFormHeading(form); initToolbar(form); ScrolledForm scrolledForm = toolkit.createScrolledForm(form.getBody()); scrolledForm.getBody().setLayout(new GridLayout(2, false)); Composite sectionParent = scrolledForm.getBody(); dbc = new DataBindingContext(); IWidgetValueProperty textModify = WidgetProperties.text(SWT.Modify); IWidgetValueProperty selChange = WidgetProperties.selection(); { Section section = toolkit.createSection(sectionParent, Section.DESCRIPTION | Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED); section.setText("Build && Package Properties"); section.setDescription("The following properties are needed to build the JavaFX-Application"); section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Composite sectionClient = toolkit.createComposite(section); sectionClient.setLayout(new GridLayout(4, false)); { toolkit.createLabel(sectionClient, "Build Directory*:"); final Text t = toolkit.createText(sectionClient, "", SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); toolkit.createButton(sectionClient, "Filesystem ...", SWT.PUSH) .addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { String dir = handleBuildFilesystemDirectorySelection(t.getShell()); if (dir != null) { t.setText(dir); } } }); toolkit.createButton(sectionClient, "Workspace ...", SWT.PUSH) .addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { String dir = handleBuildWorkbenchDirectorySelection(t.getShell()); if (dir != null) { t.setText(dir); } } }); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ANT_TASK__BUILD_DIRECTORY); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Vendor name*:"); Text t = toolkit.createText(sectionClient, "", SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__INFO, INFO__VENDOR)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Application title*:"); Text t = toolkit.createText(sectionClient, "", SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__APPLICATION, APPLICATION__NAME)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Application version*:"); Text t = toolkit.createText(sectionClient, "", SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__APPLICATION, APPLICATION__VERSION)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Application class*:"); final Text t = toolkit.createText(sectionClient, "", SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1)); Button b = toolkit.createButton(sectionClient, "Browse ...", SWT.PUSH); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String name = handleRootclassSelection(t.getShell()); if (name != null) { t.setText(name); } } }); b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__APPLICATION, APPLICATION__MAINCLASS)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Preloader class:"); final Text t = toolkit.createText(sectionClient, "", SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1)); Button b = toolkit.createButton(sectionClient, "Browse ...", SWT.PUSH); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String name = handlePreloaderclassSelection(t.getShell()); if (name != null) { t.setText(name); } } }); b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__APPLICATION, APPLICATION__PRELOADERCLASS)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Splash:"); final Text t = toolkit.createText(sectionClient, "", SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1)); Button b = toolkit.createButton(sectionClient, "Browse ...", SWT.PUSH); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { String name = handleSplashImage(t.getShell()); if (name != null) { t.setText(name); } } }); b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__SPLASH_IMAGE)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Manifest-Attributes:") .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false)); Composite container = toolkit.createComposite(sectionClient); GridLayout gl = new GridLayout(2, false); gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0; container.setLayout(gl); GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL); gdContainer.horizontalSpan = 2; container.setLayoutData(gdContainer); Composite tableContainer = toolkit.createComposite(container); Table t = toolkit.createTable(tableContainer, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); t.setHeaderVisible(true); t.setLinesVisible(true); GridData gdTable = new GridData(GridData.FILL_HORIZONTAL); gdTable.heightHint = t.getHeaderHeight() + t.getItemHeight() * 5; tableContainer.setLayoutData(gdTable); TableColumnLayout tablelayout = new TableColumnLayout(); final TableViewer v = new TableViewer(t); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = t.getHeaderHeight() + t.getItemHeight() * 5; v.getControl().setLayoutData(gd); v.setContentProvider(ArrayContentProvider.getInstance()); { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(final Object element) { return ((Param) element).getName(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(33)); c.getColumn().setText("Name"); } { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(final Object element) { return ((Param) element).getValue(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(67)); c.getColumn().setText("Value"); } tableContainer.setLayout(tablelayout); v.setInput(task.getManifestEntries()); Composite buttonComp = toolkit.createComposite(sectionClient); buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false)); buttonComp.setLayout(new GridLayout()); { Button b = toolkit.createButton(buttonComp, "Add ...", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { if (handleAddManifestAttr(getSite().getShell())) { v.setInput(task.getManifestEntries()); v.setSelection(new StructuredSelection( task.getManifestEntries().get(task.getManifestEntries().size() - 1))); } } }); } { Button b = toolkit.createButton(buttonComp, "Remove", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { Param value = (Param) ((IStructuredSelection) v.getSelection()).getFirstElement(); if (value != null) { if (handleRemoveManifestAttr(value)) { v.setInput(task.getManifestEntries()); } } else { MessageDialog.openWarning(getSite().getShell(), "Warning", "Please select an entry"); } } }); } { toolkit.createLabel(sectionClient, "Toolkit Type:") .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false)); ComboViewer c = new ComboViewer(sectionClient); c.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 3, 1)); c.setContentProvider(new ArrayContentProvider()); c.setInput(ApplicationToolkitType.VALUES); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__APPLICATION, APPLICATION__TOOLKIT)); dbc.bindValue(selChange.observe(c.getCombo()), prop.observeDetail(bean)); } { Button b = toolkit.createButton(sectionClient, "Convert CSS into binary form", SWT.CHECK); b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 4, 1)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__CSS_TO_BIN)); dbc.bindValue(selChange.observe(b), prop.observeDetail(bean)); } } section.setClient(sectionClient); } { Section section = toolkit.createSection(sectionParent, Section.DESCRIPTION | Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED); section.setText("Building & Exporting"); section.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, true, 1, 2)); Composite sectionClient = toolkit.createComposite(section); sectionClient.setLayout(new GridLayout(1, false)); { FormText text = toolkit.createFormText(sectionClient, false); text.setText( "<p>To generate build instructions and export the project: <li style=\"bullet\" bindent=\"1\">Generate <a href=\"generateAnt\">ant build.xml</a> only</li><li style=\"bullet\" bindent=\"2\">Generate <a href=\"generateAndRun\">ant build.xml and run</a></li> </p>", true, false); text.addHyperlinkListener(new IHyperlinkListener() { @Override public void linkExited(final HyperlinkEvent e) { } @Override public void linkEntered(HyperlinkEvent e) { } @Override public void linkActivated(HyperlinkEvent e) { try { if ("generateAndRun".equals(e.getHref())) { executeExport(); } else { executeGenerateAnt(); } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); } section.setClient(sectionClient); } int index = addPage(composite); setPageText(index, "Overview"); }
From source file:at.bestsolution.efxclipse.tooling.jdt.ui.internal.editors.JFXBuildConfigurationEditor.java
License:Open Source License
private void createPageDeploy(final AntTask task) { Composite composite = new Composite(getContainer(), SWT.NONE); FillLayout layout = new FillLayout(); composite.setLayout(layout);//from www. ja va 2 s . c o m PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, JavaFXUIPlugin.PLUGIN_ID + ".JFXBuildConfigurationEditor_deploy"); // TODO final WritableValue bean = new WritableValue(); bean.setValue(task); toolkit = new FormToolkit(composite.getDisplay()); final Form form = toolkit.createForm(composite); form.setText("FX Build Configuration"); form.setImage(getTitleImage()); form.getBody().setLayout(new FillLayout()); toolkit.decorateFormHeading(form); initToolbar(form); ScrolledForm scrolledForm = toolkit.createScrolledForm(form.getBody()); scrolledForm.getBody().setLayout(new GridLayout(2, false)); Composite sectionParent = scrolledForm.getBody(); dbc = new DataBindingContext(); IWidgetValueProperty textModify = WidgetProperties.text(SWT.Modify); IWidgetValueProperty selChange = WidgetProperties.selection(); { Section section = toolkit.createSection(sectionParent, Section.DESCRIPTION | Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED); section.setText("Deploy Properties"); section.setDescription("The following properties are needed to create a Java Webstart Deployment"); section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Composite sectionClient = toolkit.createComposite(section); final int COLUMN_COUNT = 3; sectionClient.setLayout(new GridLayout(COLUMN_COUNT, false)); { toolkit.createLabel(sectionClient, "Applet Width*:"); Text t = toolkit.createText(sectionClient, "", SWT.BORDER); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = COLUMN_COUNT - 1; t.setLayoutData(gd); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__WIDTH)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Applet Height*:"); Text t = toolkit.createText(sectionClient, "", SWT.BORDER); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = COLUMN_COUNT - 1; t.setLayoutData(gd); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__HEIGHT)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { Button b = toolkit.createButton(sectionClient, "Embed JNLP", SWT.CHECK); b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, COLUMN_COUNT, 1)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__EMBEDJNLP)); dbc.bindValue(selChange.observe(b), prop.observeDetail(bean)); } { Button b = toolkit.createButton(sectionClient, "Treat files as extensions", SWT.CHECK); b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, COLUMN_COUNT, 1)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__EXTENSION)); dbc.bindValue(selChange.observe(b), prop.observeDetail(bean)); } { Button b = toolkit.createButton(sectionClient, "Include deployment toolkit", SWT.CHECK); b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, COLUMN_COUNT, 1)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__INCLUDE_DT)); dbc.bindValue(selChange.observe(b), prop.observeDetail(bean)); } { Button b = toolkit.createButton(sectionClient, "Native Package", SWT.CHECK); b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, COLUMN_COUNT, 1)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__NATIVE_PACKAGE)); dbc.bindValue(selChange.observe(b), prop.observeDetail(bean)); } { Button b = toolkit.createButton(sectionClient, "Offline allowed", SWT.CHECK); b.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, COLUMN_COUNT, 1)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__OFFLINE_ALLOWED)); dbc.bindValue(selChange.observe(b), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Placeholder Ref.*:"); Text t = toolkit.createText(sectionClient, "", SWT.BORDER); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = COLUMN_COUNT - 1; t.setLayoutData(gd); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__PLACEHOLDERREF)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Placeholder ID*:"); Text t = toolkit.createText(sectionClient, "", SWT.BORDER); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = COLUMN_COUNT - 1; t.setLayoutData(gd); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__PLACEHOLDERID)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "HTML Template:"); Text t = toolkit.createText(sectionClient, "", SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__TEMPLATE, TEMPLATE__FILE)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); Button b = toolkit.createButton(sectionClient, "Workspace ...", SWT.NONE); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { FilteredResourcesSelectionDialog d = new FilteredResourcesSelectionDialog( getSite().getShell(), false, ((IFileEditorInput) getEditorInput()).getFile().getProject(), IResource.FILE) { @Override protected IStatus validateItem(final Object item) { IFile f = (IFile) item; if (f.getParent() instanceof IProject) { return new Status(IStatus.ERROR, JavaFXUIPlugin.PLUGIN_ID, "The selected resource has to be part of the source folder"); } if (!f.getName().endsWith(JavaFXUIPlugin.FILEEXTENSION_HTML_TEMPLATE)) { return new Status(IStatus.ERROR, JavaFXUIPlugin.PLUGIN_ID, "The selected resource does not seem to be a html file"); } return super.validateItem(item); } }; if (d.open() == ResourceSelectionDialog.OK) { Object[] rv = d.getResult(); if (rv.length == 1) { IFile f = (IFile) rv[0]; IJavaElement j = JavaCore.create(f.getParent()); String template = null; if (j instanceof IPackageFragment) { IPackageFragment p = (IPackageFragment) j; template = p.getElementName().replace('.', '/') + "/" + f.getName(); } else if (j instanceof IPackageFragmentRoot) { IPackageFragmentRoot p = (IPackageFragmentRoot) j; template = f.getName(); } else { MessageDialog.openInformation(getSite().getShell(), "Not valid", "The selected resource has to be part of the source folder"); } if (template != null) { if (getTask().getDeploy().getTemplate() == null) { Command cmd = new SetCommand(editingDomain, getTask().getDeploy(), DEPLOY__TEMPLATE, ParametersFactory.eINSTANCE.createTemplate()); if (cmd.canExecute()) { cmd.execute(); } } Command cmd = new SetCommand(editingDomain, getTask().getDeploy().getTemplate(), TEMPLATE__FILE, template); if (cmd.canExecute()) { cmd.execute(); } } } } } }); } { toolkit.createLabel(sectionClient, "Template Output File:"); Text t = toolkit.createText(sectionClient, "", SWT.BORDER); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalSpan = COLUMN_COUNT - 1; t.setLayoutData(gd); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, FeaturePath.fromList(ANT_TASK__DEPLOY, DEPLOY__TEMPLATE, TEMPLATE__TO_FILE)); dbc.bindValue(textModify.observeDelayed(DELAY, t), prop.observeDetail(bean)); } { toolkit.createLabel(sectionClient, "Webstart Splash:") .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false)); Composite container = toolkit.createComposite(sectionClient); GridLayout gl = new GridLayout(2, false); gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0; container.setLayout(gl); GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL); gdContainer.horizontalSpan = COLUMN_COUNT - 1; container.setLayoutData(gdContainer); Composite tableContainer = toolkit.createComposite(container); Table t = toolkit.createTable(tableContainer, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); t.setHeaderVisible(true); t.setLinesVisible(true); GridData gdTable = new GridData(GridData.FILL_HORIZONTAL); gdTable.heightHint = t.getItemHeight() * 5; tableContainer.setLayoutData(gdTable); TableColumnLayout tablelayout = new TableColumnLayout(); final TableViewer v = new TableViewer(t); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = t.getItemHeight() * 5; v.getControl().setLayoutData(gd); v.setContentProvider(ArrayContentProvider.getInstance()); { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(final Object element) { return ((Splash) element).getMode().getName(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 100, false)); c.getColumn().setText("Mode"); } { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(final Object element) { return ((Splash) element).getHref(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(90)); c.getColumn().setText("URL"); } tableContainer.setLayout(tablelayout); v.setInput(task.getDeploy().getInfo().getSplash()); Composite buttonComp = toolkit.createComposite(container); buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false)); buttonComp.setLayout(new GridLayout()); { Button b = toolkit.createButton(buttonComp, "Add ...", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { if (handleAddSplash()) { v.setInput(task.getDeploy().getInfo().getSplash()); v.setSelection(new StructuredSelection(task.getDeploy().getInfo().getSplash() .get(task.getDeploy().getInfo().getSplash().size() - 1))); } } }); } { Button b = toolkit.createButton(buttonComp, "Remove", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { Splash value = (Splash) ((IStructuredSelection) v.getSelection()).getFirstElement(); if (value != null) { if (handleRemoveSplash(value)) { v.setInput(getTask().getDeploy().getInfo().getSplash()); } } else { MessageDialog.openWarning(getSite().getShell(), "Warning", "Please select an entry"); } } }); } } { toolkit.createLabel(sectionClient, "Webstart Icons:") .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false)); Composite container = toolkit.createComposite(sectionClient); GridLayout gl = new GridLayout(2, false); gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0; container.setLayout(gl); GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL); gdContainer.horizontalSpan = COLUMN_COUNT - 1; container.setLayoutData(gdContainer); Composite tableContainer = toolkit.createComposite(container); Table t = toolkit.createTable(tableContainer, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); t.setHeaderVisible(true); t.setLinesVisible(true); GridData gdTable = new GridData(GridData.FILL_HORIZONTAL); gdTable.heightHint = t.getItemHeight() * 5; tableContainer.setLayoutData(gdTable); TableColumnLayout tablelayout = new TableColumnLayout(); final TableViewer v = new TableViewer(t); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = t.getItemHeight() * 5; v.getControl().setLayoutData(gd); v.setContentProvider(ArrayContentProvider.getInstance()); { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Icon) element).getDepth(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 50, false)); c.getColumn().setText("Depth"); } { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Icon) element).getKind().getName(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 100, false)); c.getColumn().setText("Kind"); } { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Icon) element).getWidth(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 50, false)); c.getColumn().setText("Width"); } { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Icon) element).getHeight(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(10, 50, false)); c.getColumn().setText("Height"); } { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((Icon) element).getHref(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(60)); c.getColumn().setText("Url"); } tableContainer.setLayout(tablelayout); v.setInput(task.getDeploy().getInfo().getIcon()); Composite buttonComp = toolkit.createComposite(container); buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false)); buttonComp.setLayout(new GridLayout()); { Button b = toolkit.createButton(buttonComp, "Add ...", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { if (handleAddIcon()) { v.setInput(task.getDeploy().getInfo().getIcon()); v.setSelection(new StructuredSelection(task.getDeploy().getInfo().getIcon() .get(task.getDeploy().getInfo().getIcon().size() - 1))); } } }); } { Button b = toolkit.createButton(buttonComp, "Remove", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { Icon value = (Icon) ((IStructuredSelection) v.getSelection()).getFirstElement(); if (value != null) { if (handleRemoveIcon(value)) { v.setInput(task.getDeploy().getInfo().getIcon()); } } else { MessageDialog.openWarning(getSite().getShell(), "Warning", "Please select an entry"); } } }); } } { toolkit.createLabel(sectionClient, "Additional META-INF files:") .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false)); Composite container = toolkit.createComposite(sectionClient); GridLayout gl = new GridLayout(2, false); gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0; container.setLayout(gl); GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL); gdContainer.horizontalSpan = COLUMN_COUNT - 1; container.setLayoutData(gdContainer); Composite tableContainer = toolkit.createComposite(container); Table t = toolkit.createTable(tableContainer, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); t.setHeaderVisible(true); t.setLinesVisible(true); GridData gdTable = new GridData(GridData.FILL_HORIZONTAL); gdTable.heightHint = t.getItemHeight() * 5; tableContainer.setLayoutData(gdTable); TableColumnLayout tablelayout = new TableColumnLayout(); final TableViewer v = new TableViewer(t); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = t.getItemHeight() * 5; v.getControl().setLayoutData(gd); v.setContentProvider(ArrayContentProvider.getInstance()); { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((KeyValuePair) element).getKey(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(33)); c.getColumn().setText("Folder"); } { TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((KeyValuePair) element).getValue(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(67)); c.getColumn().setText("File"); } tableContainer.setLayout(tablelayout); v.setInput(task.getFiles()); Composite buttonComp = toolkit.createComposite(container); buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false)); buttonComp.setLayout(new GridLayout()); { Button b = toolkit.createButton(buttonComp, "Add ...", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { if (handleAddMetaInfFile()) { v.setInput(task.getFiles()); v.setSelection( new StructuredSelection(task.getFiles().get(task.getFiles().size() - 1))); } } }); } { Button b = toolkit.createButton(buttonComp, "Remove", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { KeyValuePair value = (KeyValuePair) ((IStructuredSelection) v.getSelection()) .getFirstElement(); if (value != null) { if (handleRemoveMetaInfFile(value)) { v.setInput(task.getFiles()); } } else { MessageDialog.openWarning(getSite().getShell(), "Warning", "Please select an entry"); } } }); } } { toolkit.createLabel(sectionClient, "Fonts:") .setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false)); Composite container = toolkit.createComposite(sectionClient); GridLayout gl = new GridLayout(2, false); gl.marginBottom = gl.marginHeight = gl.marginLeft = gl.marginRight = gl.marginTop = gl.marginWidth = 0; container.setLayout(gl); GridData gdContainer = new GridData(GridData.FILL_HORIZONTAL); gdContainer.horizontalSpan = COLUMN_COUNT - 1; container.setLayoutData(gdContainer); Composite tableContainer = toolkit.createComposite(container); Table t = toolkit.createTable(tableContainer, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); t.setHeaderVisible(true); t.setLinesVisible(true); GridData gdTable = new GridData(GridData.FILL_HORIZONTAL); gdTable.heightHint = t.getItemHeight() * 5; tableContainer.setLayoutData(gdTable); TableColumnLayout tablelayout = new TableColumnLayout(); final TableViewer v = new TableViewer(t); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = t.getItemHeight() * 5; v.getControl().setLayoutData(gd); final ArrayContentProvider cp = new ArrayContentProvider(); v.setContentProvider(cp); { IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ParametersPackage.Literals.KEY_VALUE_PAIR__KEY); TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); TableColumn tc = c.getColumn(); tc.setText("Font name"); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((KeyValuePair) element).getKey(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(33)); } { IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ParametersPackage.Literals.KEY_VALUE_PAIR__VALUE); TableViewerColumn c = new TableViewerColumn(v, SWT.NONE); TableColumn tc = c.getColumn(); tc.setText("File"); c.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((KeyValuePair) element).getValue(); } }); tablelayout.setColumnData(c.getColumn(), new ColumnWeightData(67)); } tableContainer.setLayout(tablelayout); v.setInput(task.getFonts()); Composite buttonComp = toolkit.createComposite(container); buttonComp.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false)); buttonComp.setLayout(new GridLayout()); { Button b = toolkit.createButton(buttonComp, "Add ...", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { if (handleAddFont()) { final KeyValuePair newFont = task.getFonts().get(task.getFonts().size() - 1); v.refresh(); v.setSelection(new StructuredSelection(newFont)); } } }); } { Button b = toolkit.createButton(buttonComp, "Remove", SWT.PUSH); b.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, false, false)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { KeyValuePair value = (KeyValuePair) ((IStructuredSelection) v.getSelection()) .getFirstElement(); if (value != null) { if (handleRemoveFont(value)) { v.setInput(task.getFonts()); } } else { MessageDialog.openWarning(getSite().getShell(), "Warning", "Please select an entry"); } } }); } } section.setClient(sectionClient); } int index = addPage(composite); setPageText(index, "Deploy"); }
From source file:at.medevit.elexis.gdt.ui.table.util.ColumnBuilder.java
License:Open Source License
/** * Builds the column and returns the TableViewerColumn *//*from w ww. j av a 2 s . co m*/ public TableViewerColumn build() { // create column TableViewerColumn viewerColumn = new TableViewerColumn(viewer, align); TableColumn column = viewerColumn.getColumn(); column.setText(columnHeaderText); // set label provider if (customLabelProvider != null) { if (cellFormatter != null) { throw new RuntimeException("If you specify a custom label provider, it is not allowed " + "to specify a cell formatter. You need to do the formatting in your labelprovider!"); } viewerColumn.setLabelProvider(customLabelProvider); } else { viewerColumn .setLabelProvider(new PropertyCellLabelProvider(valueHandler, valueFormatter, cellFormatter)); } // activate column sorting if (sortBy == null) { sortBy = valueHandler; } if (sortBy != null) { column.setData(SortColumnComparator.SORT_BY, sortBy); column.addSelectionListener(new ColumnSortSelectionListener(viewer)); if (defaultSort) { viewer.getTable().setSortColumn(column); viewer.getTable().setSortDirection(SWT.UP); } } // set column layout data if (widthPixel != null && widthPercent != null) { throw new RuntimeException("You can specify a width in pixel OR in percent, but not both!"); } if (widthPercent == null) { // default width of 100px if nothing specified ((TableColumnLayout) viewer.getTable().getParent().getLayout()).setColumnData(column, new ColumnPixelData(widthPixel == null ? 100 : widthPixel)); } else { ((TableColumnLayout) viewer.getTable().getParent().getLayout()).setColumnData(column, new ColumnWeightData(widthPercent)); } // set editing support if (editor != null) { if (valueHandler == null) { throw new RuntimeException( "makeEditable() requires that the column is bound to some value using bindTo...()"); } viewerColumn.setEditingSupport(new PropertyEditingSupport(viewer, valueHandler, editorFormat, editor)); } return viewerColumn; }
From source file:au.gov.ga.earthsci.application.parts.retrieve.RetrievePart.java
License:Apache License
private void createColumns() { TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("URL"); column.getColumn().setWidth(300);//from w w w .j a v a 2s . com column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { IRetrieval retrieval = (IRetrieval) element; return retrieval.getURL().toString(); } }); column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("Caller(s)"); column.getColumn().setWidth(200); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { IRetrieval retrieval = (IRetrieval) element; StringBuilder sb = new StringBuilder(); for (Object caller : retrieval.getCallers()) { sb.append(", " + caller.toString()); //$NON-NLS-1$ } if (sb.length() == 0) { return sb.toString(); } return sb.substring(2); } }); column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("Progress"); column.getColumn().setWidth(150); column.setLabelProvider(new OwnerDrawLabelProvider() { @Override protected void paint(Event event, Object element) { GC gc = event.gc; Color foreground = gc.getForeground(); Color background = gc.getBackground(); IRetrieval retrieval = (IRetrieval) element; float percentage = Math.max(0, retrieval.getPercentage()); String text = positionString(retrieval); Rectangle bounds = ((TableItem) event.item).getBounds(event.index); int width = (int) ((bounds.width - 1) * percentage); gc.setBackground(downloadBackgroundColor); gc.fillRectangle(event.x, event.y, width, event.height); Point size = event.gc.textExtent(text); int offset = Math.max(0, (event.height - size.y) / 2); gc.setForeground(event.display.getSystemColor(SWT.COLOR_LIST_FOREGROUND)); gc.drawText(text, event.x + 2, event.y + offset, true); gc.setForeground(background); gc.setBackground(foreground); } @Override protected void measure(Event event, Object element) { } }); }
From source file:au.gov.ga.earthsci.bookmark.part.BookmarksPart.java
License:Apache License
private void initList(Composite parent) { Composite tableHolder = new Composite(parent, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true;//from w ww . ja v a 2s .co m gd.horizontalAlignment = GridData.FILL; tableHolder.setLayoutData(gd); TableColumnLayout layout = new TableColumnLayout(); tableHolder.setLayout(layout); bookmarkListTableViewer = new TableViewer(tableHolder, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); bookmarkListTableViewer.getTable().setHeaderVisible(false); bookmarkListTableViewer.getTable().setLinesVisible(false); bookmarkListTableViewer.getTable().setLayoutData(gd); ObservableListContentProvider contentProvider = new ObservableListContentProvider(); bookmarkListTableViewer.setContentProvider(contentProvider); IObservableMap labelMap = BeanProperties.value("name").observeDetail(contentProvider.getKnownElements()); //$NON-NLS-1$ TableViewerColumn column = new TableViewerColumn(bookmarkListTableViewer, SWT.LEFT); column.setEditingSupport(new BookmarkNameEditingSupport(bookmarkListTableViewer)); column.setLabelProvider(new ObservableMapCellLabelProvider(labelMap) { @Override public void update(ViewerCell cell) { super.update(cell); cell.setText(" " + ((IBookmark) cell.getElement()).getName()); //$NON-NLS-1$ cell.setImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_BOOKMARKS)); } }); ColumnLayoutData cld = new ColumnWeightData(12); layout.setColumnData(column.getColumn(), cld); // Allow edit (rename) only via programmatic access (rename command) ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( bookmarkListTableViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(bookmarkListTableViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); // Populate the current selection with the actual bookmark items bookmarkListTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) bookmarkListTableViewer.getSelection(); List<?> list = selection.toList(); selectionService.setSelection(list.toArray(new IBookmark[list.size()])); } }); // Apply the bookmark on double click bookmarkListTableViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { controller.apply((IBookmark) ((IStructuredSelection) event.getSelection()).getFirstElement()); } }); // Deselect when clicking outside a valid row bookmarkListTableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (bookmarkListTableViewer.getTable().getItem(new Point(e.x, e.y)) == null) { bookmarkListTableViewer.setSelection(null); } } }); }
From source file:au.gov.ga.earthsci.bookmark.part.editor.LayersPropertyEditor.java
License:Apache License
@Override public Control createControl(Composite parent) { container = new Composite(parent, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(1, false)); Label l = new Label(container, SWT.TITLE); l.setText(Messages.LayersPropertyEditor_LayerStateLabel); Table table = new Table(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.CHECK); layerTable = new CheckboxTableViewer(table); layerTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH)); layerTable.setContentProvider(ArrayContentProvider.getInstance()); layerTable.getTable().setHeaderVisible(true); layerTable.getTable().setLinesVisible(true); TableViewerColumn col = new TableViewerColumn(layerTable, SWT.NONE); col.getColumn().setWidth(200);//www . j a v a2s. co m col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateLabelColumnLabel); col.getColumn().setResizable(true); col.getColumn().setMoveable(false); col = new TableViewerColumn(layerTable, SWT.NONE); col.getColumn().setWidth(100); col.getColumn().setText(Messages.LayersPropertyEditor_LayerStateOpacityColumnLabel); col.getColumn().setResizable(true); col.getColumn().setMoveable(false); col.setEditingSupport(new EditingSupport(col.getViewer()) { @Override protected CellEditor getCellEditor(Object element) { TextCellEditor textCellEditor = new TextCellEditor(layerTable.getTable()); textCellEditor.setValidator(new ICellEditorValidator() { @Override public String isValid(Object value) { try { Double.parseDouble((String) value); return null; } catch (Exception e) { return Messages.LayersPropertyEditor_InvalidOpacityMessage; } } }); return textCellEditor; } @Override protected boolean canEdit(Object element) { return true; } @SuppressWarnings("unchecked") @Override protected Object getValue(Object element) { return Double.toString(((Entry<URI, Double>) element).getValue()); } @SuppressWarnings("unchecked") @Override protected void setValue(Object element, Object value) { ((Entry<URI, Double>) element).setValue(Util.clamp(Double.parseDouble((String) value), 0, 1)); layerTable.refresh(element, true); } }); layerTable.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { @SuppressWarnings("unchecked") Entry<URI, Double> entry = (Entry<URI, Double>) cell.getElement(); if (cell.getColumnIndex() == 0) { cell.setText(entry.getKey().toString()); } else { cell.setText(Double.toString(entry.getValue())); } } }); fillFieldsFromProperty(getProperty()); return container; }
From source file:au.gov.ga.earthsci.bookmark.ui.BookmarksPart.java
License:Apache License
private void initList(Composite parent) { Composite tableHolder = new Composite(parent, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true;//from ww w . j a v a 2 s . co m gd.horizontalAlignment = GridData.FILL; tableHolder.setLayoutData(gd); TableColumnLayout layout = new TableColumnLayout(); tableHolder.setLayout(layout); bookmarkListTableViewer = new TableViewer(tableHolder, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); bookmarkListTableViewer.getTable().setHeaderVisible(false); bookmarkListTableViewer.getTable().setLinesVisible(false); bookmarkListTableViewer.getTable().setLayoutData(gd); ObservableListContentProvider<IBookmark> contentProvider = new ObservableListContentProvider<IBookmark>( IBookmark.class); bookmarkListTableViewer.setContentProvider(contentProvider); IObservableSet<IBookmark> knownElements = contentProvider.getKnownElements(); IObservableMap<IBookmark, String> nameMap = BeanProperties.value(IBookmark.class, "name", String.class) //$NON-NLS-1$ .observeDetail(knownElements); TableViewerColumn column = new TableViewerColumn(bookmarkListTableViewer, SWT.LEFT); column.setEditingSupport(new BookmarkNameEditingSupport(bookmarkListTableViewer)); column.setLabelProvider(new ObservableMapCellLabelProvider<IBookmark, String>(nameMap) { @Override public void update(ViewerCell cell) { super.update(cell); cell.setText(" " + ((IBookmark) cell.getElement()).getName()); //$NON-NLS-1$ cell.setImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_BOOKMARKS)); } }); ColumnLayoutData cld = new ColumnWeightData(12); layout.setColumnData(column.getColumn(), cld); // Allow edit (rename) only via programmatic access (rename command) ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( bookmarkListTableViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(bookmarkListTableViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); // Populate the current selection with the actual bookmark items bookmarkListTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) bookmarkListTableViewer.getSelection(); List<?> list = selection.toList(); selectionService.setSelection(list.toArray(new IBookmark[list.size()])); } }); // Apply the bookmark on double click bookmarkListTableViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { controller.apply((IBookmark) ((IStructuredSelection) event.getSelection()).getFirstElement()); } }); // Deselect when clicking outside a valid row bookmarkListTableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (bookmarkListTableViewer.getTable().getItem(new Point(e.x, e.y)) == null) { bookmarkListTableViewer.setSelection(null); } } }); }
From source file:au.gov.ga.earthsci.bookmark.ui.editor.LayersPropertyEditor.java
License:Apache License
/** * Creates a column with the given information * /*from w w w . ja v a 2 s.c o m*/ * @param columnHeader * The header title for the column * @param index * The index at which this column will be created. * @param editSupport */ private void createTableColumn(String columnHeader, boolean editSupport) { colToName.put(layerTable.getTable().getColumnCount(), columnHeader); TableViewerColumn col = new TableViewerColumn(layerTable, SWT.NONE); col.getColumn().setWidth(200); col.getColumn().setText(columnHeader); col.getColumn().setResizable(true); col.getColumn().setMoveable(false); tableColumns.add(col); layerTable.setLabelProvider(labelProv); if (editSupport) { col.setEditingSupport(getEditorSupport(col)); } }
From source file:au.gov.ga.earthsci.common.ui.color.ColorMapEditor.java
License:Apache License
private void addEntriesList(Composite parent) { Composite tableContainer = new Composite(parent, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.horizontalSpan = 2;//from w ww . ja va 2 s .com tableContainer.setLayoutData(gd); TableColumnLayout layout = new TableColumnLayout(); tableContainer.setLayout(layout); // Not sure why, but columns and column label providers only work when SWT.VIRTUAL is used entriesTable = new TableViewer(tableContainer, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL); entriesTable.setContentProvider(ArrayContentProvider.getInstance()); entriesTable.getTable().setHeaderVisible(true); entriesTable.getTable().setLinesVisible(true); entriesTable.setInput(map.getEntries().entrySet()); TableViewerColumn valueColumn = new TableViewerColumn(entriesTable, SWT.NONE); valueColumn.getColumn().setText(Messages.ColorMapEditor_TableValueColumnLabel); valueColumn.setLabelProvider(new ColumnLabelProvider() { @SuppressWarnings("unchecked") @Override public String getText(Object element) { Double value = ((Entry<Double, Color>) element).getKey(); String result = "" + value; //$NON-NLS-1$ if (map.isPercentageBased()) { result += " (" + (int) (value * 100) + "%)"; //$NON-NLS-1$ //$NON-NLS-2$ } return result; } }); layout.setColumnData(valueColumn.getColumn(), new ColumnPixelData(80, false)); TableViewerColumn colorNameColumn = new TableViewerColumn(entriesTable, SWT.NONE); colorNameColumn.getColumn().setText(Messages.ColorMapEditor_TableColorColumnLabel); colorNameColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Color color = getColorFromElement(element); return "RGBA(" + color.getRed() + ", " //$NON-NLS-1$ //$NON-NLS-2$ + color.getGreen() + ", " //$NON-NLS-1$ + color.getBlue() + ", " //$NON-NLS-1$ + color.getAlpha() + ")"; //$NON-NLS-1$ } @Override public String getToolTipText(Object element) { return "#" + getColorKey(getColorFromElement(element)); //$NON-NLS-1$ } @SuppressWarnings("unchecked") private Color getColorFromElement(Object element) { return ((Entry<Double, Color>) element).getValue(); } private String getColorKey(Color color) { return Integer.toHexString(color.getRGB()); } }); layout.setColumnData(colorNameColumn.getColumn(), new ColumnWeightData(100, false)); ColumnViewerToolTipSupport.enableFor(entriesTable, ToolTip.NO_RECREATE); }
From source file:au.gov.ga.earthsci.common.ui.dialogs.SpatialReferenceSelectorDialog.java
License:Apache License
private void addReferencesTableViewer(Composite container) { Composite tableContainer = new Composite(container, SWT.NONE); tableContainer.setLayoutData(new GridData(GridData.FILL_BOTH)); TableColumnLayout tableColumnLayout = new TableColumnLayout(); tableContainer.setLayout(tableColumnLayout); referencesView = new TableViewer(tableContainer, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.SINGLE | SWT.VIRTUAL | SWT.FULL_SELECTION); referencesView.setContentProvider(ArrayContentProvider.getInstance()); referencesView.setInput(SpatialReferences.get()); referencesView.getTable().setLinesVisible(true); referencesView.getTable().setHeaderVisible(true); TableViewerColumn epsgColumn = new TableViewerColumn(referencesView, SWT.NONE); epsgColumn.getColumn().setText(Messages.getString("SpatialReferenceSelectorDialog.CodeColumnTitle")); //$NON-NLS-1$ tableColumnLayout.setColumnData(epsgColumn.getColumn(), new ColumnPixelData(80)); epsgColumn.setLabelProvider(new ColumnLabelProvider() { @Override/*from w w w. ja v a 2 s.c o m*/ public String getText(Object element) { return ((SpatialReferenceSummary) element).getEpsg(); } }); TableViewerColumn nameColumn = new TableViewerColumn(referencesView, SWT.NONE); nameColumn.getColumn().setText(Messages.getString("SpatialReferenceSelectorDialog.NameColumnTitle")); //$NON-NLS-1$ tableColumnLayout.setColumnData(nameColumn.getColumn(), new ColumnWeightData(100)); nameColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((SpatialReferenceSummary) element).getName(); } }); }