List of usage examples for org.eclipse.jface.databinding.viewers ViewerProperties singleSelection
public static IViewerValueProperty singleSelection()
From source file:at.bestsolution.e4.addressbook.ui.swt.AddressForm.java
License:Open Source License
public void init(AddressBook book) { {//ww w .ja va 2s. com IEMFListProperty mProp = EMFProperties.list(AddressbookPackage.Literals.ADDRESS_BOOK__COUNTRIES); IValueProperty props = EMFProperties.value(AddressbookPackage.Literals.COUNTRY__NAME); v_country = new ComboViewer(w_country); ObservableListContentProvider cp = new ObservableListContentProvider(); v_country.setContentProvider(cp); v_country.setLabelProvider(new ObservableMapLabelProvider(props.observeDetail(cp.getKnownElements()))); v_country.setInput(mProp.observe(book)); } { IObservableValue value = ViewerProperties.singleSelection().observe(v_country); IEMFListProperty mProp = EMFProperties.list(AddressbookPackage.Literals.COUNTRY__FEDERAL_STATES); IValueProperty props = EMFProperties.value(AddressbookPackage.Literals.FEDERAL_STATE__NAME); value.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (stateBinding != null) { stateBinding.dispose(); stateBinding = null; } } }); v_state = new ComboViewer(w_state); ObservableListContentProvider cp = new ObservableListContentProvider(); v_state.setContentProvider(cp); v_state.setLabelProvider(new ObservableMapLabelProvider(props.observeDetail(cp.getKnownElements()))); v_state.setInput(mProp.observeDetail(value)); value.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (stateBinding == null && dbc != null && master != null) { bindState(); } } }); } }
From source file:at.bestsolution.e4.addressbook.ui.swt.AddressForm.java
License:Open Source License
public void bindControls(DataBindingContext dbc, IObservableValue master) { this.dbc = dbc; this.master = master; IWidgetValueProperty tProp = WidgetProperties.text(SWT.Modify); IViewerValueProperty sProp = ViewerProperties.singleSelection(); {/*from w w w . ja va2 s . co m*/ IEMFValueProperty mProp = EMFProperties.value(AddressbookPackage.Literals.ADDRESS__STREET); dbc.bindValue(tProp.observe(w_street), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFProperties.value(AddressbookPackage.Literals.ADDRESS__ZIP); dbc.bindValue(tProp.observe(w_zip), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFProperties.value(AddressbookPackage.Literals.ADDRESS__CITY); dbc.bindValue(tProp.observe(w_city), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFProperties .value(FeaturePath.fromList(AddressbookPackage.Literals.ADDRESS__COUNTRY)); dbc.bindValue(sProp.observe(v_country), mProp.observeDetail(master)); } bindState(); IWidgetValueProperty eProp = WidgetProperties.enabled(); for (Control c : getChildren()) { EMFUpdateValueStrategy modelToTarget = new EMFUpdateValueStrategy(); modelToTarget.setConverter(new Converter(Address.class, boolean.class) { @Override public Object convert(Object fromObject) { return fromObject != null; } }); final Binding b = dbc.bindValue(eProp.observe(c), master, new EMFUpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), modelToTarget); master.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (event.diff.getNewValue() == null) b.updateModelToTarget(); } }); } }
From source file:at.bestsolution.e4.addressbook.ui.swt.AddressForm.java
License:Open Source License
public void bindControls(EditingDomain editingDomain, DataBindingContext dbc, IObservableValue master) { this.dbc = dbc; this.master = master; this.editingDomain = editingDomain; IWidgetValueProperty tProp = WidgetProperties.text(SWT.Modify); IViewerValueProperty sProp = ViewerProperties.singleSelection(); {// w w w.j av a2 s.c om IEMFValueProperty mProp = EMFEditProperties.value(editingDomain, AddressbookPackage.Literals.ADDRESS__STREET); dbc.bindValue(tProp.observeDelayed(PersonForm.DELAY, w_street), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFEditProperties.value(editingDomain, AddressbookPackage.Literals.ADDRESS__ZIP); dbc.bindValue(tProp.observeDelayed(PersonForm.DELAY, w_zip), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFEditProperties.value(editingDomain, AddressbookPackage.Literals.ADDRESS__CITY); dbc.bindValue(tProp.observeDelayed(PersonForm.DELAY, w_city), mProp.observeDetail(master)); } { IEMFValueProperty mProp = EMFEditProperties.value(editingDomain, FeaturePath.fromList(AddressbookPackage.Literals.ADDRESS__COUNTRY)); dbc.bindValue(sProp.observe(v_country), mProp.observeDetail(master)); } bindState(); IWidgetValueProperty eProp = WidgetProperties.enabled(); for (Control c : getChildren()) { EMFUpdateValueStrategy modelToTarget = new EMFUpdateValueStrategy(); modelToTarget.setConverter(new Converter(Address.class, boolean.class) { @Override public Object convert(Object fromObject) { return fromObject != null; } }); final Binding b = dbc.bindValue(eProp.observe(c), master, new EMFUpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), modelToTarget); master.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (event.diff.getNewValue() == null) b.updateModelToTarget(); } }); } }
From source file:at.bestsolution.e4.addressbook.ui.swt.AddressForm.java
License:Open Source License
private void bindState() { IViewerValueProperty sProp = ViewerProperties.singleSelection(); IEMFValueProperty prop;// www. ja v a 2 s . c om if (editingDomain == null) { prop = EMFProperties.value(AddressbookPackage.Literals.ADDRESS__FEDERAL_STATE); } else { prop = EMFEditProperties.value(editingDomain, AddressbookPackage.Literals.ADDRESS__FEDERAL_STATE); } stateBinding = dbc.bindValue(sProp.observe(v_state), prop.observeDetail(master)); }
From source file:at.bestsolution.e4.addressbook.ui.swt.PersonList.java
License:Open Source License
@PostConstruct void init(AddressBook book, final PersonSelectionPublisher personService) { {/*from ww w. j a va 2s . c o m*/ IEMFListProperty mProp = EMFProperties.list(AddressbookPackage.Literals.ADDRESS_BOOK__PERSONS); final TableViewer viewer = new TableViewer(w_list); ObservableListContentProvider cp = new ObservableListContentProvider(); viewer.setContentProvider(cp); IObservableMap[] map = { EMFProperties.value(AddressbookPackage.Literals.PERSON__FIRSTNAME) .observeDetail(cp.getKnownElements()), EMFProperties.value(AddressbookPackage.Literals.PERSON__LASTNAME) .observeDetail(cp.getKnownElements()) }; viewer.setLabelProvider(new ObservableMapLabelProvider(map) { @Override public String getColumnText(Object element, int columnIndex) { Person object = (Person) element; return object == null ? "" : object.getFirstname() + " " + object.getLastname(); } }); final IObservableList list = mProp.observe(book); viewer.setInput(list); list.addListChangeListener(new IListChangeListener() { @Override public void handleListChange(ListChangeEvent event) { event.diff.accept(new ListDiffVisitor() { @Override public void handleRemove(int index, Object element) { if (list.size() == 0) { return; } if (list.size() > index - 1 && viewer.getSelection().isEmpty()) { if (index - 1 >= 0) { index--; } else { index = 0; } viewer.setSelection(new StructuredSelection(list.get(index))); } } @Override public void handleAdd(int index, Object element) { viewer.setSelection(new StructuredSelection(element)); } }); } }); ViewerProperties.singleSelection().observe(viewer).addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { personService.setPerson((Person) event.diff.getNewValue()); } }); if (list.size() > 0) { viewer.setSelection(new StructuredSelection(list.get(0))); } } }
From source file:at.bestsolution.efxclipse.tooling.fxgraph.ui.wizards.FXGraphWizardPage.java
License:Open Source License
@Override protected void createFields(Composite parent, DataBindingContext dbc) { {//from w ww. j av a 2s . c o m Label l = new Label(parent, SWT.NONE); l.setText("Root Element"); final ComboViewer viewer = new ComboViewer(parent); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { IType t = (IType) element; return t.getElementName() + " - " + t.getPackageFragment().getElementName(); } }); viewer.setContentProvider(new ArrayContentProvider()); List<IType> types = getTypes(); viewer.setInput(types); viewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Button button = new Button(parent, SWT.PUSH); button.setText("Browse ..."); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IType type = findContainerType(); if (type != null) { customSelection = type; viewer.setInput(getTypes()); viewer.setSelection(new StructuredSelection(type)); } } }); FXGraphElement element = getClazz(); element.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { if ("fragmentRoot".equals(evt.getPropertyName())) { viewer.setInput(getTypes()); } } }); dbc.bindValue(ViewerProperties.singleSelection().observe(viewer), BeanProperties.value("rootElement").observe(getClazz())); if (types.size() > 0) { viewer.setSelection(new StructuredSelection(types.get(0))); } } { Label l = new Label(parent, SWT.NONE); l.setText("Dynamic Root (fx:root)"); Button b = new Button(parent, SWT.CHECK); dbc.bindValue(WidgetProperties.selection().observe(b), BeanProperties.value("dynamic").observe(getClazz())); } }
From source file:at.bestsolution.efxclipse.tooling.fxml.wizards.FXMLWizardPage.java
License:Open Source License
@Override protected void createFields(Composite parent, DataBindingContext dbc) { {//from ww w .ja v a 2 s. co m Label l = new Label(parent, SWT.NONE); l.setText("Root Element"); final ComboViewer viewer = new ComboViewer(parent); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { IType t = (IType) element; return t.getElementName() + " - " + t.getPackageFragment().getElementName(); } }); viewer.setContentProvider(new ArrayContentProvider()); List<IType> types = getTypes(); viewer.setInput(types); viewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Button button = new Button(parent, SWT.PUSH); button.setText("Browse ..."); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IType type = findContainerType(); if (type != null) { customSelection = type; viewer.setInput(getTypes()); viewer.setSelection(new StructuredSelection(type)); } } }); FXMLElement element = getClazz(); element.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { if ("fragmentRoot".equals(evt.getPropertyName())) { viewer.setInput(getTypes()); } } }); dbc.bindValue(ViewerProperties.singleSelection().observe(viewer), BeanProperties.value("rootElement").observe(getClazz())); if (types.size() > 0) { viewer.setSelection(new StructuredSelection(types.get(0))); } } { Label l = new Label(parent, SWT.NONE); l.setText("Dynamic Root (fx:root)"); Button b = new Button(parent, SWT.CHECK); dbc.bindValue(WidgetProperties.selection().observe(b), BeanProperties.value("fxRoot").observe(getClazz())); } }
From source file:at.bestsolution.efxclipse.tooling.jdt.ui.internal.editors.AddIconDialog.java
License:Open Source License
@Override protected Control createDialogContent(final Composite parent) { o = ParametersFactory.eINSTANCE.createIcon(); Composite area = new Composite(parent, SWT.NONE); area.setLayout(new GridLayout(1, false)); area.setLayoutData(new GridData(GridData.FILL_BOTH)); getShell().setText("Add icon"); setTitle("Add icon"); setMessage("Enter informations about the icon to add"); Composite container = new Composite(area, SWT.NONE); container.setLayout(new GridLayout(2, false)); container.setLayoutData(new GridData(GridData.FILL_BOTH)); IViewerValueProperty selProp = ViewerProperties.singleSelection(); IWidgetValueProperty tProp = WidgetProperties.text(SWT.Modify); {/*from ww w. j av a2s. c o m*/ Label l = new Label(container, SWT.NONE); l.setText("Kind:"); ComboViewer v = new ComboViewer(container, SWT.READ_ONLY); v.setLabelProvider(new LabelProvider()); v.setContentProvider(ArrayContentProvider.getInstance()); v.setInput(IconType.VALUES); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__KIND); dbContext.bindValue(selProp.observe(v), prop.observe(o), new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST), new EMFUpdateValueStrategy()); } { Label l = new Label(container, SWT.NONE); l.setText("URL*:"); tUrl = new Text(container, SWT.BORDER); tUrl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__HREF); dbContext.bindValue(tProp.observeDelayed(DELAY, tUrl), prop.observe(o), new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST), new EMFUpdateValueStrategy()); } { Label l = new Label(container, SWT.NONE); l.setText("Depth:"); ComboViewer v = new ComboViewer(container, SWT.READ_ONLY); v.setLabelProvider(new LabelProvider()); v.setContentProvider(ArrayContentProvider.getInstance()); // TODO not hard coded here v.setInput(new String[] { "8", "24", "32" }); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__DEPTH); dbContext.bindValue(selProp.observe(v), prop.observe(o), new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST), new EMFUpdateValueStrategy()); } { Label l = new Label(container, SWT.NONE); l.setText("Width:"); tWidth = new Text(container, SWT.BORDER); tWidth.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__WIDTH); dbContext.bindValue(tProp.observeDelayed(DELAY, tWidth), prop.observe(o), new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST), new EMFUpdateValueStrategy()); } { Label l = new Label(container, SWT.NONE); l.setText("Height:"); tHeight = new Text(container, SWT.BORDER); tHeight.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, ICON__HEIGHT); dbContext.bindValue(tProp.observeDelayed(DELAY, tHeight), prop.observe(o), new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST), new EMFUpdateValueStrategy()); } return area; }
From source file:at.bestsolution.efxclipse.tooling.jdt.ui.internal.editors.AddSplashDialog.java
License:Open Source License
@Override protected Control createDialogContent(final Composite parent) { o = ParametersFactory.eINSTANCE.createSplash(); Composite area = new Composite(parent, SWT.NONE); area.setLayout(new GridLayout(1, false)); area.setLayoutData(new GridData(GridData.FILL_BOTH)); getShell().setText("Add splash icon"); setTitle("Add splash"); setMessage("Enter informations about the splash to add"); Composite container = new Composite(area, SWT.NONE); container.setLayout(new GridLayout(2, false)); container.setLayoutData(new GridData(GridData.FILL_BOTH)); IViewerValueProperty selProp = ViewerProperties.singleSelection(); IWidgetValueProperty tProp = WidgetProperties.text(SWT.Modify); {/*from w ww . j a v a 2s. c om*/ Label l = new Label(container, SWT.NONE); l.setText("Mode*:"); ComboViewer v = new ComboViewer(container, SWT.READ_ONLY); v.setLabelProvider(new LabelProvider()); v.setContentProvider(ArrayContentProvider.getInstance()); v.setInput(SplashMode.values()); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, SPLASH__MODE); dbContext.bindValue(selProp.observe(v), prop.observe(o), new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST), new EMFUpdateValueStrategy()); } { Label l = new Label(container, SWT.NONE); l.setText("URL*:"); tUrl = new Text(container, SWT.BORDER); tUrl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); IEMFValueProperty prop = EMFEditProperties.value(editingDomain, SPLASH__HREF); dbContext.bindValue(tProp.observeDelayed(DELAY, tUrl), prop.observe(o), new EMFUpdateValueStrategy(EMFUpdateValueStrategy.POLICY_ON_REQUEST), new EMFUpdateValueStrategy()); } return area; }
From source file:at.bestsolution.translate.view.TranslatorComponent.java
License:Open Source License
private void createUI(Composite parent) { GridLayout layout = new GridLayout(2, false); parent.setLayout(layout);// w ww .ja v a2s . c o m Label l = new Label(parent, SWT.NONE); l.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 2, 1)); l.setText("Translator"); l = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL); l.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 2, 1)); l = new Label(parent, SWT.NONE); l.setText("Term"); term = new Text(parent, SWT.BORDER); term.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); l = new Label(parent, SWT.NONE); l.setText("Translator"); translator = new ComboViewer(parent); translator.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); translator.setContentProvider(new ObservableListContentProvider()); translator.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((ITranslator) element).getName(); } }); l = new Label(parent, SWT.NONE); l.setText("Source-Language"); final ComboViewer sourceLanguage = new ComboViewer(parent); sourceLanguage.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); sourceLanguage.setContentProvider(new ObservableListContentProvider()); sourceLanguage.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((TranslationLanguage) element).name; } }); IListProperty fromProp = PojoProperties.list("languages"); IValueProperty selectionProp = ViewerProperties.singleSelection(); IObservableList input = fromProp.observeDetail(selectionProp.observe(translator)); sourceLanguage.setInput(input); l = new Label(parent, SWT.NONE); l.setText("Target-Language"); final ComboViewer targetLanguage = new ComboViewer(parent); targetLanguage.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); targetLanguage.setContentProvider(new ObservableListContentProvider()); targetLanguage.setLabelProvider(new LabelProvider()); IListProperty targetsProp = PojoProperties.list("targets"); input = targetsProp.observeDetail(selectionProp.observe(sourceLanguage)); targetLanguage.setInput(input); Button b = new Button(parent, SWT.PUSH); b.setText("Translate"); b.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false, 2, 1)); l = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL); l.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1)); l = new Label(parent, SWT.NONE); l.setText("Translation"); final Label translation = new Label(parent, SWT.NONE); translation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection transSelection = (IStructuredSelection) translator.getSelection(); IStructuredSelection sourceSelection = (IStructuredSelection) sourceLanguage.getSelection(); IStructuredSelection targetSelection = (IStructuredSelection) targetLanguage.getSelection(); if (!transSelection.isEmpty() && !sourceSelection.isEmpty()) { try { String trans = ((ITranslator) transSelection.getFirstElement()).translate( ((TranslationLanguage) sourceSelection.getFirstElement()).name, (String) targetSelection.getFirstElement(), term.getText()); translation.setText(trans); } catch (InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }