List of usage examples for org.eclipse.jface.preference ColorSelector addListener
public void addListener(IPropertyChangeListener listener)
ColorSelector
. From source file:org.mwc.cmap.core.property_support.ColorHelper.java
License:Open Source License
/** * @param parent// w ww .j a v a2 s. com * @param property * @return */ @Override public Control getEditorControlFor(final Composite parent, final IDebriefProperty property) { final ColorSelector sel = new ColorSelector(parent); sel.addListener(new IPropertyChangeListener() { public void propertyChange(final PropertyChangeEvent event) { final RGB theCol = sel.getColorValue(); property.setValue(theCol); } }); // try to set the default color final RGB current = (RGB) property.getValue(); sel.setColorValue(current); return sel.getButton(); }
From source file:org.ow2.petals.client.swt.tabs.PreferencesTab.java
License:Open Source License
/** * Constructor./*from ww w .j a v a2s. c o m*/ * @param parent * @param clientApp */ public PreferencesTab(Composite parent, final ClientApplication clientApp) { // Root elements super(parent, SWT.NONE); GridLayoutFactory.swtDefaults().spacing(0, 0).applyTo(this); setLayoutData(new GridData(GridData.FILL_BOTH)); final ColorCacheManager colorManager = clientApp.getColorManager(); new Label(this, SWT.NONE).setText("The preferences for this client application."); // History Composite historyGroup = createSection("History", 4, false); Label l = new Label(historyGroup, SWT.NONE); l.setText("History Directory:"); l.setToolTipText("The directory in which old requests are stored"); final Text directoryText = new Text(historyGroup, SWT.BORDER | SWT.READ_ONLY); directoryText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); directoryText.setText(PreferencesManager.INSTANCE.getHistoryDirectory().getAbsolutePath()); Button browseButton = new Button(historyGroup, SWT.PUSH); browseButton.setText("Browse..."); browseButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { DirectoryDialog dlg = new DirectoryDialog(getShell()); String dir = dlg.open(); if (dir != null) { PreferencesManager.INSTANCE.saveHistoryDirectory(new File(dir)); directoryText.setText(dir); clientApp.refreshHistory(); } } }); Button resetHistoryDirButton = new Button(historyGroup, SWT.PUSH); resetHistoryDirButton.setText("Reset Default Directory"); resetHistoryDirButton.setToolTipText("Set the history directory in the temporary files"); resetHistoryDirButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { PreferencesManager.INSTANCE.saveHistoryDirectory(null); File f = PreferencesManager.INSTANCE.getHistoryDirectory(); directoryText.setText(f.getAbsolutePath()); clientApp.refreshHistory(); } }); // Clear the history? new Label(historyGroup, SWT.NONE); Link link = new Link(historyGroup, SWT.NONE); link.setText("<A>Clear All the History</A>"); link.setToolTipText("Deletes the entire history"); GridDataFactory.swtDefaults().span(3, 1).applyTo(link); link.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { SwtUtils.clearHistoryWithProgressBar(getShell(), -1, clientApp); } }); new Label(historyGroup, SWT.NONE); link = new Link(historyGroup, SWT.NONE); link.setText("<A>Clear the History older than...</A>"); link.setToolTipText("Deletes the oldest part of the history"); link.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { ClearHistoryDialog dlg = new ClearHistoryDialog(getShell()); if (dlg.open() == Window.OK) { SwtUtils.clearHistoryWithProgressBar(getShell(), dlg.getDays(), clientApp); clientApp.refreshHistory(); } } }); // General Preferences Composite defaultGroup = createSection("General Preferences", 2, false); Button wrapButton = new Button(defaultGroup, SWT.CHECK); wrapButton.setText("Wrap text in XML viewers"); wrapButton.setToolTipText("Will allow XML viewers to wrap their content instead of only scrolling"); wrapButton.setSelection(PreferencesManager.INSTANCE.wrapInsteadOfScrolling()); GridDataFactory.swtDefaults().span(2, 1).applyTo(wrapButton); wrapButton.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { boolean wrap = ((Button) e.widget).getSelection(); PreferencesManager.INSTANCE.saveWrapInsteadOfScrolling(wrap); MessageDialog.openInformation(getShell(), "Restart", "The user interface needs to be restarted to take this preference into account.\n" + "Save your work and then go into \"File > Restart the User Interface\"."); } }); l = new Label(defaultGroup, SWT.NONE); l.setText("Default Timeout:"); l.setToolTipText("The default timeout to use when crating a new request"); Spinner timeoutSpinner = new Spinner(defaultGroup, SWT.BORDER); long value = PreferencesManager.INSTANCE.getDefaultTimeout(); timeoutSpinner.setValues((int) value, 0, Integer.MAX_VALUE, 0, 1000, 100); // Syntax highlighting Composite shGroup = createSection("Syntax Highlighting", 2, true); l = new Label(shGroup, SWT.NONE); l.setText("XML Viewers Preview"); GridDataFactory.swtDefaults().span(2, 1).applyTo(l); final Map<XmlRegionType, String> regionToLabel = new LinkedHashMap<XmlRegionType, String>(); regionToLabel.put(XmlRegionType.MARKUP, "XML Mark-ups"); regionToLabel.put(XmlRegionType.ATTRIBUTE, "XML Attributes"); regionToLabel.put(XmlRegionType.ATTRIBUTE_VALUE, "Attribute Values"); regionToLabel.put(XmlRegionType.COMMENT, "XML Comments"); regionToLabel.put(XmlRegionType.CDATA, "CDATA Sections"); regionToLabel.put(XmlRegionType.INSTRUCTION, "XML Instructions"); // Show a preview area final StyledText previewStyledText = SwtUtils.createXmlViewer(shGroup, colorManager, false); try { String previewText = Utils.loadResource("/sample.xml"); previewStyledText.setText(previewText); } catch (IOException e1) { clientApp.log("An error occurred while loading a request file.", e1, Level.INFO); } // List the customizable elements... Composite subContainer = new Composite(shGroup, SWT.NONE); GridLayoutFactory.swtDefaults().margins(10, 0).numColumns(2).applyTo(subContainer); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.BEGINNING).grab(false, true).applyTo(subContainer); new Label(subContainer, SWT.NONE).setText("Select the style to edit:"); final ComboViewer styleViewer = new ComboViewer(subContainer, SWT.BORDER | SWT.SINGLE | SWT.READ_ONLY); styleViewer.setContentProvider(new ArrayContentProvider()); styleViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return regionToLabel.get(element); }; }); GridDataFactory.swtDefaults().hint(200, SWT.DEFAULT).applyTo(styleViewer.getCombo()); styleViewer.setInput(regionToLabel.keySet()); // ... and their properties final List<Button> styleButtons = new ArrayList<Button>(); new Label(subContainer, SWT.NONE); Button b = new Button(subContainer, SWT.CHECK); b.setText("Bold"); b.setData(PreferencesManager.BOLD); styleButtons.add(b); new Label(subContainer, SWT.NONE); b = new Button(subContainer, SWT.CHECK); b.setText("Italic"); b.setData(PreferencesManager.ITALIC); styleButtons.add(b); new Label(subContainer, SWT.NONE); b = new Button(subContainer, SWT.CHECK); b.setText("Underline"); b.setData(PreferencesManager.UNDERLINE); styleButtons.add(b); new Label(subContainer, SWT.NONE); Composite colorComposite = new Composite(subContainer, SWT.NONE); GridLayoutFactory.swtDefaults().numColumns(2).margins(0, 0).applyTo(colorComposite); new Label(colorComposite, SWT.NONE).setText("Foreground Color:"); final ColorSelector colorSelector = new ColorSelector(colorComposite); new Label(subContainer, SWT.NONE); b = new Button(subContainer, SWT.PUSH); b.setText("Reset All the Settings for this Style"); b.setToolTipText("Resets all the settings for the selected style"); b.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); b.addListener(SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { XmlRegionType xr = (XmlRegionType) ((IStructuredSelection) styleViewer.getSelection()) .getFirstElement(); PreferencesManager.INSTANCE.saveXmlRegionColor(xr, null); colorManager.updateColor(xr); PreferencesManager.INSTANCE.saveXmlRegionStyle(xr, PreferencesManager.BOLD, null); PreferencesManager.INSTANCE.saveXmlRegionStyle(xr, PreferencesManager.ITALIC, null); PreferencesManager.INSTANCE.saveXmlRegionStyle(xr, PreferencesManager.UNDERLINE, null); previewStyledText.notifyListeners(SWT.Modify, new Event()); styleViewer.getCombo().notifyListeners(SWT.Selection, new Event()); } }); // React to selection changes Listener clickListener = new Listener() { @Override public void handleEvent(Event e) { XmlRegionType xr = (XmlRegionType) ((IStructuredSelection) styleViewer.getSelection()) .getFirstElement(); Button b = (Button) e.widget; String name = (String) b.getData(); PreferencesManager.INSTANCE.saveXmlRegionStyle(xr, name, b.getSelection()); previewStyledText.notifyListeners(SWT.Modify, new Event()); } }; for (Button bb : styleButtons) bb.addListener(SWT.Selection, clickListener); styleViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent e) { XmlRegionType xr = (XmlRegionType) ((IStructuredSelection) styleViewer.getSelection()) .getFirstElement(); Color c = colorManager.getColor(xr); colorSelector.setColorValue(c.getRGB()); for (Button b : styleButtons) { String name = (String) b.getData(); b.setSelection(PreferencesManager.INSTANCE.getXmlRegionStyle(xr, name)); } } }); colorSelector.addListener(new IPropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent e) { if (!ColorSelector.PROP_COLORCHANGE.equals(e.getProperty())) return; XmlRegionType xr = (XmlRegionType) ((IStructuredSelection) styleViewer.getSelection()) .getFirstElement(); RGB rgb = (RGB) e.getNewValue(); PreferencesManager.INSTANCE.saveXmlRegionColor(xr, rgb); colorManager.updateColor(xr); previewStyledText.notifyListeners(SWT.Modify, new Event()); } }); // Initial selection styleViewer.getCombo().select(0); styleViewer.getCombo().notifyListeners(SWT.Selection, new Event()); }
From source file:org.talend.designer.runtime.visualization.internal.ui.properties.timeline.AttributeSelectionDialog.java
License:Open Source License
/** * Creates the color selector./*www . j ava2 s. c o m*/ * * @param parent The parent composite * @return The color selector */ private ColorSelector createColorSelector(Composite parent) { final ColorSelector selector = new ColorSelector(parent); selector.addListener(new IPropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent event) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); AttributeNode attribute = (AttributeNode) selection.getFirstElement(); if (attribute != null) { attribute.setRgb(selector.getColorValue()); } } }); selector.setEnabled(false); return selector; }
From source file:org.talend.designer.runtime.visualization.internal.ui.properties.timeline.ConfigureChartDialog.java
License:Open Source License
/** * Creates the color selector.// ww w . j a v a 2s.co m * * @param parent The parent composite * @return The color selector */ private ColorSelector createColorSelector(Composite parent) { final ColorSelector selector = new ColorSelector(parent); selector.addListener(new IPropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent event) { IStructuredSelection selection = (IStructuredSelection) attributesViewer.getSelection(); MBeanAttribute attribute = (MBeanAttribute) selection.getFirstElement(); if (attribute != null) { attribute.setRgb(selector.getColorValue()); } } }); selector.setEnabled(false); return selector; }