Java源码示例:org.eclipse.core.databinding.DataBindingContext
示例1
public RelationFieldDetailsControl(Composite parent, BusinessDataModelFormPage formPage,
IObservableValue<Field> selectedFieldObservable, IObservableValue<String> descriptionObservable,
DataBindingContext ctx) {
super(parent, SWT.None);
this.descriptionObservable = descriptionObservable;
setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
setLayout(GridLayoutFactory.fillDefaults().margins(10, 10).create());
formPage.getToolkit().adapt(this);
this.formPage = formPage;
this.selectedFieldObservable = selectedFieldObservable;
this.ctx = ctx;
createDescriptionTextArea();
createRelationKindLabel();
createRelationKindCombo();
createLoadingModeRadioButtons();
}
示例2
public FieldDetailsControl(Composite parent, BusinessDataModelFormPage formPage,
IObservableValue<Field> selectedFieldObservable, DataBindingContext ctx) {
super(parent, SWT.None);
this.formPage = formPage;
this.ctx = ctx;
this.selectedFieldObservable = selectedFieldObservable;
this.descriptionObservable = EMFObservables.observeDetailValue(Realm.getDefault(),
selectedFieldObservable, BusinessDataModelPackage.Literals.FIELD__DESCRIPTION);
formPage.getToolkit().adapt(this);
stackLayout = new CustomStackLayout(this);
setLayout(stackLayout);
setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
createStringFieldDetailsComposite(ctx);
createDateDeprecatedDetailsComposite();
createDateOnlyDetailsComposite();
createDateTimeComposite();
createDateTimeInTimeZoneComposite();
createTextFieldComposite();
createRelationFieldComposite(ctx);
createNoDetailsComposite();
selectedFieldObservable.addValueChangeListener(e -> updateTopControl());
}
示例3
private void bindIndexedFieldObservableLists(DataBindingContext ctx, IObservableList<Field> actualsFieldsObservable) {
ctx.bindList(indexedFieldsObservable, indexedFieldNameObservable,
UpdateStrategyFactory.updateListStrategyFactory()
.withConverter(ConverterBuilder.<Field, String> newConverter()
.fromType(Field.class)
.toType(String.class)
.withConvertFunction(Field::getName)
.create())
.create(),
UpdateStrategyFactory.updateListStrategyFactory()
.withConverter(ConverterBuilder.<String, Field> newConverter()
.fromType(String.class)
.toType(Field.class)
.withConvertFunction(fieldName -> actualsFieldsObservable
.stream()
.filter(aField -> Objects.equals(fieldName, aField.getName()))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException(
String.format("The field %s doesn't exists.", fieldName))))
.create())
.create());
}
示例4
public QueryEditionControl(Composite parent,
QueryFormPage formPage,
DataBindingContext ctx) {
this.formPage = formPage;
this.boSelectedObservable = formPage.observeBusinessObjectSelected();
this.ctx = ctx;
this.queryContentCreator = new QueryContentCreator();
Composite queryEditionComposite = formPage.getToolkit().createComposite(parent);
queryEditionComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create());
queryEditionComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
createDefinitionSection(queryEditionComposite);
queryDetailsControl = new QueryDetailsControl(queryEditionComposite, querySelectedObservable, formPage,
boSelectedObservable, viewer);
enableButtons();
customQueries = EMFObservables.observeDetailList(Realm.getDefault(), boSelectedObservable,
BusinessDataModelPackage.Literals.BUSINESS_OBJECT__QUERIES);
defaultQueries = EMFObservables.observeDetailList(Realm.getDefault(), boSelectedObservable,
BusinessDataModelPackage.Literals.BUSINESS_OBJECT__DEFAULT_QUERIES);
}
示例5
@Override
public Control createControl(Composite parent, IWizardContainer wizardContainer, DataBindingContext ctx) {
Composite mainComposite = new Composite(parent, SWT.NONE);
mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
mainComposite.setLayout(GridLayoutFactory.fillDefaults().create());
super.createControl(mainComposite, wizardContainer, ctx);
currentShell = wizardContainer.getShell();
ButtonWidget renameButton = new ButtonWidget.Builder()
.alignLeft()
.withLabel(org.bonitasoft.studio.ui.i18n.Messages.rename)
.onClick(this::rename)
.createIn(mainComposite);
renameButton.disable();
tableViewer.addSelectionChangedListener(e -> {
if (getSelection().count() == 1
&& !Objects.equals(getSelection().findFirst().get().getName(), unRenamableFile.orElse(""))) {
renameButton.enable();
} else {
renameButton.disable();
}
});
return mainComposite;
}
示例6
private void createDefaultUserTextWidget(DataBindingContext ctx, final Composite mainComposite) {
usernameObservable = PojoProperties.value("defaultUsername").observe(this);
usernameProposalProvider = new SimpleContentProposalProvider();
usernameProposalProvider.setFiltering(true);
defaultUserTextWidget = new TextWidget.Builder()
.useNativeRender()
.labelAbove()
.widthHint(530)
.withLabel(org.bonitasoft.studio.actors.i18n.Messages.defaultUser)
.withTootltip(org.bonitasoft.studio.actors.i18n.Messages.defaultUserTooltip)
.bindTo(usernameObservable)
.withProposalProvider(usernameProposalProvider)
.withValidator(defaultUserValidator().create())
.inContext(ctx)
.createIn(mainComposite);
}
示例7
private void createConstraintEditionComposite(DataBindingContext ctx) {
Composite composite = formPage.getToolkit().createComposite(mainComposite);
composite.setLayout(GridLayoutFactory.fillDefaults().create());
composite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
createConstraintDescriptionSection(composite, ctx);
createConstraintEditionSection(composite);
ctx.bindValue(WidgetProperties.visible().observe(composite), new ComputedValue<Boolean>() {
@Override
protected Boolean calculate() {
return selectedConstraintObservable.getValue() != null;
}
});
}
示例8
public static Collection<Binding> bind ( final DataBindingContext dbc, final IObservableValue lineInputObservable, final IObservableValue linePropertiesObservable )
{
final Collection<Binding> result = new LinkedList<Binding> ();
try
{
result.add ( dbc.bindValue ( PojoObservables.observeDetailValue ( lineInputObservable, "lineWidth", null ), EMFObservables.observeDetailValue ( dbc.getValidationRealm (), linePropertiesObservable, ChartPackage.Literals.LINE_PROPERTIES__WIDTH ) ) ); //$NON-NLS-1$
result.add ( dbc.bindValue ( PojoObservables.observeDetailValue ( lineInputObservable, "lineColor", null ), EMFObservables.observeDetailValue ( dbc.getValidationRealm (), linePropertiesObservable, ChartPackage.Literals.LINE_PROPERTIES__COLOR ) ) ); //$NON-NLS-1$
}
catch ( final Exception e )
{
logger.warn ( "Failed to bind line properties", e ); //$NON-NLS-1$
}
return result;
}
示例9
public BusinessObjectEditionControl(Composite parent, BusinessDataModelFormPage formPage, DataBindingContext ctx) {
this.boSelectedObservable = formPage.observeBusinessObjectSelected();
this.section = formPage.getToolkit().createSection(parent, Section.EXPANDED);
section.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
section.setLayout(GridLayoutFactory.fillDefaults().create());
Composite boEditionComposite = formPage.getToolkit().createComposite(section);
boEditionComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
boEditionComposite.setLayout(GridLayoutFactory.fillDefaults().create());
formPage.getToolkit().createLabel(boEditionComposite, "");// filler
buildDescriptionSection(boEditionComposite, formPage, ctx);
buildEditionSection(boEditionComposite, formPage, ctx);
section.setClient(boEditionComposite);
}
示例10
public ButtonProfileEntry ( final DataBindingContext dbc, final Composite parent, final ProfileManager profileManager, final Profile profile, final ChartContext chartContext )
{
super ( dbc, profileManager, profile, chartContext );
this.widget = new Button ( parent, SWT.TOGGLE );
addBinding ( dbc.bindValue ( SWTObservables.observeText ( this.widget ), EMFObservables.observeValue ( profile, ChartPackage.Literals.PROFILE__LABEL ) ) );
this.widget.addSelectionListener ( new SelectionAdapter () {
@Override
public void widgetSelected ( final SelectionEvent e )
{
fireSelection ( ButtonProfileEntry.this.widget.getSelection () );
};
} );
}
示例11
protected DataBindingContext initDataBindings(){
DataBindingContext bindingContext = new DataBindingContext();
tableViewerContacts.setContentProvider(contentProvider);
IObservableMap[] observeMaps =
BeansObservables.observeMaps(contentProvider.getKnownElements(), IContact.class,
new String[] {
"description1", "description2", "mandator", "patient", "user"
});
ILabelDecorator decorator =
PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
tableViewerContacts.setLabelProvider(new TableDecoratingLabelProvider(
new ContactSelectorObservableMapLabelProvider(observeMaps), decorator));
tableViewerContacts.setInput(contactList);
return bindingContext;
}
示例12
@Override
protected Control createDialogArea(final Composite parent) {
dbc = new DataBindingContext();
final Composite mainComposite = (Composite) super.createDialogArea(parent);
mainComposite.setLayoutData(GridDataFactory.fillDefaults().hint(400, SWT.DEFAULT).create());
mainComposite.setLayout(GridLayoutFactory.fillDefaults().extendedMargins(15, 15, 10, 0).spacing(0, 15).create());
final Label descriptionLabel = new Label(mainComposite, SWT.WRAP);
descriptionLabel.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
descriptionLabel.setText(Messages.testGroovyScriptDialogDescription);
final Map<String, Serializable> procVariables = getProcessVariables(variables);
final Map<String, Serializable> unknownVariables = getUnknownVariables(variables);
if (!procVariables.isEmpty()) {
createVariableGroup(mainComposite, Messages.processVariableLabel, procVariables, dbc);
}
if (!unknownVariables.isEmpty()) {
createVariableGroup(mainComposite, Messages.unknownVariableLabel, unknownVariables, dbc);
}
return mainComposite;
}
示例13
@Override
public void createControl(final Composite parent) {
dbc = new DataBindingContext();
final Composite mainComposite = new Composite(parent, SWT.NONE);
mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).extendedMargins(10, 10, 5, 5).create());
createProcessViewer(mainComposite);
final Composite group = new Composite(mainComposite, SWT.NONE);
group.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
group.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).margins(0, 0).create());
createConfiguration(group);
createDestination(group);
pageSupport = WizardPageSupport.create(this, dbc);
setControl(mainComposite);
}
示例14
public XAxisViewer ( final DataBindingContext dbc, final ChartRenderer manager, final XAxis axis, final boolean top )
{
super ( dbc, manager, axis );
this.axis = axis;
this.control = new org.eclipse.scada.chart.XAxis ();
this.renderer = new XAxisDynamicRenderer ( manager );
this.renderer.setAxis ( this.control );
this.renderer.setAlign ( top ? SWT.TOP : SWT.BOTTOM );
manager.addRenderer ( this.renderer, -2 );
addBinding ( this.dbc.bindValue ( BeansObservables.observeValue ( this.control, "label" ), EMFObservables.observeValue ( this.axis, ChartPackage.Literals.AXIS__LABEL ) ) ); //$NON-NLS-1$
addBinding ( this.dbc.bindValue ( BeansObservables.observeValue ( this.control, "min" ), EMFObservables.observeValue ( this.axis, ChartPackage.Literals.XAXIS__MINIMUM ) ) ); //$NON-NLS-1$
addBinding ( this.dbc.bindValue ( BeansObservables.observeValue ( this.control, "max" ), EMFObservables.observeValue ( this.axis, ChartPackage.Literals.XAXIS__MAXIMUM ) ) ); //$NON-NLS-1$
addBinding ( this.dbc.bindValue ( PojoObservables.observeValue ( this.renderer, "showLabels" ), EMFObservables.observeValue ( this.axis, ChartPackage.Literals.AXIS__LABEL_VISIBLE ) ) ); //$NON-NLS-1$
addBinding ( this.dbc.bindValue ( PojoObservables.observeValue ( this.renderer, "format" ), EMFObservables.observeValue ( this.axis, ChartPackage.Literals.AXIS__FORMAT ) ) ); //$NON-NLS-1$
addBinding ( this.dbc.bindValue ( PojoObservables.observeValue ( this.renderer, "textPadding" ), EMFObservables.observeValue ( this.axis, ChartPackage.Literals.AXIS__TEXT_PADDING ) ) ); //$NON-NLS-1$
addBinding ( this.dbc.bindValue ( PojoObservables.observeValue ( this.renderer, "color" ), EMFObservables.observeValue ( this.axis, ChartPackage.Literals.AXIS__COLOR ) ) ); //$NON-NLS-1$
}
示例15
private Composite createComposite ( final Composite wrapper )
{
this.dbc = new DataBindingContext ( DisplayRealm.getRealm ( wrapper.getDisplay () ) );
wrapper.addDisposeListener ( new DisposeListener () {
@Override
public void widgetDisposed ( final DisposeEvent e )
{
CallbackDialog.this.dbc.dispose ();
}
} );
final Composite composite = new Composite ( wrapper, SWT.NONE );
composite.setLayout ( new GridLayout ( 2, false ) );
for ( final CallbackWidgetFactory factory : this.factories )
{
factory.createGridWidgets ( this.dbc, composite );
}
return composite;
}
示例16
@Override
public Control createControl(Composite parent, IWizardContainer wizardContainer, DataBindingContext ctx) {
resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);
Composite composite = new Composite(parent, SWT.NONE);
composite.setLayout(GridLayoutFactory.fillDefaults().create());
composite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
super.createControl(composite, wizardContainer, ctx);
Composite importComposite = createImportComposite(composite);
filePathObservable.addValueChangeListener(e -> parseInput());
ctx.bindValue(WidgetProperties.visible().observe(importComposite), new ComputedValue<Boolean>() {
@Override
protected Boolean calculate() {
return filePathObservable.getValue() != null;
}
});
ctx.bindValue(new WritableValue(), importBdmModelObservable, // Purpose: disable on finish button when input isn't correct
UpdateStrategyFactory.neverUpdateValueStrategy().create(),
UpdateStrategyFactory.updateValueStrategy()
.withValidator(new SmartImportBdmModelValidator())
.create());
return composite;
}
示例17
public void createDocumentTableViewerComposite(final Composite parent, final DataBindingContext dbc) {
documentTableViewerComposite = new Composite(parent, SWT.NONE);
documentTableViewerComposite.setLayout(GridLayoutFactory.swtDefaults().create());
documentTableViewerComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
final TableViewer documentTableViewer = new TableViewer(documentTableViewerComposite,
SWT.BORDER | SWT.SINGLE | SWT.NO_FOCUS | SWT.H_SCROLL
| SWT.V_SCROLL);
documentTableViewer.getTable()
.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(200, 100).create());
final ObservableListContentProvider contentProvider = new ObservableListContentProvider();
documentTableViewer.setContentProvider(contentProvider);
documentTableViewer.setLabelProvider(new DocumentStyledLabelProvider());
documentTableViewer.setInput(new WritableList(availableDocuments, ProcessPackage.Literals.DOCUMENT));
final IViewerObservableValue observeSingleSelection = ViewersObservables
.observeSingleSelection(documentTableViewer);
dbc.bindValue(observeSingleSelection, selectedDataObservable,
updateValueStrategy().withValidator(createDefaultValueAlreadyDefinedValidator()).create(), null);
documentButton.addSelectionListener(createDocumentSelectionAdapter());
}
示例18
private void createSearch(DataBindingContext ctx, Composite parent) {
Composite searchComposite = new Composite(parent, SWT.NONE);
searchComposite.setLayout(GridLayoutFactory.fillDefaults().create());
searchComposite.setLayoutData(GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BOTTOM).create());
new SearchWidget.Builder()
.useNativeRender()
.labelAbove()
.fill()
.widthHint(400)
.withPlaceholder(Messages.searchArtifact)
.bindTo(searchObservableValue)
.withDelay(500)
.inContext(ctx)
.createIn(searchComposite);
}
示例19
private void createToolbarComposite(DataBindingContext ctx, Composite parent) {
Composite composite = new Composite(parent, SWT.INHERIT_FORCE);
composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).extendedMargins(0, 0, 8, 0).create());
composite.setLayoutData(
GridDataFactory.fillDefaults().align(SWT.END, SWT.FILL).grab(true, false).create());
Button onlyLatestProcessVersionButton = new Button(composite, SWT.CHECK);
onlyLatestProcessVersionButton.setText(Messages.selectLatestVersion);
ctx.bindValue(WidgetProperties.selection().observe(onlyLatestProcessVersionButton),
PojoProperties.value("latestVersionOnly").observe(this));
ToolBar toolBar = new ToolBar(composite, SWT.HORIZONTAL | SWT.RIGHT | SWT.NO_FOCUS | SWT.FLAT);
new ToolItem(toolBar, SWT.SEPARATOR | SWT.VERTICAL);
ToolItem expandAll = new ToolItem(toolBar, SWT.PUSH);
expandAll.setImage(Pics.getImage(PicsConstants.expandAll));
expandAll.setToolTipText(Messages.expandAll);
expandAll.addListener(SWT.Selection, e -> fileStoreViewer.expandAll());
ToolItem collapseAll = new ToolItem(toolBar, SWT.PUSH);
collapseAll.setImage(Pics.getImage(PicsConstants.collapseAll));
collapseAll.setToolTipText(Messages.collapseAll);
collapseAll.addListener(SWT.Selection, e -> fileStoreViewer.collapseAll());
}
示例20
private Composite initDefaultOptionsUI(DataBindingContext dbc, Composite parent) {
// A group for default options
final Group defaultOptions = new Group(parent, NONE);
defaultOptions.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).create());
final Button createGreeterFileButton = new Button(defaultOptions, CHECK);
createGreeterFileButton.setText("Create a greeter file");
initDefaultCreateGreeterBindings(dbc, createGreeterFileButton);
return defaultOptions;
}
示例21
private void initTestProjectBinding(DataBindingContext dbc, Button addNormalSourceFolderButton,
Button createTestGreeterFileButton) {
// Bind the "normal source folder"-checkbox
dbc.bindValue(WidgetProperties.buttonSelection().observe(addNormalSourceFolderButton),
PojoProperties.value(N4JSProjectInfo.class, N4JSProjectInfo.ADDITIONAL_NORMAL_SOURCE_FOLDER_PROP_NAME)
.observe(projectInfo));
// Bind the "Create greeter file"-checkbox
dbc.bindValue(WidgetProperties.buttonSelection().observe(createTestGreeterFileButton),
BeanProperties.value(N4JSProjectInfo.class, N4JSProjectInfo.CREATE_GREETER_FILE_PROP_NAME)
.observe(projectInfo));
}
示例22
@Override
public void createControl(Composite parent) {
Composite mainComposite = new Composite(parent, SWT.NONE) ;
mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()) ;
mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(20,20).create()) ;
databindingContext = new DataBindingContext() ;
final TableViewer viewer = new TableViewer(mainComposite, SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE ) ;
viewer.getTable().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()) ;
viewer.setContentProvider(new ArrayContentProvider()) ;
viewer.setLabelProvider(new ActionLabelProvider()) ;
viewer.setInput(getConfigurationImporterContributions()) ;
UpdateValueStrategy startegy = new UpdateValueStrategy() ;
startegy.setBeforeSetValidator(new IValidator() {
@Override
public IStatus validate(Object value) {
if(value instanceof IAction){
return Status.OK_STATUS ;
}
return ValidationStatus.error(Messages.mustSelectExportError);
}
}) ;
WizardPageSupport.create(this,databindingContext) ;
databindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), PojoObservables.observeValue(this, "action"),startegy,null) ;
setControl(mainComposite) ;
}
示例23
@Override
public void createControl(Composite parent) {
final DataBindingContext dbc = new DataBindingContext();
final Composite mainComposite = doCreateControls(parent, dbc);
setControl(mainComposite);
WizardPageSupport.create(this, dbc);
}
示例24
@Override
protected Control createContents(final Composite parent) {
dbc = new DataBindingContext();
final Control contents = super.createContents(parent);
DialogSupport.create(this, dbc);
return contents;
}
示例25
@Override
public Control createControl(Composite parent, IWizardContainer wizardContainer, DataBindingContext ctx) {
Composite mainComposite = new Composite(parent, SWT.NONE);
mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
mainComposite.setLayout(GridLayoutFactory.fillDefaults().create());
tableViewer = createTableViewer(mainComposite);
tableViewer.getControl().setLayoutData(
GridDataFactory.fillDefaults().grab(true, true).hint(TABLE_WIDTH_HINT, SWT.DEFAULT).create());
tableViewer.setContentProvider(ArrayContentProvider.getInstance());
tableViewer.setLabelProvider(labelProvider);
tableViewer.setInput(getInput());
tableViewer.addDoubleClickListener(new WizardDoubleClickListener((WizardDialog) wizardContainer));
ColumnViewerToolTipSupport.enableFor(tableViewer);
IObservableList<IRepositoryFileStore> multiSelection = ViewersObservables.observeMultiSelection(tableViewer);
ctx.addValidationStatusProvider(new MultiValidator() {
@Override
protected IStatus validate() {
return multiSelection.isEmpty()
? ValidationStatus.error("No selection")
: unselectableElements.isPresent()
&& multiSelection.stream().anyMatch(unselectableElements.get()::contains)
? ValidationStatus.error("Unselectable element selected")
: ValidationStatus.ok();
}
});
return mainComposite;
}
示例26
public void bindControl(final DataBindingContext dbc, final IObservableValue modelObservable) {
final DateTimeObservable dateObservable = new DateTimeObservable(dateControl);
final DateTimeObservable timeObservable = new DateTimeObservable(timeControl);
dbc.bindValue(dateObservable, modelObservable);
dateControl.notifyListeners(SWT.Selection, new Event());
timeObservable.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
final Date newValue = (Date) event.diff.getNewValue();
dateControl.setTime(newValue.getHours(), newValue.getMinutes(), newValue.getMinutes());
dateControl.notifyListeners(SWT.Selection, new Event());
}
});
}
示例27
private Composite doFileLocationBrowser(Composite parent, DataBindingContext dbc) {
Composite fileBrowserComposite = new Composite(parent, SWT.NONE);
fileBrowserComposite
.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create());
fileBrowserComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
filePathObserveValue = PojoProperties.value("filePath").observe(this);
filePathObserveValue.addValueChangeListener(this::parseArchive);
textWidget = new TextWidget.Builder()
.withLabel(Messages.selectLocation)
.grabHorizontalSpace()
.fill()
.alignMiddle()
.labelAbove()
.withTargetToModelStrategy(updateValueStrategy()
.withValidator(new MultiValidator.Builder()
.havingValidators(getEmptyInputValidator("")).create()))
.bindTo(filePathObserveValue)
.inContext(dbc)
.readOnly()
.withButton(Messages.browseButton_label)
.onClickButton(this::browseFile)
.createIn(fileBrowserComposite);
textWidget.focusButton();
return parent;
}
示例28
public AttributeEditionControl(Composite parent,
BusinessDataModelFormPage formPage,
IObservableValue<BusinessObject> selectedBoObservable,
DataBindingContext ctx) {
super(parent, SWT.None);
setLayout(GridLayoutFactory.fillDefaults().create());
setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
formPage.getToolkit().adapt(this);
this.formPage = formPage;
this.selectedBoObservable = selectedBoObservable;
this.ctx = ctx;
fieldsObservable = EMFObservables.observeDetailList(Realm.getDefault(), selectedBoObservable,
BusinessDataModelPackage.Literals.BUSINESS_OBJECT__FIELDS);
Composite viewerComposite = formPage.getToolkit().createComposite(this);
viewerComposite.setLayout(GridLayoutFactory.fillDefaults().spacing(LayoutConstants.getSpacing().x, 1).create());
viewerComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(1000, 300).create());
Composite toolbarComposite = formPage.getToolkit().createComposite(viewerComposite);
toolbarComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create());
toolbarComposite.setLayoutData(GridDataFactory.fillDefaults().create());
createToolbar(toolbarComposite);
createSearchField(toolbarComposite);
createAttributeTableViewer(viewerComposite);
createDetailsSection();
enableButtons();
selectedBoObservable.addValueChangeListener(e -> selectedFieldObservable.setValue(null));
}
示例29
protected DataBindingContext initDataBindings() {
DataBindingContext bindingContext = new DataBindingContext();
//
ObservableListContentProvider listContentProvider = new ObservableListContentProvider();
IObservableMap[] observeMaps = BeansObservables.observeMaps(listContentProvider.getKnownElements(), Preference.class, new String[]{"name", "value"});
preferencesViewer.setLabelProvider(new ObservableMapLabelProvider(observeMaps));
preferencesViewer.setContentProvider(listContentProvider);
//
IObservableList preferencesGetWidgetObserveList = BeanProperties.list("preferences").observe(getWidget());
preferencesViewer.setInput(preferencesGetWidgetObserveList);
//
ObservableListContentProvider listContentProvider_1 = new ObservableListContentProvider();
IObservableMap[] observeMaps_1 = BeansObservables.observeMaps(listContentProvider_1.getKnownElements(), Access.class, new String[]{"origin", "subdomains", "browserOnly"});
accessViewer.setLabelProvider(new ObservableMapLabelProvider(observeMaps_1));
accessViewer.setContentProvider(listContentProvider_1);
//
IObservableList accessesGetWidgetObserveList = BeanProperties.list("accesses").observe(getWidget());
accessViewer.setInput(accessesGetWidgetObserveList);
//
ObservableListContentProvider listContentProvider_2 = new ObservableListContentProvider();
IObservableMap[] observeMapsPlugin = BeansObservables.observeMaps(listContentProvider_2.getKnownElements(), Plugin.class, new String[]{"name", "spec"});
featuresTableViewer.setLabelProvider(new ObservableMapLabelProvider(observeMapsPlugin));
featuresTableViewer.setContentProvider(listContentProvider_2);
//
IObservableList featuresGetWidgetObserveList = BeanProperties.list("plugins").observe(getWidget());
featuresTableViewer.setInput(featuresGetWidgetObserveList);
//
return bindingContext;
}
示例30
public ProfileManager ( final DataBindingContext ctx, final Realm realm, final ExtensionSpaceProvider extensionSpaceProvider, final ChartContext chartContext )
{
this.ctx = ctx;
this.extensionSpaceProvider = extensionSpaceProvider;
this.chartContext = chartContext;
this.list = new WritableList ( realm );
this.list.addListChangeListener ( new IListChangeListener () {
@Override
public void handleListChange ( final ListChangeEvent event )
{
handleChange ( event.diff );
}
} );
}