Package org.eclipse.core.databinding.observable.value

Examples of org.eclipse.core.databinding.observable.value.IObservableValue


   */
  public static IObservableValue observeDetailValue(Realm realm,
      IObservableValue master, String propertyName, Class propertyType) {
    warnIfDifferentRealms(realm, master.getRealm());

    IObservableValue value = MasterDetailObservables.detailValue(master,
        BeanProperties.value(propertyName, propertyType).valueFactory(
            realm), propertyType);
    return new BeanObservableValueDecorator(value, BeanPropertyHelper
        .getValueTypePropertyDescriptor(master, propertyName));
  }
View Full Code Here


  public static IObservableValue observeDetailValue(Realm realm,
      IObservableValue master, Class masterType, String propertyName,
      Class propertyType) {
    warnIfDifferentRealms(realm, master.getRealm());
    Assert.isNotNull(masterType, "masterType cannot be null"); //$NON-NLS-1$
    IObservableValue value = MasterDetailObservables.detailValue(master,
        BeanProperties.value(masterType, propertyName, propertyType)
            .valueFactory(realm), propertyType);
    return new BeanObservableValueDecorator(value, BeanPropertyHelper
        .getPropertyDescriptor(masterType, propertyName));
  }
View Full Code Here

   */
  public static IObservableValue observeDetailValue(Realm realm,
      IObservableValue master, String propertyName, Class propertyType) {
    BeansObservables.warnIfDifferentRealms(realm, master.getRealm());

    IObservableValue value = MasterDetailObservables.detailValue(master,
        PojoProperties.value(propertyName, propertyType).valueFactory(
            realm), propertyType);
    return new BeanObservableValueDecorator(value, BeanPropertyHelper
        .getValueTypePropertyDescriptor(master, propertyName));
  }
View Full Code Here

    public void handleStale(StaleEvent event) {
      fireStale(event.getObservable());
    }

    protected void doAddTo(Object source) {
      IObservableValue observable = (IObservableValue) source;
      observable.addValueChangeListener(this);
      observable.addStaleListener(this);
    }
View Full Code Here

      observable.addValueChangeListener(this);
      observable.addStaleListener(this);
    }

    protected void doRemoveFrom(Object source) {
      IObservableValue observable = (IObservableValue) source;
      observable.removeValueChangeListener(this);
      observable.removeStaleListener(this);
    }
View Full Code Here

    handleMasterListChange(initMasterDiff);
  }

  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);
      }
    }
  }
View Full Code Here

    if (isDisposed()) {
      return;
    }

    for (int i = 0; i < detailList.size(); i++) {
      IObservableValue detail = (IObservableValue) detailList.get(i);
      detail.removeValueChangeListener(detailValueListener);
      detail.removeStaleListener(detailStaleListener);
    }
    staleDetailObservables.clear();
  }
View Full Code Here

      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();
  }
View Full Code Here

    return detail.getValue();
  }

  private Object removeDetailObservable(Object masterElement, int index) {
    IObservableValue detail = (IObservableValue) detailList.remove(index);
    Object detailValue = detail.getValue();

    DetailEntry detailEntry = (DetailEntry) masterDetailMap
        .get(masterElement);

    // We may only dispose the detail observable ASA there are no more
    // masters referencing it.
    detailEntry.masterReferenceCount--;
    if (detailEntry.masterReferenceCount == 0) {
      masterDetailMap.remove(masterElement);
      staleDetailObservables.remove(detail);
      detail.dispose();
    }

    return detailValue;
  }
View Full Code Here

    return detailValue;
  }

  private void handleDetailValueChange(ValueChangeEvent event) {
    IObservableValue detail = event.getObservableValue();

    // When we get a change event on a detail observable, we must find its
    // position while there may also be duplicate entries.
    BitSet detailIndexes = new BitSet();
    for (int i = 0; i < detailList.size(); i++) {
View Full Code Here

TOP

Related Classes of org.eclipse.core.databinding.observable.value.IObservableValue

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.