protected void firstListenerAdded() { cachedValue = doGetValue(); dateObservable.addChangeListener(privateInterface); dateObservable.addStaleListener(privateInterface); timeObservable.addChangeListener(privateInterface); timeObservable.addStaleListener(privateInterface); }
protected synchronized void firstListenerAdded() { for (int i = 0; i < detailList.size(); i++) { IObservableValue detail = (IObservableValue) detailList.get(i); detail.addValueChangeListener(detailValueListener); detail.addStaleListener(detailStaleListener); if (detail.isStale()) { staleDetailObservables.add(detail); } } }
protected void hookListener(final Object addedKey) { final IObservableValue detailValue = getDetailObservableValue(addedKey); detailValue.addValueChangeListener(new IValueChangeListener() { public void handleValueChange(ValueChangeEvent event) { if (!event.getObservableValue().isStale()) { staleDetailObservables.remove(detailValue); } fireSingleChange(addedKey, event.diff.getOldValue(), event.diff.getNewValue()); } }); detailValue.addStaleListener(detailStaleListener); }
protected StringSplitListObservable ( final IObservableValue value, final String delimiter, final String pattern, final Object valueType ) { super ( value.getRealm (), new LinkedList<Object> (), valueType ); this.value = value; this.pattern = pattern; this.delimiter = delimiter; value.addValueChangeListener ( this.changeListener ); value.addStaleListener ( this.staleListener ); value.addDisposeListener ( this.disposeListener ); }
/** * Constructs a new instance bound to the given * <code>ISWTObservableValue</code> and configured to fire change events * once there have been no value changes in the observable for * <code>delay</code> milliseconds. * * @param delayMillis * @param observable * @throws IllegalArgumentException * if <code>updateEventType</code> is an incorrect type. */ public DelayedObservableValue(int delayMillis, IObservableValue observable) { super(observable.getRealm()); this.delay = delayMillis; this.observable = observable; observable.addValueChangeListener(this); observable.addStaleListener(this); cachedValue = doGetValue(); }
private void addDetailObservable(final Object addedKey) { Object masterElement = masterMap.get(addedKey); IObservableValue detailValue = (IObservableValue) keyDetailMap .get(addedKey); if (detailValue == null) { detailValue = createDetailObservable(masterElement); keyDetailMap.put(addedKey, detailValue); detailValue.addValueChangeListener(new IValueChangeListener() { public void handleValueChange(ValueChangeEvent event) { if (!event.getObservableValue().isStale()) { staleDetailObservables.remove(event.getSource()); } fireMapChange(Diffs.createMapDiffSingleChange(addedKey, event.diff.getOldValue(), event.diff.getNewValue())); } }); if (detailValue.isStale()) { addStaleDetailObservable(detailValue); } } detailValue.addStaleListener(detailStaleListener); }
/** * Constructs an observable value * * @param target * the observable value to be wrapped * @param validationStatus * an observable value of type {@link IStatus}.class which * contains the current validation status */ public ValidatedObservableValue(IObservableValue<T> target, IObservableValue<IStatus> validationStatus) { super(target.getRealm()); Assert.isNotNull(validationStatus, "Validation status observable cannot be null"); //$NON-NLS-1$ Assert.isTrue(target.getRealm().equals(validationStatus.getRealm()), "Target and validation status observables must be on the same realm"); //$NON-NLS-1$ this.target = target; this.validationStatus = validationStatus; this.cachedValue = target.getValue(); target.addValueChangeListener(targetChangeListener); target.addStaleListener(targetStaleListener); validationStatus.addValueChangeListener(validationStatusChangeListener); }
/** * Constructs an observable value * * @param target * the observable value to be wrapped * @param validationStatus * an observable value of type {@link IStatus}.class which * contains the current validation status */ public ValidatedObservableValue(IObservableValue target, IObservableValue validationStatus) { super(target.getRealm()); Assert.isNotNull(validationStatus, "Validation status observable cannot be null"); //$NON-NLS-1$ Assert .isTrue(target.getRealm().equals(validationStatus.getRealm()), "Target and validation status observables must be on the same realm"); //$NON-NLS-1$ this.target = target; this.validationStatus = validationStatus; this.cachedValue = target.getValue(); target.addValueChangeListener(targetChangeListener); target.addStaleListener(targetStaleListener); validationStatus.addValueChangeListener(validationStatusChangeListener); }
/** * Constructs an observable value * * @param target * the observable value to be wrapped * @param validationStatus * an observable value of type {@link IStatus}.class which * contains the current validation status */ public ValidatedObservableValue(IObservableValue target, IObservableValue validationStatus) { super(target.getRealm()); Assert.isNotNull(validationStatus, "Validation status observable cannot be null"); //$NON-NLS-1$ Assert .isTrue(target.getRealm().equals(validationStatus.getRealm()), "Target and validation status observables must be on the same realm"); //$NON-NLS-1$ this.target = target; this.validationStatus = validationStatus; this.cachedValue = target.getValue(); target.addValueChangeListener(targetChangeListener); target.addStaleListener(targetStaleListener); validationStatus.addValueChangeListener(validationStatusChangeListener); }
private Object addDetailObservable(Object masterElement, int index) { DetailEntry detailEntry = (DetailEntry) masterDetailMap .get(masterElement); if (detailEntry != null) { // If we already have a detail observable for the given // masterElement, we increment the reference count. detailEntry.masterReferenceCount++; detailList.add(index, detailEntry.detailObservable); return detailEntry.detailObservable.getValue(); } IObservableValue detail = createDetailObservable(masterElement); masterDetailMap.put(masterElement, new DetailEntry(detail)); detailList.add(index, detail); if (hasListeners()) { detail.addValueChangeListener(detailValueListener); detail.addStaleListener(detailStaleListener); if (detail.isStale()) { staleDetailObservables.add(detail); } } return detail.getValue(); }
.addValueChangeListener(event -> statusProviderChanged()); dialogPage.getShell().addListener(SWT.Dispose, event -> dispose()); aggregateStatusProvider.addStaleListener(new IStaleListener() { @Override public void handleStale(StaleEvent staleEvent) {