List of usage examples for org.eclipse.jface.resource JFaceResources getBannerFont
public static Font getBannerFont()
From source file:org.netxms.ui.eclipse.agentmanager.views.ScreenshotView.java
License:Open Source License
@Override public void createPartControl(Composite parent) { parent.setLayout(new FillLayout()); scroller = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL); canvas = new Canvas(scroller, SWT.NONE); canvas.addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { GC gc = e.gc;/* w w w. j a v a 2 s.c o m*/ if (image != null) { gc.drawImage(image, 0, 0); gc.drawText(imageInfo, 10, image.getImageData().height + 10); } else if (errorMessage != null) { gc.setForeground(canvas.getDisplay().getSystemColor(SWT.COLOR_DARK_RED)); gc.setFont(JFaceResources.getBannerFont()); gc.drawText(errorMessage, 10, 10, true); } } }); scroller.setContent(canvas); scroller.setExpandVertical(true); scroller.setExpandHorizontal(true); scroller.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { updateScrollerSize(); } }); activateContext(); createActions(); contributeToActionBars(); refresh(); }
From source file:org.netxms.ui.eclipse.dashboard.widgets.StatusMapElement.java
License:Open Source License
/** * @param parent//from ww w. j a va 2s .c om * @param data */ public StatusMapElement(DashboardControl parent, DashboardElement element, IViewPart viewPart) { super(parent, element, viewPart); try { config = StatusMapConfig.createFromXml(element.getData()); } catch (Exception e) { e.printStackTrace(); config = new StatusMapConfig(); } if (config.getTitle().trim().isEmpty()) { setLayout(new FillLayout()); map = new ObjectStatusMap(viewPart, this, SWT.NONE); } else { GridLayout layout = new GridLayout(); layout.marginWidth = 0; layout.marginHeight = 0; setLayout(layout); Label title = new Label(this, SWT.CENTER); title.setText(config.getTitle().trim()); title.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); title.setFont(JFaceResources.getBannerFont()); title.setBackground(getBackground()); map = new ObjectStatusMap(viewPart, this, SWT.NONE); map.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); } map.setGroupObjects(config.isGroupObjects()); map.setSeverityFilter(config.getSeverityFilter()); map.setRootObject(config.getObjectId()); map.addRefreshListener(new Runnable() { @Override public void run() { requestDashboardLayout(); } }); }
From source file:org.netxms.ui.eclipse.dashboard.widgets.TableValueElement.java
License:Open Source License
/** * @param parent//from w w w. j a v a2s .c om * @param element * @param viewPart */ public TableValueElement(DashboardControl parent, DashboardElement element, IViewPart viewPart) { super(parent, element, viewPart); try { config = TableValueConfig.createFromXml(element.getData()); } catch (Exception e) { e.printStackTrace(); config = new TableValueConfig(); } if (config.getTitle().trim().isEmpty()) { setLayout(new FillLayout()); viewer = new TableValue(this, SWT.NONE, viewPart, parent.getDashboardObject().getGuid().toString()); } else { GridLayout layout = new GridLayout(); layout.marginWidth = 0; layout.marginHeight = 0; setLayout(layout); Label title = new Label(this, SWT.CENTER); title.setText(config.getTitle().trim()); title.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); title.setFont(JFaceResources.getBannerFont()); viewer = new TableValue(this, SWT.NONE, viewPart, parent.getDashboardObject().getGuid().toString()); viewer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); } viewer.setObject(config.getObjectId(), config.getDciId()); viewer.refresh(null); final ViewRefreshController refreshController = new ViewRefreshController(viewPart, config.getRefreshRate(), new Runnable() { @Override public void run() { if (TableValueElement.this.isDisposed()) return; viewer.refresh(null); } }); addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { refreshController.dispose(); } }); }
From source file:org.netxms.ui.eclipse.networkmaps.views.helpers.ObjectTooltip.java
License:Open Source License
/** * @param object// ww w . j a v a 2 s . c o m */ public ObjectTooltip(AbstractObject object, MapLabelProvider labelProvider) { setBorder(new MarginBorder(3)); GridLayout layout = new GridLayout(2, false); layout.horizontalSpacing = 10; setLayoutManager(layout); Label title = new Label(); title.setIcon(labelProvider.getWorkbenchIcon(object)); title.setText(object.getObjectName()); title.setFont(JFaceResources.getBannerFont()); add(title); Label status = new Label(); status.setIcon(StatusDisplayInfo.getStatusImage(object.getStatus())); status.setText(StatusDisplayInfo.getStatusText(object.getStatus())); add(status); GridData gd = new GridData(); gd.horizontalAlignment = SWT.RIGHT; setConstraint(status, gd); if ((object instanceof Node) && ((Node) object).getPrimaryIP().isValidAddress() && !((Node) object).getPrimaryIP().getAddress().isAnyLocalAddress()) { StringBuilder sb = new StringBuilder(((Node) object).getPrimaryIP().getHostAddress()); MacAddress mac = ((Node) object).getPrimaryMAC(); if (mac != null) { sb.append(" ("); //$NON-NLS-1$ sb.append(mac.toString()); sb.append(')'); } Label iface = new Label(); iface.setIcon(SharedIcons.IMG_IP_ADDRESS); iface.setText(sb.toString()); add(iface); gd = new GridData(); gd.horizontalSpan = 2; setConstraint(iface, gd); } if (object instanceof Node) { DciValue[] values = labelProvider.getNodeLastValues(object.getObjectId()); if ((values != null) && (values.length > 0)) { lastValuesFigure = new NodeLastValuesFigure(values); add(lastValuesFigure); gd = new GridData(); gd.horizontalSpan = 2; setConstraint(lastValuesFigure, gd); } } if (object instanceof Container) addStatusChart(object, labelProvider); if (object instanceof AccessPoint) { StringBuilder sb = new StringBuilder(((AccessPoint) object).getModel()); MacAddress mac = ((AccessPoint) object).getMacAddress(); if (mac != null) { sb.append('\n'); sb.append(mac.toString()); } for (RadioInterface rif : ((AccessPoint) object).getRadios()) { sb.append(Messages.get().ObjectTooltip_Radio); sb.append(rif.getIndex()); sb.append(" ("); //$NON-NLS-1$ sb.append(rif.getMacAddress().toString()); sb.append(Messages.get().ObjectTooltip_Channel); sb.append(rif.getChannel()); sb.append(Messages.get().ObjectTooltip_TXPower); sb.append(rif.getPowerMW()); sb.append(Messages.get().ObjectTooltip_mW); } Label info = new Label(); info.setText(sb.toString()); add(info); gd = new GridData(); gd.horizontalSpan = 2; setConstraint(info, gd); } if (!object.getComments().isEmpty()) { FlowPage page = new FlowPage(); add(page); gd = new GridData(); gd.horizontalSpan = 2; setConstraint(page, gd); TextFlow text = new TextFlow(); text.setText("\n" + object.getComments()); //$NON-NLS-1$ page.add(text); } }
From source file:org.netxms.ui.eclipse.perfview.widgets.TableValue.java
License:Open Source License
/** * Refresh table/*from w w w .j a v a2 s . com*/ */ public void refresh(final Runnable postRefreshHook) { viewer.setInput(null); ConsoleJob job = new ConsoleJob(String.format(Messages.get().TableValue_JobName, dciId), viewPart, Activator.PLUGIN_ID, null) { @Override protected void runInternal(IProgressMonitor monitor) throws Exception { final Table table = session.getTableLastValues(objectId, dciId); runInUIThread(new Runnable() { @Override public void run() { if (viewer.getControl().isDisposed()) return; if (errorLabel != null) { errorLabel.dispose(); errorLabel = null; viewer.getControl().setVisible(true); viewer.getControl().getParent().layout(true, true); } updateViewer(table); if (postRefreshHook != null) { postRefreshHook.run(); } } }); } @Override protected String getErrorMessage() { return String.format(Messages.get().TableValue_JobError, dciId); } @Override protected IStatus createFailureStatus(final Exception e) { runInUIThread(new Runnable() { @Override public void run() { if (viewer.getControl().isDisposed()) return; if (errorLabel == null) { errorLabel = new CLabel(viewer.getControl().getParent(), SWT.NONE); errorLabel.setFont(JFaceResources.getBannerFont()); errorLabel.setImage(StatusDisplayInfo.getStatusImage(Severity.CRITICAL)); errorLabel.moveAbove(viewer.getControl()); FormData fd = new FormData(); fd.top = new FormAttachment(0, 0); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(100, 0); fd.bottom = new FormAttachment(100, 0); errorLabel.setLayoutData(fd); viewer.getControl().getParent().layout(true, true); viewer.getControl().setVisible(false); } errorLabel.setText(getErrorMessage() + " (" + e.getLocalizedMessage() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ } }); return Status.OK_STATUS; } }; job.setUser(false); job.start(); }
From source file:org.robotframework.ide.eclipse.main.plugin.navigator.actions.KeywordDocumentationComposite.java
License:Apache License
@Override protected Composite createControl(final Composite parent) { setFormImage(RedImages.getKeywordImage()); final Composite actualComposite = getToolkit().createComposite(parent); GridLayoutFactory.fillDefaults().numColumns(2).margins(3, 3).applyTo(actualComposite); argumentsText = getToolkit().createFormText(actualComposite, false); argumentsText.setFont("monospace", JFaceResources.getTextFont()); argumentsText.setFont("monospace_inline", JFaceResources.getTextFont()); argumentsText.setColor("header", getToolkit().getColors().getColor(IFormColors.TITLE)); argumentsText.setFont("header", JFaceResources.getBannerFont()); GridDataFactory.fillDefaults().span(2, 1).hint(400, SWT.DEFAULT).grab(true, false).applyTo(argumentsText); scrolledFormText = new ScrolledFormText(actualComposite, SWT.V_SCROLL | SWT.H_SCROLL, true); getToolkit().adapt(scrolledFormText); GridDataFactory.fillDefaults().span(2, 1).hint(400, 500).grab(true, true).applyTo(scrolledFormText); GridLayoutFactory.fillDefaults().applyTo(scrolledFormText); documentationText = scrolledFormText.getFormText(); documentationText.setFont("monospace", JFaceResources.getTextFont()); documentationText.setFont("monospace_inline", JFaceResources.getTextFont()); documentationText.setColor("header", getToolkit().getColors().getColor(IFormColors.TITLE)); documentationText.setFont("header", JFaceResources.getBannerFont()); GridDataFactory.fillDefaults().grab(true, true).applyTo(documentationText); documentationText.setWhitespaceNormalized(false); final HyperlinkAdapter hyperlinkListener = createHyperlinkListener(); documentationText.addHyperlinkListener(hyperlinkListener); argumentsText.addHyperlinkListener(hyperlinkListener); addDisposeListener(new DisposeListener() { @Override//from w ww . j a va2 s .co m public void widgetDisposed(final DisposeEvent e) { documentationText.removeHyperlinkListener(hyperlinkListener); argumentsText.removeHyperlinkListener(hyperlinkListener); } }); return actualComposite; }
From source file:org.robotframework.ide.eclipse.main.plugin.navigator.actions.LibraryDocumentationComposite.java
License:Apache License
@Override protected Composite createControl(final Composite parent) { setFormImage(RedImages.getBookImage()); final Composite actualComposite = getToolkit().createComposite(parent); GridLayoutFactory.fillDefaults().numColumns(2).margins(3, 3).applyTo(actualComposite); final Label version = getToolkit().createLabel(actualComposite, "Version"); version.setFont(JFaceResources.getHeaderFont()); version.setForeground(getToolkit().getColors().getColor(IFormColors.TITLE)); versionLabel = getToolkit().createLabel(actualComposite, ""); versionLabel.setFont(JFaceResources.getHeaderFont()); versionLabel.setForeground(getToolkit().getColors().getColor(IFormColors.TITLE)); GridDataFactory.fillDefaults().grab(true, false).align(SWT.END, SWT.CENTER).applyTo(versionLabel); final Label scope = getToolkit().createLabel(actualComposite, "Scope"); scope.setFont(JFaceResources.getBannerFont()); scope.setForeground(getToolkit().getColors().getColor(IFormColors.TITLE)); scopeLabel = getToolkit().createLabel(actualComposite, ""); scopeLabel.setFont(JFaceResources.getBannerFont()); scopeLabel.setForeground(getToolkit().getColors().getColor(IFormColors.TITLE)); GridDataFactory.fillDefaults().grab(true, false).align(SWT.END, SWT.CENTER).applyTo(scopeLabel); final Label separator = getToolkit().createSeparator(actualComposite, SWT.HORIZONTAL | SWT.SHADOW_OUT); GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(separator); scrolledFormText = new ScrolledFormText(actualComposite, SWT.V_SCROLL | SWT.H_SCROLL, true); getToolkit().adapt(scrolledFormText); GridDataFactory.fillDefaults().span(2, 1).hint(400, 500).grab(true, true).applyTo(scrolledFormText); GridLayoutFactory.fillDefaults().applyTo(scrolledFormText); documentationText = scrolledFormText.getFormText(); GridDataFactory.fillDefaults().grab(true, true).applyTo(documentationText); documentationText.setWhitespaceNormalized(false); documentationText.setFont("monospace", JFaceResources.getTextFont()); documentationText.setFont("monospace_inline", JFaceResources.getTextFont()); documentationText.setColor("header", getToolkit().getColors().getColor(IFormColors.TITLE)); documentationText.setFont("header", JFaceResources.getBannerFont()); final HyperlinkAdapter hyperlinkListener = createHyperlinkListener(); documentationText.addHyperlinkListener(hyperlinkListener); addDisposeListener(new DisposeListener() { @Override/*w w w. jav a 2s. c o m*/ public void widgetDisposed(final DisposeEvent e) { documentationText.removeHyperlinkListener(hyperlinkListener); } }); return actualComposite; }
From source file:org.robotframework.ide.eclipse.main.plugin.tableeditor.settings.popup.ImportLibraryComposite.java
License:Apache License
public Composite createImportResourcesComposite(final Composite parent) { final Composite librariesComposite = formToolkit.createComposite(parent); GridLayoutFactory.fillDefaults().numColumns(4).margins(3, 3).extendedMargins(0, 0, 0, 3) .applyTo(librariesComposite); final Label titleLabel = formToolkit.createLabel(librariesComposite, "Libraries available in '" + fileModel.getProject().getName() + "' project"); titleLabel.setFont(JFaceResources.getBannerFont()); titleLabel.setForeground(formToolkit.getColors().getColor(IFormColors.TITLE)); GridDataFactory.fillDefaults().grab(true, false).span(4, 1).hint(700, SWT.DEFAULT).applyTo(titleLabel); leftViewer = new TableViewer(librariesComposite); leftViewer.setContentProvider(new LibrariesToImportContentProvider()); GridDataFactory.fillDefaults().span(1, 2).grab(true, true).hint(220, 250).applyTo(leftViewer.getControl()); leftViewer.setLabelProvider(new LibrariesLabelProvider()); leftViewer.addDoubleClickListener(new IDoubleClickListener() { @Override/* w w w. ja v a 2 s. c o m*/ public void doubleClick(final DoubleClickEvent event) { final Optional<LibrarySpecification> element = Selections.getOptionalFirstElement( (IStructuredSelection) event.getSelection(), LibrarySpecification.class); if (element.isPresent()) { handleLibraryAdd((Settings) leftViewer.getInput(), newArrayList(element.get())); } } }); final Composite moveBtnsComposite = formToolkit.createComposite(librariesComposite); GridLayoutFactory.fillDefaults().numColumns(1).margins(3, 3).applyTo(moveBtnsComposite); final Button toImported = formToolkit.createButton(moveBtnsComposite, ">>", SWT.PUSH); toImported.setEnabled(false); toImported.addSelectionListener(createToImportedListener()); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).applyTo(toImported); final Button fromImported = formToolkit.createButton(moveBtnsComposite, "<<", SWT.PUSH); fromImported.setEnabled(false); fromImported.addSelectionListener(createFromImportedListener()); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).applyTo(fromImported); rightViewer = new TableViewer(librariesComposite); rightViewer.setContentProvider(new LibrariesAlreadyImportedContentProvider()); GridDataFactory.fillDefaults().span(1, 2).grab(true, true).hint(220, 250).applyTo(rightViewer.getControl()); rightViewer.setLabelProvider(new LibrariesLabelProvider()); rightViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(final DoubleClickEvent event) { final Optional<LibrarySpecification> element = Selections.getOptionalFirstElement( (IStructuredSelection) event.getSelection(), LibrarySpecification.class); if (element.isPresent()) { handleLibraryRemove((Settings) rightViewer.getInput(), newArrayList(element.get())); } } }); final Composite newLibBtnsComposite = formToolkit.createComposite(librariesComposite); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(newLibBtnsComposite); final Button addNewLibBtn = formToolkit.createButton(newLibBtnsComposite, "Add Library", SWT.PUSH); addNewLibBtn.addSelectionListener(createAddNewLibListener()); GridDataFactory.fillDefaults().applyTo(addNewLibBtn); final Button addNewExternalLibBtn = formToolkit.createButton(newLibBtnsComposite, "Add External Library", SWT.PUSH); addNewExternalLibBtn.addSelectionListener(createAddNewExternalLibListener()); GridDataFactory.fillDefaults().applyTo(addNewExternalLibBtn); final Button editLibPathBtn = formToolkit.createButton(newLibBtnsComposite, "Edit File Path", SWT.PUSH); editLibPathBtn.setEnabled(false); editLibPathBtn.addSelectionListener(createEditLibPathListener()); GridDataFactory.fillDefaults().indent(0, 10).applyTo(editLibPathBtn); final Button editLibArgsBtn = formToolkit.createButton(newLibBtnsComposite, "Edit Arguments", SWT.PUSH); editLibArgsBtn.setEnabled(false); editLibArgsBtn.addSelectionListener(createEditLibArgsListener()); GridDataFactory.fillDefaults().applyTo(editLibArgsBtn); final Label separator = formToolkit.createLabel(librariesComposite, "", SWT.SEPARATOR | SWT.HORIZONTAL); GridDataFactory.fillDefaults().indent(0, 5).grab(false, false).span(4, 1).applyTo(separator); final Label tooltipLabel = formToolkit.createLabel(librariesComposite, "Choose libraries to import. Only libraries which are imported by project are available. " + "Edit project properties if you need other libraries", SWT.WRAP); GridDataFactory.fillDefaults().span(4, 1).hint(500, SWT.DEFAULT).applyTo(tooltipLabel); createLeftViewerSelectionListener(toImported); createRightViewerSelectionListener(fromImported, editLibArgsBtn, editLibPathBtn); return librariesComposite; }
From source file:org.robotframework.ide.eclipse.main.plugin.tableeditor.settings.popup.ImportResourcesComposite.java
License:Apache License
public Composite createImportResourcesComposite(final Composite parent) { final Composite resourcesComposite = formToolkit.createComposite(parent); GridLayoutFactory.fillDefaults().numColumns(2).margins(3, 3).extendedMargins(0, 0, 0, 3) .applyTo(resourcesComposite); final Label titleLabel = formToolkit.createLabel(resourcesComposite, "Imported resources:"); titleLabel.setFont(JFaceResources.getBannerFont()); titleLabel.setForeground(formToolkit.getColors().getColor(IFormColors.TITLE)); GridDataFactory.fillDefaults().grab(true, false).span(2, 1).hint(700, SWT.DEFAULT).applyTo(titleLabel); resourcesViewer = new TableViewer(resourcesComposite); resourcesViewer.setContentProvider(new ImportResourcesContentProvider()); resourcesViewer.setLabelProvider(new ResourcesLabelProvider()); GridDataFactory.fillDefaults().grab(true, true).hint(220, 250).applyTo(resourcesViewer.getControl()); final Composite addResourceButtons = formToolkit.createComposite(resourcesComposite); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(addResourceButtons); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).applyTo(addResourceButtons); final Button addResourceFromWorkspaceBtn = formToolkit.createButton(addResourceButtons, "Add Resource", SWT.PUSH);//from w w w . java2 s .c om GridDataFactory.fillDefaults().grab(false, true).applyTo(addResourceFromWorkspaceBtn); addResourceFromWorkspaceBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Shell newShell = new Shell(shell); final ElementTreeSelectionDialog dialog = createAddResourceSelectionDialog(newShell, true, null); if (dialog.open() == Window.OK) { final Object[] results = dialog.getResult(); if (results != null) { final List<String> resourcesPaths = newArrayList(); for (int i = 0; i < results.length; i++) { final IResource resource = (IResource) results[i]; final String path = ImportSettingFilePathResolver.createResourceRelativePath(resource, currentProject); resourcesPaths.add(path); } handleResourceAdd(resourcesPaths); } } newShell.dispose(); } }); final Button addExternalResourceBtn = formToolkit.createButton(addResourceButtons, "Add External Resource", SWT.PUSH); addExternalResourceBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Shell newShell = new Shell(shell); final FileDialog dialog = new FileDialog(newShell, SWT.OPEN); dialog.setFilterExtensions(new String[] { "*.*", "*.robot", "*.tsv", "*.txt" }); dialog.setFilterPath(currentProject.getLocation().toOSString()); final String chosenFilePath = dialog.open(); if (chosenFilePath != null) { handleResourceAdd(newArrayList(ImportSettingFilePathResolver .createFileRelativePath(new Path(chosenFilePath), currentProject.getLocation()) .toPortableString())); } newShell.dispose(); } }); final Button editResourceBtn = formToolkit.createButton(addResourceButtons, "Edit", SWT.PUSH); GridDataFactory.fillDefaults().indent(0, 10).applyTo(editResourceBtn); editResourceBtn.setEnabled(false); editResourceBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Settings resources = (Settings) resourcesViewer.getInput(); final IPath path = Selections .getSingleElement((IStructuredSelection) resourcesViewer.getSelection(), IPath.class); String filePath = null; final Shell newShell = new Shell(shell); final IResource initialProjectSelection = currentProject.findMember(path); if (initialProjectSelection == null) { final FileDialog dialog = new FileDialog(newShell, SWT.OPEN); dialog.setFilterExtensions(new String[] { "*.*", "*.robot", "*.tsv", "*.txt" }); final IPath initialExtSelection = ImportSettingFilePathResolver.createFileAbsolutePath(path, currentProject); dialog.setFilterPath(initialExtSelection.removeLastSegments(1).toOSString()); dialog.setFileName(initialExtSelection.lastSegment()); final String chosenFilePath = dialog.open(); if (chosenFilePath != null) { filePath = ImportSettingFilePathResolver .createFileRelativePath(new Path(chosenFilePath), currentProject.getLocation()) .toPortableString(); } } else { final ElementTreeSelectionDialog dialog = createAddResourceSelectionDialog(newShell, false, initialProjectSelection); if (dialog.open() == Window.OK) { final Object result = dialog.getFirstResult(); if (result != null) { final IResource resource = (IResource) result; filePath = ImportSettingFilePathResolver.createResourceRelativePath(resource, currentProject); } } } newShell.dispose(); if (filePath != null) { handleResourceEdit(resources, path, filePath); } } }); final Button removeResourceBtn = formToolkit.createButton(addResourceButtons, "Remove", SWT.PUSH); GridDataFactory.fillDefaults().applyTo(removeResourceBtn); removeResourceBtn.setEnabled(false); removeResourceBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Settings resources = (Settings) resourcesViewer.getInput(); final List<IPath> paths = Selections .getElements((IStructuredSelection) resourcesViewer.getSelection(), IPath.class); handleResourceRemove(resources, paths); } }); createViewerSelectionListener(removeResourceBtn, editResourceBtn); ViewersConfigurator.enableDeselectionPossibility(resourcesViewer); return resourcesComposite; }
From source file:org.robotframework.ide.eclipse.main.plugin.tableeditor.settings.popup.ImportVariablesComposite.java
License:Apache License
public Composite createImportVariablesComposite(final Composite parent) { final Composite variablesComposite = formToolkit.createComposite(parent); GridLayoutFactory.fillDefaults().numColumns(2).margins(3, 3).extendedMargins(0, 0, 0, 3) .applyTo(variablesComposite); final Label titleLabel = formToolkit.createLabel(variablesComposite, "Imported variables files:"); titleLabel.setFont(JFaceResources.getBannerFont()); titleLabel.setForeground(formToolkit.getColors().getColor(IFormColors.TITLE)); GridDataFactory.fillDefaults().grab(true, false).span(2, 1).hint(700, SWT.DEFAULT).applyTo(titleLabel); variablesViewer = new TableViewer(variablesComposite); variablesViewer.setContentProvider(new ImportVariablesContentProvider()); variablesViewer.setLabelProvider(new VariablesLabelProvider()); GridDataFactory.fillDefaults().grab(true, true).hint(220, 250).applyTo(variablesViewer.getControl()); final Composite addVariablesButtons = formToolkit.createComposite(variablesComposite); GridLayoutFactory.fillDefaults().numColumns(1).applyTo(addVariablesButtons); GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.BEGINNING).applyTo(addVariablesButtons); final Button addVariableFromWorkspaceBtn = formToolkit.createButton(addVariablesButtons, "Add Variables", SWT.PUSH);//from w ww. j a v a 2s . co m GridDataFactory.fillDefaults().grab(false, true).applyTo(addVariableFromWorkspaceBtn); addVariableFromWorkspaceBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Shell newShell = new Shell(shell); final ElementTreeSelectionDialog dialog = createAddVariableSelectionDialog(newShell, true, null); if (dialog.open() == Window.OK) { final Object[] results = dialog.getResult(); if (results != null) { final List<String> variablesPaths = newArrayList(); for (int i = 0; i < results.length; i++) { final IResource resource = (IResource) results[i]; final String path = ImportSettingFilePathResolver.createResourceRelativePath(resource, currentProject); variablesPaths.add(path); } handleVariableAdd(variablesPaths); } } newShell.dispose(); } }); final Button addExternalVariablesBtn = formToolkit.createButton(addVariablesButtons, "Add External Variables", SWT.PUSH); addExternalVariablesBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Shell newShell = new Shell(shell); final FileDialog dialog = new FileDialog(newShell, SWT.OPEN); dialog.setFilterExtensions(new String[] { "*.py", "*.*" }); dialog.setFilterPath(currentProject.getLocation().toOSString()); final String chosenFilePath = dialog.open(); if (chosenFilePath != null) { handleVariableAdd(newArrayList( ImportSettingFilePathResolver.createFileRelativePath(new Path(chosenFilePath), currentProject.getProject().getLocation()).toPortableString())); } newShell.dispose(); } }); final Button editVariablesBtn = formToolkit.createButton(addVariablesButtons, "Edit File Path", SWT.PUSH); GridDataFactory.fillDefaults().indent(0, 10).applyTo(editVariablesBtn); editVariablesBtn.setEnabled(false); editVariablesBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Settings variables = (Settings) variablesViewer.getInput(); final ImportArguments variablesFile = Selections.getSingleElement( (IStructuredSelection) variablesViewer.getSelection(), ImportArguments.class); final List<String> args = variablesFile.getArgs(); final Shell newShell = new Shell(shell); if (args != null && !args.isEmpty()) { final IPath path = new Path(args.get(0)); final IResource initialProjectSelection = currentProject.findMember(path); String filePath = null; if (initialProjectSelection == null) { final FileDialog dialog = new FileDialog(newShell, SWT.OPEN); dialog.setFilterExtensions(new String[] { "*.py", "*.*" }); final IPath initialExtSelection = ImportSettingFilePathResolver.createFileAbsolutePath(path, currentProject); dialog.setFilterPath(initialExtSelection.removeLastSegments(1).toOSString()); dialog.setFileName(initialExtSelection.lastSegment()); final String chosenFilePath = dialog.open(); if (chosenFilePath != null) { filePath = ImportSettingFilePathResolver .createFileRelativePath(new Path(chosenFilePath), currentProject.getLocation()) .toPortableString(); } } else { final ElementTreeSelectionDialog dialog = createAddVariableSelectionDialog(newShell, false, initialProjectSelection); if (dialog.open() == Window.OK) { final Object result = dialog.getFirstResult(); if (result != null) { final IResource resource = (IResource) result; filePath = ImportSettingFilePathResolver.createResourceRelativePath(resource, currentProject); } } } if (filePath != null) { handleVariablesPathEdit(variables, variablesFile, filePath); } } newShell.dispose(); } }); final Button editVariablesArgsBtn = formToolkit.createButton(addVariablesButtons, "Edit File Arguments", SWT.PUSH); GridDataFactory.fillDefaults().applyTo(editVariablesArgsBtn); editVariablesArgsBtn.setEnabled(false); editVariablesArgsBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Settings variables = (Settings) variablesViewer.getInput(); final ImportArguments variablesFile = Selections.getSingleElement( (IStructuredSelection) variablesViewer.getSelection(), ImportArguments.class); if (!variablesFile.getArgs().isEmpty()) { final List<String> args = variablesFile.getArgs().subList(1, variablesFile.getArgs().size()); final Shell newShell = new Shell(shell); final ImportSettingFileArgumentsDialog dialog = new ImportSettingFileArgumentsDialog(newShell, args); if (dialog.open() == Window.OK) { final List<String> newArgs = dialog.getArguments(); handleVariablesArgsEdit(variables, variablesFile, newArgs); } newShell.dispose(); } } }); final Button removeVariablesBtn = formToolkit.createButton(addVariablesButtons, "Remove", SWT.PUSH); GridDataFactory.fillDefaults().applyTo(removeVariablesBtn); removeVariablesBtn.setEnabled(false); removeVariablesBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { final Settings variables = (Settings) variablesViewer.getInput(); final List<ImportArguments> paths = Selections .getElements((IStructuredSelection) variablesViewer.getSelection(), ImportArguments.class); handleVariableRemove(variables, paths); } }); createViewerSelectionListener(removeVariablesBtn, editVariablesBtn, editVariablesArgsBtn); ViewersConfigurator.enableDeselectionPossibility(variablesViewer); return variablesComposite; }