ExampleBinding.java
上传用户:hengxinggs
上传日期:2008-01-15
资源大小:212k
文件大小:3k
源码类别:

PlugIns编程

开发平台:

Java

  1. package org.eclipse.jface.examples.databinding;
  2. import org.eclipse.jface.databinding.BeanUpdatableFactory;
  3. import org.eclipse.jface.databinding.DataBinding;
  4. import org.eclipse.jface.databinding.IDataBindingContext;
  5. import org.eclipse.jface.databinding.IUpdatableFactory;
  6. import org.eclipse.jface.databinding.swt.SWTUpdatableFactory;
  7. import org.eclipse.jface.databinding.viewers.ViewersUpdatableFactory;
  8. import org.eclipse.swt.widgets.Control;
  9. /**
  10.  * An example application-level data binding factory implementation. This should
  11.  * be copied into your application and be modified to include the specific
  12.  * updatable factories your application needs in the order it needs them.
  13.  * <p>
  14.  * Note that the search order for IUpdatableFactory implementations is last to
  15.  * first.
  16.  * </p>
  17.  * 
  18.  * @since 3.2
  19.  */
  20. public class ExampleBinding {
  21. /**
  22.  * Creates a data binding context whose lifecycle is bound to an SWT
  23.  * control, and which supports binding to SWT controls, JFace viewers, and
  24.  * POJO model objects with JavaBeans-style notification.
  25.  * <p>
  26.  * This method is a convenience method; its implementation is equivalent to
  27.  * calling {@link DataBinding#createContext(Control, IUpdatableFactory[]) }
  28.  * where the array of factories consists of a {@link BeanUpdatableFactory}
  29.  * instance, a {@link SWTUpdatableFactory}, and a
  30.  * {@link ViewersUpdatableFactory}.
  31.  * </p>
  32.  * 
  33.  * @param control
  34.  * @return a data binding context
  35.  */
  36. public static IDataBindingContext createContext(Control control) {
  37. return DataBinding.createContext(control, new IUpdatableFactory[] {
  38. new BeanUpdatableFactory(), new SWTUpdatableFactory(),
  39. new ViewersUpdatableFactory() });
  40. }
  41. /**
  42.  * Creates a data binding context which supports binding to SWT controls,
  43.  * JFace viewers, and POJO model objects with JavaBeans-style notification.
  44.  * This data binding context's life cycle is not bound to the dispose event
  45.  * of any SWT control. Consequently, the programmer is responsible to
  46.  * manually dispose any IUpdatables created using this data binding context
  47.  * as necessary.
  48.  * <p>
  49.  * This method is a convenience method; its implementation is equivalent to
  50.  * calling {@link DataBinding#createContext(Control, IUpdatableFactory[]) }
  51.  * where the array of factories consists of a {@link BeanUpdatableFactory}
  52.  * instance, a {@link SWTUpdatableFactory}, and a
  53.  * {@link ViewersUpdatableFactory}.
  54.  * </p>
  55.  * 
  56.  * @return a data binding context
  57.  */
  58. public static IDataBindingContext createContext() {
  59. return DataBinding.createContext(new IUpdatableFactory[] {
  60. new BeanUpdatableFactory(), new SWTUpdatableFactory(),
  61. new ViewersUpdatableFactory() });
  62. }
  63. }