List of usage examples for org.eclipse.jface.viewers LabelProvider LabelProvider
public LabelProvider()
From source file:au.gov.ansto.bragg.nbi.ui.core.commands.ScanNDCommandView.java
License:Open Source License
@Override protected void createPartControl(Composite parent, final AbstractScanCommand command) { super.createPartControl(parent, command); GridLayoutFactory.swtDefaults().margins(6, 8).numColumns(3).applyTo(parent); // Label titleLabel = getToolkit().createLabel(parent, command.getCommandName()); // titleLabel.setFont(new Font(titleLabel.getFont().getDevice(), new FontData[]{new FontData("Courier New", 10, SWT.BOLD)})); // GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).indent(0, 4).applyTo(titleLabel); // GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.TOP).applyTo(titleLabel); parameterComposite = getToolkit().createComposite(parent); // GridLayoutFactory.swtDefaults().spacing(3, 3).applyTo(parameterComposite); for (AbstractScanParameter parameter : command.getParameterList()) { parameter.createParameterUI(parameterComposite, this, getToolkit()); }//from w ww .j a v a 2 s . com final ComboViewer modeCombo = new ComboViewer(parent, SWT.READ_ONLY); modeCombo.setContentProvider(new ArrayContentProvider()); modeCombo.setLabelProvider(new LabelProvider()); modeCombo.setSorter(new ViewerSorter()); modeCombo.setInput(new String[] { "time", "count", "MONITOR_1", "MONITOR_2", "MONITOR_3" }); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP) .hint(AbstractScanParameter.WIDTH_PARAMETER_SHORT, SWT.DEFAULT).applyTo(modeCombo.getCombo()); final Text presetText = getToolkit().createText(parent, ""); // GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(presetText); // GridDataFactory.fillDefaults().grab(true, false).applyTo(presetText); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP) .hint(AbstractScanParameter.WIDTH_PARAMETER_LONG, SWT.DEFAULT).applyTo(presetText); addValidator(presetText, ParameterValidator.floatValidator); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(ViewersObservables.observeSingleSelection(modeCombo), BeansObservables.observeValue(command, "scan_mode"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(presetText, SWT.Modify), BeansObservables.observeValue(command, "preset"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); DropTarget dropTarget = new DropTarget(parameterComposite, DND.DROP_MOVE); dropTarget.setTransfer(new Transfer[] { LocalSelectionTransfer.getTransfer() }); dropTarget.addDropListener(new DropTargetAdapter() { @Override public void drop(DropTargetEvent event) { if (event.data instanceof StructuredSelection) { DndTransferData transferData = (DndTransferData) ((StructuredSelection) event.data) .getFirstElement(); Object parent = transferData.getParent(); Object child = transferData.getChild(); if (parent == command) { Point relativePoint = parameterComposite.toControl(new Point(event.x, event.y)); int index = 0; for (Control control : parameterComposite.getChildren()) { if (control instanceof Combo) { if (relativePoint.y < (control.getBounds().y + control.getBounds().height)) { break; } index++; } } if (child instanceof AbstractScanParameter) { AbstractScanParameter parameter = (AbstractScanParameter) child; int currentIndex = command.indexOfParameter(parameter); if (currentIndex == index) { return; } command.removeParameter(parameter); command.insertParameter(index, parameter); refreshParameterComposite(); } } } } }); }
From source file:au.gov.ansto.bragg.nbi.ui.core.commands.SinglePositionParameter.java
License:Open Source License
@Override public void createParameterUI(Composite parent, final AbstractScanCommandView commandView, final FormToolkit toolkit) { GridLayoutFactory.swtDefaults().margins(0, 0).spacing(6, 4).numColumns(4).applyTo(parent); // GridLayoutFactory.swtDefaults().numColumns(6).applyTo(parent); final ComboViewer scanVariableCombo = new ComboViewer(parent, SWT.READ_ONLY); scanVariableCombo.setContentProvider(new ArrayContentProvider()); scanVariableCombo.setLabelProvider(new LabelProvider()); scanVariableCombo.setSorter(new ViewerSorter()); String[] ids = SicsBatchUIUtils.getSicsDrivableIds(); for (int i = 0; i < ids.length; i++) { if (ids[i] == null) { ids[i] = ""; }//from www. jav a 2 s.c o m } scanVariableCombo.setInput(ids); GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.TOP).hint(WIDTH_COMBO, SWT.DEFAULT) .applyTo(scanVariableCombo.getCombo()); // GridDataFactory.fillDefaults().grab(true, false).applyTo(scanVariableCombo.getCombo()); // GridDataFactory.swtDefaults().hint(WIDTH_COMBO, SWT.DEFAULT).applyTo(scanVariableCombo.getCombo()); final Text positionText = toolkit.createText(parent, ""); // GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER, SWT.DEFAULT).applyTo(startPositionText); // GridData data = new GridData(); // data.grabExcessHorizontalSpace = true; // data.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING; // data.heightHint = SWT.DEFAULT; // startPositionText.setLayoutData(data); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(WIDTH_PARAMETER_LONG, SWT.DEFAULT) .applyTo(positionText); addValidator(positionText, ParameterValidator.floatValidator); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(ViewersObservables.observeSingleSelection(scanVariableCombo), BeansObservables.observeValue(getInstance(), "scanVariable"), new UpdateValueStrategy(), new UpdateValueStrategy()); bindingContext.bindValue(SWTObservables.observeText(positionText, SWT.Modify), BeansObservables.observeValue(getInstance(), "position"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); final AbstractScanCommand command = commandView.getCommand(); Button addButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(18, 18).applyTo(addButton); try { addButton.setImage(SicsBatchUIUtils.getBatchEditorImage("ADD")); } catch (FileNotFoundException e2) { LoggerFactory.getLogger(this.getClass()).error("can not find ADD image", e2); } addButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { addNewParameter(command); commandView.refreshParameterComposite(); // notifyPropertyChanged(newCommand, null); } }); Button removeButton = toolkit.createButton(parent, "", SWT.PUSH); GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.TOP).hint(18, 18).applyTo(removeButton); try { removeButton.setImage(SicsBatchUIUtils.getBatchEditorImage("REMOVE")); } catch (FileNotFoundException e1) { LoggerFactory.getLogger(this.getClass()).error("can not find REMOVE image", e1); } removeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { removeParameter(command); commandView.refreshParameterComposite(); } }); }
From source file:au.gov.ansto.bragg.nbi.ui.widgets.HMControlWidget.java
License:Open Source License
private void createUI() { /********************************************************************* * Initialise/* w w w. ja va 2 s . c o m*/ *********************************************************************/ for (Control child : this.getChildren()) { child.dispose(); } setEnabled(true); controlMap.clear(); /********************************************************************* * Setup UI *********************************************************************/ GridLayoutFactory.swtDefaults().numColumns(4).applyTo(this); Label label = getToolkit().createLabel(this, "Mode"); label.setFont(UIResources.getDefaultFont(SWT.BOLD)); GridDataFactory.swtDefaults().hint(45, SWT.DEFAULT).applyTo(label); label = getToolkit().createLabel(this, "Preset"); label.setFont(UIResources.getDefaultFont(SWT.BOLD)); GridDataFactory.swtDefaults().hint(45, SWT.DEFAULT).applyTo(label); final Button controlButton = getToolkit().createButton(this, "", SWT.PUSH); controlButton.setImage(InternalImage.START_32.getImage()); GridDataFactory.swtDefaults().span(1, 2).applyTo(controlButton); controlMap.put(URI.create("sics://hdb" + PATH_HISTMEM + "/feedback/status"), controlButton); Button pauseButton = getToolkit().createButton(this, "", SWT.PUSH); pauseButton.setImage(InternalImage.PAUSE_32.getImage()); GridDataFactory.swtDefaults().span(1, 2).applyTo(pauseButton); final ComboViewer comboViewer = new ComboViewer(this); comboViewer.setContentProvider(new ArrayContentProvider()); comboViewer.setLabelProvider(new LabelProvider()); URI availableModeURI = URI.create("sics://hdb" + PATH_HISTMEM + "/mode?values"); String[] availableModes = dam.get(availableModeURI, String.class).split(","); for (int i = 0; i < availableModes.length; i++) { availableModes[i] = availableModes[i].trim(); } comboViewer.setInput(availableModes); GridDataFactory.swtDefaults().hint(45, SWT.DEFAULT).applyTo(comboViewer.getControl()); controlMap.put(URI.create("sics://hdb" + PATH_HISTMEM + "/mode"), comboViewer); final Text presetText = getToolkit().createText(this, ""); GridDataFactory.swtDefaults().hint(45, SWT.DEFAULT).applyTo(presetText); controlMap.put(URI.create("sics://hdb" + PATH_HISTMEM + "/preset"), presetText); /********************************************************************* * Button logics *********************************************************************/ controlButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { try { if (controlButton.getData("status") != null && controlButton.getData("status").equals("idle")) { SicsCore.getSicsController().setValue(PATH_HISTMEM + "/cmd", ComponentData.createData("start")); SicsCore.getSicsController().setValue(PATH_HISTMEM + "/preset", ComponentData.createData(presetText.getText())); SicsCore.getSicsController().setValue(PATH_HISTMEM + "/mode", ComponentData.createData( (String) ((StructuredSelection) comboViewer.getSelection()).getFirstElement())); commandController.asyncExecute(); } else { SicsCore.getSicsController().setValue(PATH_HISTMEM + "/cmd", ComponentData.createData("stop")); commandController.asyncExecute(); } } catch (SicsIOException e) { logger.error("Failed to pause.", e); } } }); pauseButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { if (commandController != null) { try { SicsCore.getSicsController().setValue(PATH_HISTMEM + "/cmd", ComponentData.createData("pause")); commandController.asyncExecute(); } catch (SicsIOException e) { logger.error("Failed to pause.", e); } } } }); /********************************************************************* * Update content *********************************************************************/ for (URI uri : controlMap.keySet()) { updateData(controlMap.get(uri), dam.get(uri, String.class)); } /********************************************************************* * Layout *********************************************************************/ this.layout(true, true); }
From source file:au.gov.ansto.bragg.nbi.ui.widgets.HMImageDisplayWidget.java
License:Open Source License
protected Composite createImageArea() { GridLayoutFactory.swtDefaults().numColumns(9).margins(0, 0).applyTo(this); // Mode//w ww . j a v a 2s. co m Label label = getToolkit().createLabel(this, "Mode: "); label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)); GridDataFactory.swtDefaults().align(SWT.END, SWT.CENTER).grab(true, false).applyTo(label); comboViewer = new ComboViewer(this, SWT.READ_ONLY); comboViewer.setContentProvider(new ArrayContentProvider()); comboViewer.setLabelProvider(new LabelProvider()); comboViewer.setInput(getImageMode().getValues()); comboViewer.setSelection(new StructuredSelection(getImageMode())); comboViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { // Change display mode setImageMode((HMImageMode) ((IStructuredSelection) event.getSelection()).getFirstElement()); // Update NOW Job job = new Job(HMImageDisplayWidget.class.getName()) { protected IStatus run(IProgressMonitor monitor) { try { // Get data (one off) pullData(); } catch (Exception e) { return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Failed to fetch data.", e); } return Status.OK_STATUS; } }; job.setSystem(true); job.schedule(); } }); // Separator label = getToolkit().createLabel(this, ""); GridDataFactory.swtDefaults().hint(8, SWT.DEFAULT).applyTo(label); Label scaleLabel = getToolkit().createLabel(this, "Scale: "); scaleLabel.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)); GridDataFactory.swtDefaults().align(SWT.END, SWT.CENTER).grab(true, false).applyTo(scaleLabel); ComboViewer scaleViewer = new ComboViewer(this, SWT.READ_ONLY); scaleViewer.setContentProvider(new ArrayContentProvider()); scaleViewer.setLabelProvider(new LabelProvider()); scaleViewer.setInput(SCALE_INPUT); isScaleEnabled = true; try { isScaleEnabled = Boolean.valueOf(System.getProperty(IS_SCALE_ENABLED)); } catch (Exception e) { } scaleViewer.setSelection(new StructuredSelection(SCALE_INPUT[isScaleEnabled ? 0 : 1])); scaleViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { // Change display mode setScaleEnabled( SCALE_INPUT[0].equals(((IStructuredSelection) event.getSelection()).getFirstElement())); // Update NOW Job job = new Job(HMImageDisplayWidget.class.getName()) { protected IStatus run(IProgressMonitor monitor) { try { // Get data (one off) pullData(); } catch (Exception e) { return new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Failed to fetch data.", e); } return Status.OK_STATUS; } }; job.setSystem(true); job.schedule(); } }); label = getToolkit().createLabel(this, ""); GridDataFactory.swtDefaults().hint(8, SWT.DEFAULT).applyTo(label); // Refresh label = getToolkit().createLabel(this, "Refresh: "); label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)); final Text refreshText = getToolkit().createText(this, ""); Realm.runWithDefault(SWTObservables.getRealm(Display.getDefault()), new Runnable() { public void run() { DataBindingContext bindingContext = new DataBindingContext(); bindingContext.bindValue(SWTObservables.observeText(refreshText, SWT.Modify), BeansObservables.observeValue(HMImageDisplayWidget.this, "refreshDelay"), new UpdateValueStrategy(), new UpdateValueStrategy()); } }); GridDataFactory.swtDefaults().hint(20, SWT.DEFAULT).applyTo(refreshText); label = getToolkit().createLabel(this, "sec "); label.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)); Composite imageArea = getToolkit().createComposite(this, SWT.NONE); GridLayoutFactory.fillDefaults().margins(0, 0).spacing(0, 0).applyTo(imageArea); GridDataFactory.fillDefaults().grab(true, true).span(9, 1).applyTo(imageArea); return imageArea; }
From source file:au.gov.ansto.bragg.nbi.ui.widgets.ReactorSourceGadget.java
License:Open Source License
public ReactorSourceGadget(Composite parent, int style) { super(parent, SHOW_ICON | SHOW_UNIT); getDeviceURIList().add(URI_POWER); getDeviceURIList().add(URI_CNS_IN); getDeviceURIList().add(URI_CNS_OUT); setLabelProvider(new LabelProvider() { public Image getImage(Object element) { URI uri = (URI) element; if (uri.equals(URI_POWER)) { return InternalImage.POWER_16.getImage(); } else if (uri.equals(URI_CNS_IN)) { return InternalImage.INLET_16.getImage(); } else if (uri.equals(URI_CNS_OUT)) { return InternalImage.OUTLET_16.getImage(); }//from w w w . ja v a 2 s . c o m return null; } public String getText(Object element) { URI uri = (URI) element; if (uri.equals(URI_POWER)) { return "Power"; } else if (uri.equals(URI_CNS_IN)) { return "CNS In"; } else if (uri.equals(URI_CNS_OUT)) { return "CNS Out"; } return ""; } }); }
From source file:au.gov.ansto.bragg.nbi.ui.widgets.TemperatureSensorGadget.java
License:Open Source License
public TemperatureSensorGadget(Composite parent, int style) { super(parent, SHOW_ICON); setDeviceURIs(URI_TC1_SENSOR_A + "," + URI_TC1_SENSOR_B + "," + URI_TC1_SENSOR_C + "," + URI_TC1_SENSOR_D + "," + "," + URI_TC2_SENSOR_A + "," + URI_TC2_SENSOR_B + "," + URI_TC2_SENSOR_C + "," + URI_TC2_SENSOR_D);//from w ww . ja va 2s .c om setLabelProvider(new LabelProvider() { public Image getImage(Object element) { URI uri = (URI) element; if (uri.equals(URI_TC1_SENSOR_A) || uri.equals(URI_TC2_SENSOR_A)) { return InternalImage.A.getImage(); } else if (uri.equals(URI_TC1_SENSOR_B) || uri.equals(URI_TC2_SENSOR_B)) { return InternalImage.B.getImage(); } else if (uri.equals(URI_TC1_SENSOR_C) || uri.equals(URI_TC2_SENSOR_C)) { return InternalImage.C.getImage(); } else if (uri.equals(URI_TC1_SENSOR_D) || uri.equals(URI_TC2_SENSOR_D)) { return InternalImage.D.getImage(); } return null; } public String getText(Object element) { URI uri = (URI) element; if (uri.equals(URI_TC1_SENSOR_A)) { return "TC1 SensorA"; } else if (uri.equals(URI_TC1_SENSOR_B)) { return "TC1 SensorB"; } else if (uri.equals(URI_TC1_SENSOR_C)) { return "TC1 SensorC"; } else if (uri.equals(URI_TC1_SENSOR_D)) { return "TC1 SensorD"; } else if (uri.equals(URI_TC2_SENSOR_A)) { return "TC2 SensorA"; } else if (uri.equals(URI_TC2_SENSOR_B)) { return "TC2 SensorB"; } else if (uri.equals(URI_TC2_SENSOR_C)) { return "TC2 SensorC"; } else if (uri.equals(URI_TC2_SENSOR_D)) { return "TC2 SensorD"; } return ""; } }); }
From source file:au.gov.ansto.bragg.quokka.ui.workflow.AddConfigDialog.java
License:Open Source License
protected Control createCustomArea(Composite parent) { Composite mainArea = new Composite(parent, SWT.NONE); mainArea.setLayout(new GridLayout(3, false)); Button templateButton = new Button(mainArea, SWT.RADIO); templateButton.setText("From an existing configuration"); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(templateButton); templateButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { tableViewer.getTable().setEnabled(true); isNewConfig = false;//from w ww . j a v a2s . c o m } }); Label label = new Label(mainArea, SWT.NONE); label.setText(" "); Button newButton = new Button(mainArea, SWT.RADIO); newButton.setText("New an empty configuration"); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(newButton); newButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { tableViewer.getTable().setEnabled(false); isNewConfig = true; } }); tableViewer = new TableViewer(parent, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION | SWT.V_SCROLL); Table table = tableViewer.getTable(); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).hint(800, SWT.DEFAULT).span(3, 1) .applyTo(table); tableViewer.setContentProvider(new ArrayContentProvider()); tableViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { if (element instanceof InstrumentConfigTemplate) { InstrumentConfigTemplate template = (InstrumentConfigTemplate) element; if (template.isStandard()) { return "[STANDARD] " + template.getName(); } else { return template.getName() + " - " + template.getDescription(); } } return super.getText(element); } }); tableViewer.setInput(allTemplates.toArray(new InstrumentConfigTemplate[allTemplates.size()])); tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { selectedConfig = (InstrumentConfigTemplate) ((IStructuredSelection) event.getSelection()) .getFirstElement(); // Enable remove button for non standard config if (selectedConfig != null) { removeButton.setEnabled(!selectedConfig.isStandard()); } } }); tableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { // Double click on selection is same as pressing OK (close the dialog) buttonPressed(OK); } }); return mainArea; }
From source file:au.gov.ansto.bragg.wombat.ui.widgets.WombatNeutronCountGadget.java
License:Open Source License
public WombatNeutronCountGadget(Composite parent, int style) { super(parent, style); getDeviceURIList().add(URI_BM1_COUNTS); getDeviceURIList().add(URI_BM2_COUNTS); getDeviceURIList().add(URI_BM3_COUNTS); getDeviceURIList().add(URI_TOTAL_DETECTOR_COUNT); setLabelProvider(new LabelProvider() { public String getText(Object element) { URI uri = (URI) element; if (uri.equals(URI_BM1_COUNTS)) { return "BM1 Counts"; } else if (uri.equals(URI_BM2_COUNTS)) { return "BM2 Counts"; } else if (uri.equals(URI_BM3_COUNTS)) { return "BM3 Counts"; } else if (uri.equals(URI_TOTAL_DETECTOR_COUNT)) { return "Total Detector"; }/*from w w w .j av a 2 s.co m*/ return ""; } }); }
From source file:au.gov.ga.earthsci.bookmark.part.BookmarksPart.java
License:Apache License
private void initCombo(Composite parent) { bookmarkListsComboViewer = new ComboViewer(parent, SWT.READ_ONLY | SWT.DROP_DOWN); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = false;/* w w w.j a v a 2s . com*/ bookmarkListsComboViewer.getCombo().setLayoutData(gd); bookmarkListsComboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (!(element instanceof IBookmarkList)) { return super.getText(element); } return ((IBookmarkList) element).getName(); } }); // Trigger a label refresh if a list name changes etc. ObservableListContentProvider contentProvider = new ObservableListContentProvider(); IObservableMap nameMap = BeanProperties.value("name").observeDetail(contentProvider.getKnownElements()); //$NON-NLS-1$ nameMap.addMapChangeListener(new IMapChangeListener() { @Override public void handleMapChange(MapChangeEvent event) { for (Object key : event.diff.getChangedKeys()) { bookmarkListsComboViewer.refresh(key, true); } } }); bookmarkListsComboViewer.setContentProvider(contentProvider); bookmarkListsComboViewer.setInput(BeanProperties.list("lists").observe(bookmarks)); //$NON-NLS-1$ bookmarkListsComboViewer.setSelection(new StructuredSelection(bookmarks.getDefaultList())); bookmarkListsComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { controller.setCurrentList(getSelectedBookmarkList()); } }); }
From source file:au.gov.ga.earthsci.bookmark.ui.BookmarksPart.java
License:Apache License
private void initCombo(Composite parent) { bookmarkListsComboViewer = new ComboViewer(parent, SWT.READ_ONLY | SWT.DROP_DOWN); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = false;/*from w w w . j a va 2s . c o m*/ bookmarkListsComboViewer.getCombo().setLayoutData(gd); bookmarkListsComboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (!(element instanceof IBookmarkList)) { return super.getText(element); } return ((IBookmarkList) element).getName(); } }); // Trigger a label refresh if a list name changes etc. ObservableListContentProvider<IBookmarkList> contentProvider = new ObservableListContentProvider<IBookmarkList>( IBookmarkList.class); IObservableSet<IBookmarkList> knownElements = contentProvider.getKnownElements(); IObservableMap<IBookmarkList, String> nameMap = BeanProperties .value(IBookmarkList.class, "name", String.class).observeDetail(knownElements); //$NON-NLS-1$ nameMap.addMapChangeListener(new IMapChangeListener<IBookmarkList, String>() { @Override public void handleMapChange(MapChangeEvent<IBookmarkList, String> event) { for (IBookmarkList key : event.diff.getChangedKeys()) { bookmarkListsComboViewer.refresh(key, true); } } }); IBeanListProperty<IBookmarks, IBookmarkList> listsProperty = BeanProperties.list(IBookmarks.class, "lists", //$NON-NLS-1$ IBookmarkList.class); IObservableList<IBookmarkList> observableList = listsProperty.observe(bookmarks); bookmarkListsComboViewer.setContentProvider(contentProvider); bookmarkListsComboViewer.setInput(observableList); bookmarkListsComboViewer.setSelection(new StructuredSelection(bookmarks.getDefaultList())); bookmarkListsComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { controller.setCurrentList(getSelectedBookmarkList()); } }); }