Java源码示例:org.eclipse.core.databinding.observable.value.IValueChangeListener
示例1
@Override
protected void bind ()
{
this.dbc.bindValue ( SWTObservables.observeText ( this.label ), this.model, null, new UpdateValueStrategy ().setConverter ( new VariantToStringConverter () ) );
this.model.addValueChangeListener ( new IValueChangeListener () {
@Override
public void handleValueChange ( final ValueChangeEvent event )
{
if ( !PlainDataItemLabel.this.label.isDisposed () )
{
PlainDataItemLabel.this.label.getParent ().layout ();
}
}
} );
}
示例2
@Override
protected void setInput ( final IEditorInput input )
{
final ConfigurationEditorInput configurationInput = (ConfigurationEditorInput)input;
if ( !this.nested )
{
configurationInput.performLoad ( new NullProgressMonitor () );
}
this.dirtyValue = configurationInput.getDirtyValue ();
this.dirtyValue.addValueChangeListener ( new IValueChangeListener () {
@Override
public void handleValueChange ( final ValueChangeEvent event )
{
firePropertyChange ( IEditorPart.PROP_DIRTY );
}
} );
super.setInput ( input );
}
示例3
private void createGeneralLastNameField(final Composite detailsInfoComposite) {
final Label lastName = new Label(detailsInfoComposite, SWT.NONE);
lastName.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create());
lastName.setText(Messages.lastName);
final Text lastNameText = new Text(detailsInfoComposite, SWT.BORDER);
lastNameText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
lastNameText.setMessage(Messages.lastNameHint);
final IObservableValue lastNameUserValue = EMFObservables.observeDetailValue(Realm.getDefault(),
userSingleSelectionObservable,
OrganizationPackage.Literals.USER__LAST_NAME);
context.bindValue(SWTObservables.observeText(lastNameText, SWT.Modify), lastNameUserValue);
lastNameUserValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
handleLastNameChange(event);
}
});
}
示例4
private void createGeneralFirstNameField(final Composite detailsInfoComposite) {
final Label firstName = new Label(detailsInfoComposite, SWT.NONE);
firstName.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create());
firstName.setText(Messages.firstName);
final Text firstNameText = new Text(detailsInfoComposite, SWT.BORDER);
firstNameText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
firstNameText.setMessage(Messages.firstNameHint);
final IObservableValue firstNameUserValue = EMFObservables.observeDetailValue(Realm.getDefault(),
userSingleSelectionObservable,
OrganizationPackage.Literals.USER__FIRST_NAME);
context.bindValue(SWTObservables.observeText(firstNameText, SWT.Modify), firstNameUserValue);
firstNameUserValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
handleFirstNameChange(event);
}
});
}
示例5
private void createDescriptionField(final Group group) {
final Label descriptionLabel = new Label(group, SWT.NONE);
descriptionLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.FILL).create());
descriptionLabel.setText(Messages.description);
final Text roleDescriptionText = new Text(group, SWT.BORDER | SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
roleDescriptionText
.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 80).create());
roleDescriptionText.setMessage(Messages.descriptionHint);
roleDescriptionText.setTextLimit(255);
final IObservableValue roleDescriptionValue = EMFObservables.observeDetailValue(Realm.getDefault(),
roleSingleSelectionObservable, OrganizationPackage.Literals.ROLE__DESCRIPTION);
context.bindValue(SWTObservables.observeText(roleDescriptionText, SWT.Modify), roleDescriptionValue);
roleDescriptionValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
handleRoleDescriptionChange(event);
}
});
}
示例6
private void createDisplayNameField(final Group group) {
final Label displayNameLabel = new Label(group, SWT.NONE);
displayNameLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create());
displayNameLabel.setText(Messages.displayName);
final Text displayNamedText = new Text(group, SWT.BORDER);
displayNamedText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
final IObservableValue roleDisplayNameValue = EMFObservables.observeDetailValue(Realm.getDefault(),
roleSingleSelectionObservable, OrganizationPackage.Literals.ROLE__DISPLAY_NAME);
final Binding binding = context.bindValue(SWTObservables.observeText(displayNamedText, SWT.Modify),
roleDisplayNameValue,
updateValueStrategy().withValidator(maxLengthValidator(Messages.displayName, LONG_FIELD_MAX_LENGTH))
.create(),
null);
ControlDecorationSupport.create(binding, SWT.LEFT);
roleDisplayNameValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent arg0) {
handleRoleDisplayNameChange(arg0);
}
});
}
示例7
private void bindOperator(EMFDataBindingContext context, IObservableValue operationObervable) {
final UpdateValueStrategy uvsOperator = new UpdateValueStrategy();
final IObservableValue operatorObservableValue = CustomEMFEditObservables.observeDetailValue(Realm.getDefault(),
operationObervable,
ExpressionPackage.Literals.OPERATION__OPERATOR);
final IObservableValue operatorExpressionObserveValue = CustomEMFEditObservables.observeDetailValue(
Realm.getDefault(), operatorObservableValue,
ExpressionPackage.Literals.OPERATOR__EXPRESSION);
final IObservableValue operatorTypeObservedValue = CustomEMFEditObservables.observeDetailValue(Realm.getDefault(),
operatorObservableValue,
ExpressionPackage.Literals.OPERATOR__TYPE);
uvsOperator.setConverter(new OperatorTypeToStringLinkConverter(operatorObservableValue));
operatorTypeObservedValue.addChangeListener(new RevalidateActionExpressionChangeListener());
operatorTypeObservedValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
getActionExpression().setDefaultReturnType(defaultReturnTypeResolver.guessRightOperandReturnType());
}
});
context.bindValue(SWTObservables.observeText(getOperatorLink()), operatorTypeObservedValue, null, uvsOperator);
context.bindValue(SWTObservables.observeText(getOperatorLink()), operatorExpressionObserveValue, null, uvsOperator);
context.bindValue(SWTObservables.observeTooltipText(getOperatorLink()),
operatorExpressionObserveValue);
}
示例8
private void updateVisibilityOfActionExpressionControl(final IObservableValue operationObservableValue) {
operationObservableValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(ValueChangeEvent event) {
final IObservableValue observableValue = event.getObservableValue();
final Operation operation = (Operation) observableValue.getValue();
final boolean isLeftOperandABusinessData = operation != null
&& isExpressionReferenceABusinessData(operation.getLeftOperand());
final Control control = getActionExpression().getControl();
if (!control.isDisposed()) {
control.setVisible(
!ExpressionConstants.DELETION_OPERATOR.equals(operation.getOperator().getType())
|| !isLeftOperandABusinessData);
}
}
});
}
示例9
@Override
protected void createBinding(final EMFDataBindingContext context) {
observable = SWTObservables.observeDelayedValue(250, SWTObservables.observeText(text, SWT.Modify));
final IObservableValue nameObservable = EMFEditObservables.observeValue(editingDomain, element,
ProcessPackage.Literals.ELEMENT__NAME);
nameObservable.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
updatePropertyTabTitle();
updatePartName((String) event.diff.getNewValue(), Display.getDefault());
}
});
context.bindValue(observable,
nameObservable);
final MultiValidator validationStatusProvider = nameValidationStatusProvider(observable);
context.addValidationStatusProvider(validationStatusProvider);
ControlDecorationSupport.create(validationStatusProvider, SWT.LEFT);
bindingInitialized = true;
}
示例10
public void setTitle() {
if (selectedDataObservable.getValue() != null) {
setTitle(Messages.bind(Messages.selectFieldToGenerateTitle,
((Element) selectedDataObservable.getValue()).getName()));
EMFObservables
.observeDetailValue(Realm.getDefault(), selectedDataObservable,
ProcessPackage.Literals.ELEMENT__NAME)
.addValueChangeListener(
new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
setTitle(Messages.bind(Messages.selectFieldToGenerateTitle,
event.diff.getNewValue()));
}
});
}
}
示例11
public TimeShiftActionController ( final ControllerManager controllerManager, final ChartContext chartContext, final TimeShiftAction controller )
{
super ( controllerManager.getContext (), chartContext, controller );
final DataBindingContext ctx = controllerManager.getContext ();
final Composite space = chartContext.getExtensionSpaceProvider ().getExtensionSpace ();
if ( space != null )
{
this.button = new Button ( space, SWT.PUSH );
this.button.addSelectionListener ( new SelectionAdapter () {
@Override
public void widgetSelected ( final SelectionEvent e )
{
action ();
};
} );
addBinding ( ctx.bindValue ( PojoObservables.observeValue ( this, "milliseconds" ), EMFObservables.observeValue ( controller, ChartPackage.Literals.TIME_SHIFT_ACTION__DIFF ) ) ); //$NON-NLS-1$
addBinding ( ctx.bindValue ( SWTObservables.observeText ( this.button ), EMFObservables.observeValue ( controller, ChartPackage.Literals.TIME_SHIFT_ACTION__LABEL ) ) );
addBinding ( ctx.bindValue ( SWTObservables.observeTooltipText ( this.button ), EMFObservables.observeValue ( controller, ChartPackage.Literals.TIME_SHIFT_ACTION__DESCRIPTION ) ) );
this.layoutListener = new IValueChangeListener () {
@Override
public void handleValueChange ( final ValueChangeEvent event )
{
space.layout ();
}
};
this.labelProperty = EMFObservables.observeValue ( controller, ChartPackage.Literals.TIME_SHIFT_ACTION__LABEL );
this.labelProperty.addValueChangeListener ( this.layoutListener );
space.layout ();
}
else
{
this.button = null;
}
}
示例12
@Override
protected void bind ()
{
this.model.addValueChangeListener ( new IValueChangeListener () {
@Override
public void handleValueChange ( final ValueChangeEvent event )
{
if ( !SystemMessageLabel.this.label.isDisposed () )
{
process ( event.diff.getNewValue () );
}
}
} );
}
示例13
@Override
protected IObservableValue doCreateElementObservable(final Object element, final ViewerCell viewerCell) {
final IObservableValue observeValue = PojoObservables.observeValue(element, "name");
observeValue.addValueChangeListener(new ColumnViewerUpdateListener(getViewer(), element));
observeValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
final String oldInformationName = (String) event.diff.getOldValue();
final String newInformationName = (String) event.diff.getNewValue();
for(final User user : organization.getUsers().getUser()){
updateCustomUserInformationName(user, oldInformationName, newInformationName);
}
}
});
//sort the table after a modification
observeValue.addDisposeListener(new IDisposeListener() {
@Override
public void handleDispose(final DisposeEvent arg0) {
viewer.refresh();
}
});
return observeValue;
}
示例14
private void createDisplayNameField(final Group group) {
final Label displayNameLabel = new Label(group, SWT.NONE);
displayNameLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create());
displayNameLabel.setText(Messages.displayName);
final Text displayNamedText = new Text(group, SWT.BORDER);
displayNamedText.setMessage(Messages.groupNameExample);
displayNamedText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
final IObservableValue displayNameValue = EMFObservables.observeDetailValue(Realm.getDefault(), groupSingleSelectionObservable,
OrganizationPackage.Literals.GROUP__DISPLAY_NAME);
final Binding binding = context.bindValue(SWTObservables.observeText(displayNamedText, SWT.Modify), displayNameValue,
UpdateStrategyFactory.updateValueStrategy()
.withValidator(maxLengthValidator(Messages.displayName, LONG_FIELD_MAX_LENGTH)).create(),
null);
ControlDecorationSupport.create(binding, SWT.LEFT);
displayNameValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
handleGroupDisplayName(event);
}
});
}
示例15
@Override
protected void configureViewer(final StructuredViewer viewer) {
final TableViewer roleTableViewer = (TableViewer) viewer;
final Table table = roleTableViewer.getTable();
roleSingleSelectionObservable = ViewersObservables.observeSingleSelection(getViewer());
roleSingleSelectionObservable.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
final Role selectedRole = (Role) event.diff.getNewValue();
final boolean isSelectedRole = selectedRole != null;
setControlEnabled(getInfoGroup(), isSelectedRole);
roleMemberShips.clear();
for (final Membership m : membershipList) {
if (Objects.equals(selectedRole.getName(),m.getRoleName())) {
roleMemberShips.add(m);
}
}
}
});
addNameColumn(roleTableViewer);
addDisplayNameColumn(roleTableViewer);
addDescriptionColumn(roleTableViewer);
addTableColumLayout(table);
if (roleList != null && getViewer() != null) {
getViewer().setInput(roleList);
}
}
示例16
private void createNameField(final Group group) {
final Label roleName = new Label(group, SWT.NONE);
roleName.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create());
roleName.setText(Messages.name + " *");
final Text roleNameText = new Text(group, SWT.BORDER);
roleNameText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).minSize(130, SWT.DEFAULT).create());
final IObservableValue roleNameValue = EMFObservables.observeDetailValue(Realm.getDefault(),
roleSingleSelectionObservable, OrganizationPackage.Literals.ROLE__NAME);
final Binding binding = context.bindValue(SWTObservables.observeText(roleNameText, SWT.Modify),
roleNameValue,
updateValueStrategy().withValidator(multiValidator()
.addValidator(mandatoryValidator(Messages.name))
.addValidator(maxLengthValidator(Messages.name, LONG_FIELD_MAX_LENGTH))
.addValidator(new UniqueRoleNameValidator()).create()).create(),
null);
ControlDecorationSupport.create(binding, SWT.LEFT, group, new ControlDecorationUpdater() {
@Override
protected void update(final ControlDecoration decoration, final IStatus status) {
if (roleSingleSelectionObservable.getValue() != null) {
super.update(decoration, status);
}
}
});
roleNameValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
handleRoleNameChange(event);
}
});
}
示例17
private void createSingleMultipleRadioGroup(final Composite parent, final EMFDataBindingContext emfDataBindingContext) {
//FILLER
final Label filler = new Label(parent, SWT.NONE);
filler.setLayoutData(GridDataFactory.swtDefaults().grab(false, false).create());
final Composite radioContainer = new Composite(parent, SWT.NONE);
radioContainer.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(0, 0).create());
radioContainer.setLayoutData(GridDataFactory.swtDefaults().grab(true, false).create());
final Button radioButtonSingle = createRadioButtonSingle(radioContainer);
final Button radioButtonMultiple = createRadioButtonMultiple(radioContainer);
final SelectObservableValue isMultipleObservableValue = new SelectObservableValue(Boolean.class);
isMultipleObservableValue.addOption(false, SWTObservables.observeSelection(radioButtonSingle));
isMultipleObservableValue.addOption(true, SWTObservables.observeSelection(radioButtonMultiple));
final IObservableValue multipleObserveValue = EMFObservables.observeValue(document, ProcessPackage.Literals.DOCUMENT__MULTIPLE);
emfDataBindingContext.bindValue(
isMultipleObservableValue,
multipleObserveValue);
multipleObserveValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
validate(emfDataBindingContext);
}
});
}
示例18
private void createDocumentTypeRadioButtonComposition(final Composite parent, final EMFDataBindingContext emfDataBindingContext) {
final Composite compo = new Composite(parent, SWT.NONE);
compo.setLayout(GridLayoutFactory.fillDefaults().numColumns(4).spacing(10, 5).create());
compo.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
final Button radioButtonNone = createRadioButtonNone(compo);
final Button radioButtonContract = createRadioButtonContract(compo);
final Button radioButtonInternal = createRadioButtonInternal(compo);
final Button radioButtonExternal = createRadioButtonExternal(compo);
final SelectObservableValue documentTypeObservableValue = new SelectObservableValue(DocumentType.class);
documentTypeObservableValue.addOption(DocumentType.NONE, SWTObservables.observeSelection(radioButtonNone));
documentTypeObservableValue.addOption(DocumentType.CONTRACT, SWTObservables.observeSelection(radioButtonContract));
documentTypeObservableValue.addOption(DocumentType.EXTERNAL, SWTObservables.observeSelection(radioButtonExternal));
documentTypeObservableValue.addOption(DocumentType.INTERNAL, SWTObservables.observeSelection(radioButtonInternal));
final IObservableValue documentTypeObservable = EMFObservables.observeValue(document, ProcessPackage.Literals.DOCUMENT__DOCUMENT_TYPE);
emfDataBindingContext.bindValue(
documentTypeObservableValue,
documentTypeObservable);
documentTypeObservable.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
validate(emfDataBindingContext);
}
});
}
示例19
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());
}
});
}
示例20
@Override
protected void createContent(final Composite parent) {
context = new EMFDataBindingContext();
final TabbedPropertySheetWidgetFactory widgetFactory = getWidgetFactory();
final Composite composite = widgetFactory.createPlainComposite(parent, SWT.NONE);
composite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(10, 5).create());
composite.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
final SelectObservableValue recurrenceTypeObservable = createRecurrenceTypeRadioGroup(composite, widgetFactory);
final Composite stackedComposite = widgetFactory.createPlainComposite(composite, SWT.NONE);
stackedComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
final StackLayout stackLayout = new StackLayout();
stackedComposite.setLayout(stackLayout);
final Composite noneComposite = widgetFactory.createComposite(stackedComposite, SWT.NONE);
final Composite standardLoopContent = createStandardLoopContent(stackedComposite, widgetFactory);
final Composite multiInstanceContent = createMultiInstanceContent(stackedComposite, widgetFactory);
recurrenceTypeObservable.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
final MultiInstanceType type = (MultiInstanceType) event.diff.getNewValue();
switch (type) {
case NONE:
stackLayout.topControl = noneComposite;
break;
case STANDARD:
stackLayout.topControl = standardLoopContent;
break;
default:
stackLayout.topControl = multiInstanceContent;
break;
}
stackedComposite.layout();
}
});
}
示例21
@Override
protected Binding createBinding(final IObservableValue target, final IObservableValue model) {
final Binding binding = dbc.bindValue(target, model, targetToModelConvertStrategy(observedElement(model)), null);
final IObservableValue validationStatus = binding.getValidationStatus();
validationStatus.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
validationStatusChanged((IStatus) event.diff.getNewValue());
}
});
return binding;
}
示例22
/**
* Setup additional non-component contained bindings
*/
protected void setupBindings() {
DataBindingContext dataBindingContext = this.getDataBindingContext();
IObservableValue<String> moduleSpecifierValue = BeanProperties
.value(WorkspaceWizardModel.class, WorkspaceWizardModel.MODULE_SPECIFIER_PROPERTY, String.class)
.observe(getModel());
IObservableValue<Boolean> suffixVisibilityValue = BeanProperties
.value(SuffixText.class, SuffixText.SUFFIX_VISIBILITY_PROPERTY, Boolean.class)
.observe(workspaceWizardControl.getModuleSpecifierText());
//// Only show the suffix on input values ending with a '/' character or empty module specifiers.
dataBindingContext.bindValue(suffixVisibilityValue, moduleSpecifierValue, noUpdateValueStrategy(),
WizardComponentDataConverters.strategyForPredicate(m -> {
String moduleSpecifier = (String) m;
return (moduleSpecifier.isEmpty()
|| moduleSpecifier.charAt(moduleSpecifier.length() - 1) == IPath.SEPARATOR);
}));
//// interface name to module specifier suffix binding
IObservableValue<String> interfaceNameModelValue = BeanProperties
.value(N4JSClassifierWizardModel.class, N4JSClassifierWizardModel.NAME_PROPERTY, String.class)
.observe(getModel());
IObservableValue<String> greySuffixValue = BeanProperties
.value(SuffixText.class, SuffixText.SUFFIX_PROPERTY, String.class)
.observe(workspaceWizardControl.getModuleSpecifierText());
dataBindingContext.bindValue(greySuffixValue,
interfaceNameModelValue, noUpdateValueStrategy(),
new UpdateValueStrategy<>(UpdateValueStrategy.POLICY_UPDATE));
//// Enable n4js <-> Definition value(external) is selected
IObservableValue<Boolean> externalValue = BeanProperties
.value(DefinitionFileModel.class, N4JSClassifierWizardModel.DEFINITION_FILE_PROPERTY, Boolean.class)
.observe((DefinitionFileModel) getModel());
IObservableValue<Boolean> n4jsEnabled = WidgetProperties.enabled()
.observe(otherClassifierModifiersComponent.getN4jsAnnotationBox());
dataBindingContext.bindValue(n4jsEnabled, externalValue, noUpdateValueStrategy(),
WizardComponentDataConverters.strategyForPredicate(input -> getModel().isDefinitionFile()
&& AccessModifier.PRIVATE != getModel().getAccessModifier()));
// One way binding of the access modifiers to the enabled state of internal checkbox
IObservableValue<Boolean> internalEnabledValue = WidgetProperties.enabled()
.observe(accessModifierComponent.getInternalAnnotationBox());
IObservableValue<AccessModifier> accessModifierSelectObservable = BeanProperties
.value(N4JSClassifierWizardModel.class, N4JSClassifierWizardModel.ACCESS_MODIFIER_PROPERTY,
AccessModifier.class)
.observe(getModel());
dataBindingContext.bindValue(internalEnabledValue, accessModifierSelectObservable, noUpdateValueStrategy(),
WizardComponentDataConverters.strategyForPredicate(object -> {
if (object instanceof AccessModifier) {
return isInternalAccessModifierEnabled((AccessModifier) object);
}
return false;
}));
// N4JS annotation checkbox disabled when access modifier is private
IObservableValue<Boolean> n4jsEnabledValue = WidgetProperties.enabled()
.observe(otherClassifierModifiersComponent.getN4jsAnnotationBox());
dataBindingContext.bindValue(n4jsEnabledValue, accessModifierSelectObservable, noUpdateValueStrategy(),
WizardComponentDataConverters.strategyForPredicate(object -> {
if (object instanceof AccessModifier) {
return ((AccessModifier) object != AccessModifier.PRIVATE) && getModel().isDefinitionFile();
}
return false;
}));
// Refresh wizard state on validation change
IObservableValue<ValidationResult> observableValidationValue = BeanProperties
.value(WorkspaceWizardModelValidator.VALIDATION_RESULT, ValidationResult.class)
.observe(getValidator());
observableValidationValue.addValueChangeListener(new IValueChangeListener<ValidationResult>() {
@Override
public void handleValueChange(ValueChangeEvent<? extends ValidationResult> event) {
onValidationChange(event.diff.getNewValue());
}
});
}
示例23
public ScaleActionController ( final ControllerManager controllerManager, final ChartContext chartContext, final ScaleAction controller )
{
super ( controllerManager.getContext (), chartContext, controller );
final DataBindingContext ctx = controllerManager.getContext ();
final Composite space = chartContext.getExtensionSpaceProvider ().getExtensionSpace ();
if ( space != null )
{
this.button = new Button ( space, SWT.PUSH );
this.button.addSelectionListener ( new SelectionAdapter () {
@Override
public void widgetSelected ( final SelectionEvent e )
{
action ();
};
} );
addBinding ( ctx.bindValue ( PojoObservables.observeValue ( this, "milliseconds" ), EMFObservables.observeValue ( controller, ChartPackage.Literals.SCALE_ACTION__TIMESPAN ) ) ); //$NON-NLS-1$
addBinding ( ctx.bindValue ( SWTObservables.observeText ( this.button ), EMFObservables.observeValue ( controller, ChartPackage.Literals.SCALE_ACTION__LABEL ) ) );
addBinding ( ctx.bindValue ( SWTObservables.observeTooltipText ( this.button ), EMFObservables.observeValue ( controller, ChartPackage.Literals.SCALE_ACTION__DESCRIPTION ) ) );
this.layoutListener = new IValueChangeListener () {
@Override
public void handleValueChange ( final ValueChangeEvent event )
{
space.layout ();
}
};
this.labelProperty = EMFObservables.observeValue ( controller, ChartPackage.Literals.SCALE_ACTION__LABEL );
this.labelProperty.addValueChangeListener ( this.layoutListener );
space.layout ();
}
else
{
this.button = null;
}
}
示例24
public ChartViewer ( final Display display, final ChartRenderer chartRenderer, final Chart chart, final ExtensionSpaceProvider extensionSpaceProvider, final ResetHandler resetHandler )
{
this.chart = chart;
this.display = display;
this.resourceManager = new LocalResourceManager ( JFaceResources.getResources ( this.display ) );
this.ctx = new DataBindingContext ( SWTObservables.getRealm ( this.display ) );
final AggregateValidationStatus status = new AggregateValidationStatus ( this.ctx, AggregateValidationStatus.MERGED );
status.addValueChangeListener ( new IValueChangeListener () {
@Override
public void handleValueChange ( final ValueChangeEvent event )
{
if ( event.diff.getNewValue () == null )
{
return;
}
final Status value = (Status)event.diff.getNewValue ();
if ( value.isOK () || value.getException () == null )
{
return;
}
logger.warn ( "Changed", value.getException () );
}
} );
// create content
this.manager = chartRenderer;
this.manager.setStale ( true );
this.realm = new DisplayRealm ( this.display );
this.manager.createDropTarget ( new Transfer[] { LocalSelectionTransfer.getTransfer () }, createDropTarget () );
this.titleRenderer = new TitleRenderer ( this.manager );
this.manager.addRenderer ( this.titleRenderer, -100 );
this.leftManager = new YAxisManager ( this.ctx, this.manager, true );
this.ctx.bindList ( this.leftManager.getList (), EMFObservables.observeList ( chart, ChartPackage.Literals.CHART__LEFT ) );
this.rightManager = new YAxisManager ( this.ctx, this.manager, false );
this.ctx.bindList ( this.rightManager.getList (), EMFObservables.observeList ( chart, ChartPackage.Literals.CHART__RIGHT ) );
this.topManager = new XAxisManager ( this.ctx, this.manager, true );
this.ctx.bindList ( this.topManager.getList (), EMFObservables.observeList ( chart, ChartPackage.Literals.CHART__TOP ) );
this.bottomManager = new XAxisManager ( this.ctx, this.manager, false );
this.ctx.bindList ( this.bottomManager.getList (), EMFObservables.observeList ( chart, ChartPackage.Literals.CHART__BOTTOM ) );
this.xLocator = new SimpleAxisLocator<XAxis, XAxisViewer> ( this.topManager, this.bottomManager );
this.yLocator = new SimpleAxisLocator<YAxis, YAxisViewer> ( this.leftManager, this.rightManager );
this.inputManager = new InputManager ( this.ctx, this, this.resourceManager, this.xLocator, this.yLocator );
this.ctx.bindList ( this.inputManager.getList (), EMFObservables.observeList ( chart, ChartPackage.Literals.CHART__INPUTS ) );
this.ctx.bindValue ( PojoObservables.observeValue ( this.titleRenderer, "title" ), EMFObservables.observeValue ( this.chart, ChartPackage.Literals.CHART__TITLE ) ); //$NON-NLS-1$
this.ctx.bindValue ( PojoObservables.observeValue ( this, "showCurrentTimeRuler" ), EMFObservables.observeValue ( this.chart, ChartPackage.Literals.CHART__SHOW_CURRENT_TIME_RULER ) ); //$NON-NLS-1$
this.ctx.bindValue ( PojoObservables.observeValue ( this, "mutable" ), EMFObservables.observeValue ( this.chart, ChartPackage.Literals.CHART__MUTABLE ) ); //$NON-NLS-1$
this.ctx.bindValue ( PojoObservables.observeValue ( this, "hoverable" ), EMFObservables.observeValue ( this.chart, ChartPackage.Literals.CHART__HOVERABLE ) ); //$NON-NLS-1$
this.ctx.bindValue ( PojoObservables.observeValue ( this, "chartBackground" ), EMFObservables.observeValue ( this.chart, ChartPackage.Literals.CHART__BACKGROUND_COLOR ) ); //$NON-NLS-1$
this.ctx.bindValue ( PojoObservables.observeValue ( this, "timeRulerAxis" ), EMFObservables.observeValue ( this.chart, ChartPackage.Literals.CHART__TIME_RULER_AXIS ) ); //$NON-NLS-1$
this.ctx.bindList ( this.selectedXAxis, EMFObservables.observeList ( chart, ChartPackage.Literals.CHART__SELECTED_XAXIS ), null, new UpdateListStrategy ().setConverter ( new AxisConverter<> ( XAxis.class, org.eclipse.scada.chart.XAxis.class, this.xLocator ) ) );
this.chartContext = new ChartContextImpl ( this.xLocator, this.yLocator, extensionSpaceProvider, chartRenderer, chart, resetHandler, this.unmodItems );
this.controllerManager = new ControllerManager ( this.ctx, this.ctx.getValidationRealm (), this.chartContext );
this.ctx.bindList ( this.controllerManager.getList (), EMFObservables.observeList ( chart, ChartPackage.Literals.CHART__CONTROLLERS ) );
this.profileManager = new ProfileManager ( this.ctx, this.ctx.getValidationRealm (), extensionSpaceProvider, this.chartContext );
this.ctx.bindList ( this.profileManager.getList (), EMFObservables.observeList ( chart, ChartPackage.Literals.CHART__PROFILES ) );
this.ctx.bindValue ( PojoObservables.observeValue ( this.profileManager, "type" ), EMFObservables.observeValue ( chart, ChartPackage.Literals.CHART__PROFILE_SWITCHER_TYPE ) ); //$NON-NLS-1$
this.ctx.bindValue ( PojoObservables.observeValue ( this.profileManager, "activeProfile" ), EMFObservables.observeValue ( chart, ChartPackage.Literals.CHART__ACTIVE_PROFILE ) ); //$NON-NLS-1$
this.manager.setStale ( false );
startTimer ();
this.manager.addDisposeListener ( new DisposeListener () {
@Override
public void onDispose ()
{
handleDispose ();
}
} );
setSelection ( new StructuredSelection ( this ) );
updateState ();
}
示例25
protected void createDataModel ( final TreeViewer viewer )
{
final DataBindingContext dbc = new DataBindingContext ();
final IObservableFactory listFactory = new IObservableFactory () {
@Override
public IObservable createObservable ( final Object target )
{
if ( target instanceof IObservableList )
{
return (IObservableList)target;
}
else if ( target instanceof World )
{
return EMFObservables.observeList ( (EObject)target, InfrastructurePackage.Literals.WORLD__NODES );
}
else if ( target instanceof SystemNode )
{
return EMFObservables.observeList ( (EObject)target, InfrastructurePackage.Literals.SYSTEM_NODE__DRIVERS );
}
return null;
}
};
final AdapterFactory adapterFactory = new InfrastructureItemProviderAdapterFactory ();
final AdapterFactoryLabelProvider labelProvider = new AdapterFactoryLabelProvider ( adapterFactory );
final ObservableListTreeContentProvider cp = new ObservableListTreeContentProvider ( listFactory, null );
viewer.setContentProvider ( cp );
viewer.setLabelProvider ( labelProvider );
viewer.setInput ( EMFObservables.observeList ( this.world, InfrastructurePackage.Literals.WORLD__NODES ) );
dbc.bindValue ( ViewersObservables.observeSingleSelection ( viewer ), this.driverValue );
this.driverValue.addValueChangeListener ( new IValueChangeListener () {
@Override
public void handleValueChange ( final ValueChangeEvent event )
{
update ();
}
} );
viewer.getControl ().addDisposeListener ( new DisposeListener () {
@Override
public void widgetDisposed ( final DisposeEvent e )
{
dbc.dispose ();
}
} );
}
示例26
@Override
protected StructuredViewer createViewer(final Composite parent) {
final FilteredTree fileredTree = new FilteredTree(parent, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION, new PatternFilter(), true);
((Text) ((Composite) fileredTree.getChildren()[0]).getChildren()[0]).setMessage(Messages.search);
fileredTree.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).minSize(200, 200).create());
fileredTree.getViewer().setContentProvider(new GroupContentProvider());
fileredTree.forceFocus();
groupSingleSelectionObservable = ViewersObservables.observeSingleSelection(fileredTree.getViewer());
groupSingleSelectionObservable.addValueChangeListener(new IValueChangeListener() {
private final Adapter groupAdapter = new AdapterImpl() {
/*
* (non-Javadoc)
* @see org.eclipse.emf.common.notify.impl.AdapterImpl#notifyChanged(org.eclipse.emf.common.notify.Notification)
*/
@Override
public void notifyChanged(Notification notification) {
switch (notification.getFeatureID(org.bonitasoft.studio.actors.model.organization.Group.class)) {
case OrganizationPackage.GROUP__NAME:
handleGroupNameChange(notification);
break;
default:
break;
}
super.notifyChanged(notification);
}
};
@Override
public void handleValueChange(final ValueChangeEvent event) {
final org.bonitasoft.studio.actors.model.organization.Group previousGroup = (org.bonitasoft.studio.actors.model.organization.Group) event.diff
.getOldValue();
if (previousGroup != null) {
previousGroup.eAdapters().remove(groupAdapter);
}
final org.bonitasoft.studio.actors.model.organization.Group selectedGroup = (org.bonitasoft.studio.actors.model.organization.Group) event.diff
.getNewValue();
if (selectedGroup != null) {
setControlEnabled(getInfoGroup(), true);
selectedGroup.eAdapters().add(groupAdapter);
addSubGroupButton.setEnabled(true);
} else {
addSubGroupButton.setEnabled(false);
setControlEnabled(getInfoGroup(), false);
}
}
});
return fileredTree.getViewer();
}
示例27
private void createUserNameField(final Composite rightColumnComposite) {
final Label userName = new Label(rightColumnComposite, SWT.NONE);
userName.setLayoutData(GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.CENTER).create());
userName.setText(Messages.userName + " *");
final Text usernameText = new Text(rightColumnComposite, SWT.BORDER);
usernameText.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).indent(5, 0).create());
usernameText.setMessage(Messages.userNameHint);
final UpdateValueStrategy stategy = new UpdateValueStrategy();
stategy.setConverter(new Converter(String.class, String.class) {
@Override
public Object convert(final Object from) {
if (from != null && userSingleSelectionObservable != null
&& userSingleSelectionObservable.getValue() != null) {
final User user = (User) userSingleSelectionObservable.getValue();
updateDelegueeMembership(user.getUserName(), from.toString());
}
return from;
}
});
stategy.setAfterGetValidator(new IValidator() {
@Override
public IStatus validate(final Object value) {
if (isNotUserSelected()) {
return Status.OK_STATUS;
}
if (value.toString().isEmpty()) {
return ValidationStatus.error(Messages.userNameIsEmpty);
}
if (value.toString().length() > NAME_SIZE) {
return ValidationStatus.error(Messages.nameLimitSize);
}
final User currentUser = (User) userSingleSelectionObservable.getValue();
for (final User u : userList) {
if (!u.equals(currentUser)) {
if (u.getUserName().equals(value)) {
return ValidationStatus.error(Messages.userNameAlreadyExists);
}
}
}
return Status.OK_STATUS;
}
});
final IObservableValue userNameValue = EMFObservables.observeDetailValue(Realm.getDefault(),
userSingleSelectionObservable,
OrganizationPackage.Literals.USER__USER_NAME);
final Binding binding = context.bindValue(SWTObservables.observeText(usernameText, SWT.Modify), userNameValue,
stategy, null);
ControlDecorationSupport.create(binding, SWT.LEFT, rightColumnComposite, new ControlDecorationUpdater() {
@Override
protected void update(final ControlDecoration decoration, final IStatus status) {
if (userSingleSelectionObservable.getValue() != null) {
super.update(decoration, status);
}
}
});
userNameValue.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
handleUserNameChange(event);
}
});
}
示例28
private IValueChangeListener handleValidationStatusChanged() {
return event -> statusChanged((IStatus) bindValue.getValidationStatus().getValue());
}
示例29
private void createMultipleComposite(final Composite parent, final EMFDataBindingContext emfDataBindingContext) {
multipleComposite = new Composite(parent, SWT.NONE);
multipleComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
multipleComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(10, 10).create());
final Composite radioContainer = new Composite(multipleComposite, SWT.NONE);
radioContainer.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).margins(0, 0).spacing(10, 5).create());
radioContainer.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).span(2, 1).create());
final Button radioButtonNone = createRadioButtonNone(radioContainer);
final Button radioButtonContract = createRadioButtonContract(radioContainer);
final Button radioButtonScript = createRadioButtonInternal(radioContainer);
radioButtonScript.setText(Messages.initialValueButtonScript);
final SelectObservableValue documentTypeObservableValue = new SelectObservableValue(DocumentType.class);
final ISWTObservableValue scriptObserveSelection = SWTObservables.observeSelection(radioButtonScript);
documentTypeObservableValue.addOption(DocumentType.NONE, SWTObservables.observeSelection(radioButtonNone));
documentTypeObservableValue.addOption(DocumentType.INTERNAL, scriptObserveSelection);
documentTypeObservableValue.addOption(DocumentType.CONTRACT, SWTObservables.observeSelection(radioButtonContract));
final IObservableValue documentTypeObservable = EMFObservables.observeValue(document, ProcessPackage.Literals.DOCUMENT__DOCUMENT_TYPE);
emfDataBindingContext.bindValue(documentTypeObservableValue, documentTypeObservable, null,
updateValueStrategy().withConverter(internalOrExternalToTrue())
.create());
documentTypeObservable.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(final ValueChangeEvent event) {
validate(emfDataBindingContext);
}
});
multipleStackedComposite = new Composite(multipleComposite, SWT.NONE);
multipleStackedComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
multipleStack = new StackLayout();
multipleStackedComposite.setLayout(multipleStack);
multiNoneCompo = new Composite(multipleStackedComposite, SWT.NONE);
multiNoneCompo.setLayoutData(GridDataFactory.swtDefaults().grab(false, false).create());
multipleContractComposite = new MultipleFileContractInputSelectionComposite(multipleStackedComposite);
multipleContractComposite.bindControl(document, context, emfDataBindingContext);
scriptComposite = createScriptComposite(multipleStackedComposite, emfDataBindingContext);
}
示例30
private IValueChangeListener handleValidationStatusChanged() {
return event -> {
statusChanged((IStatus) event.diff.getNewValue());
};
}