Mercurial > projects > dwt2
annotate org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet020TreeViewerWithSetFactory.d @ 100:e884642ad36e
more work on examples
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 23 Apr 2009 00:02:38 +0200 |
parents | 5d5bd660917f |
children |
rev | line source |
---|---|
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
1 /******************************************************************************* |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
2 * Copyright (c) 2005, 2008 IBM Corporation and others. |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
7 * |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
8 * Contributors: |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
10 * Matthew Hall - bugs 260329, 260337 |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
11 *******************************************************************************/ |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
12 module org.eclipse.jface.examples.databinding.snippets.Snippet020TreeViewerWithSetFactory; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
13 |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
14 import java.lang.all; |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
15 |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
16 import java.beans.PropertyChangeListener; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
17 import java.beans.PropertyChangeSupport; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
18 import java.util.HashSet; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
19 import java.util.Set; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
20 |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
21 import org.eclipse.core.databinding.DataBindingContext; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
22 import org.eclipse.core.databinding.beans.BeanProperties; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
23 import org.eclipse.core.databinding.beans.BeansObservables; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
24 import org.eclipse.core.databinding.observable.Realm; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
25 import org.eclipse.core.databinding.observable.value.ComputedValue; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
26 import org.eclipse.core.databinding.observable.value.IObservableValue; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
27 import org.eclipse.core.databinding.observable.value.WritableValue; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
28 import org.eclipse.jface.databinding.swt.SWTObservables; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
29 import org.eclipse.jface.databinding.viewers.ViewerSupport; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
30 import org.eclipse.jface.databinding.viewers.ViewersObservables; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
31 import org.eclipse.jface.viewers.IStructuredSelection; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
32 import org.eclipse.jface.viewers.StructuredSelection; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
33 import org.eclipse.jface.viewers.TreeViewer; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
34 import org.eclipse.jface.viewers.ViewerComparator; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
35 import org.eclipse.swt.SWT; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
36 import org.eclipse.swt.events.SelectionAdapter; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
37 import org.eclipse.swt.events.SelectionEvent; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
38 import org.eclipse.swt.layout.GridData; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
39 import org.eclipse.swt.layout.GridLayout; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
40 import org.eclipse.swt.layout.RowLayout; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
41 import org.eclipse.swt.widgets.Button; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
42 import org.eclipse.swt.widgets.Composite; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
43 import org.eclipse.swt.widgets.Display; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
44 import org.eclipse.swt.widgets.Label; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
45 import org.eclipse.swt.widgets.Shell; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
46 import org.eclipse.swt.widgets.Text; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
47 import org.eclipse.swt.widgets.Tree; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
48 import org.eclipse.swt.widgets.TreeItem; |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
49 |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
50 public class Snippet020TreeViewerWithSetFactory { |
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
51 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
52 private Button pasteButton; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
53 private Button copyButton; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
54 private Shell shell; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
55 private Button addChildBeanButton; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
56 private Button removeBeanButton; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
57 private TreeViewer beanViewer; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
58 private Tree tree; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
59 private Text beanText; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
60 private DataBindingContext m_bindingContext; |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
61 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
62 private Bean input = createBean("input"); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
63 private IObservableValue clipboard; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
64 static int counter = 0; |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
65 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
66 /** |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
67 * Launch the application |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
68 * |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
69 * @param args |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
70 */ |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
71 public static void main(String[] args) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
72 Display display = Display.getDefault(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
73 Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
74 public void run() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
75 try { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
76 Snippet020TreeViewerWithSetFactory window = new Snippet020TreeViewerWithSetFactory(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
77 window.open(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
78 } catch (Exception e) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
79 e.printStackTrace(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
80 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
81 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
82 }); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
83 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
84 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
85 /** |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
86 * Open the window |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
87 */ |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
88 public void open() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
89 final Display display = Display.getDefault(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
90 createContents(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
91 shell.open(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
92 shell.layout(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
93 while (!shell.isDisposed()) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
94 if (!display.readAndDispatch()) |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
95 display.sleep(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
96 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
97 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
98 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
99 /** |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
100 * Create contents of the window |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
101 */ |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
102 protected void createContents() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
103 shell = new Shell(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
104 final GridLayout gridLayout_1 = new GridLayout(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
105 gridLayout_1.numColumns = 2; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
106 shell.setLayout(gridLayout_1); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
107 shell.setSize(535, 397); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
108 shell.setText("SWT Application"); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
109 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
110 final Composite group = new Composite(shell, SWT.NONE); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
111 final RowLayout rowLayout = new RowLayout(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
112 rowLayout.marginTop = 0; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
113 rowLayout.marginRight = 0; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
114 rowLayout.marginLeft = 0; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
115 rowLayout.marginBottom = 0; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
116 rowLayout.pack = false; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
117 group.setLayout(rowLayout); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
118 group |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
119 .setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
120 2, 1)); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
121 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
122 final Button addRootButton = new Button(group, SWT.NONE); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
123 addRootButton.addSelectionListener(new SelectionAdapter() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
124 public void widgetSelected(final SelectionEvent e) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
125 Set set = input.getSet(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
126 Bean root = createBean("root"); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
127 set.add(root); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
128 input.setSet(set); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
129 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
130 beanViewer.setSelection(new StructuredSelection(root)); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
131 beanText.selectAll(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
132 beanText.setFocus(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
133 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
134 }); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
135 addRootButton.setText("Add Root"); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
136 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
137 addChildBeanButton = new Button(group, SWT.NONE); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
138 addChildBeanButton.addSelectionListener(new SelectionAdapter() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
139 public void widgetSelected(final SelectionEvent e) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
140 Bean parent = getSelectedBean(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
141 Set set = new HashSet(parent.getSet()); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
142 Bean child = createBean("child" + (counter++)); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
143 set.add(child); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
144 parent.setSet(set); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
145 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
146 // beanViewer.setSelection(new StructuredSelection(parent)); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
147 // beanText.selectAll(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
148 // beanText.setFocus(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
149 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
150 }); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
151 addChildBeanButton.setText("Add Child"); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
152 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
153 removeBeanButton = new Button(group, SWT.NONE); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
154 removeBeanButton.addSelectionListener(new SelectionAdapter() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
155 public void widgetSelected(final SelectionEvent e) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
156 TreeItem selectedItem = beanViewer.getTree().getSelection()[0]; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
157 Bean bean = (Bean) selectedItem.getData(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
158 TreeItem parentItem = selectedItem.getParentItem(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
159 Bean parent; |
100 | 160 if (parentItem is null) |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
161 parent = input; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
162 else |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
163 parent = (Bean) parentItem.getData(); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
164 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
165 Set set = new HashSet(parent.getSet()); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
166 set.remove(bean); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
167 parent.setSet(set); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
168 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
169 }); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
170 removeBeanButton.setText("Remove"); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
171 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
172 copyButton = new Button(group, SWT.NONE); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
173 copyButton.addSelectionListener(new SelectionAdapter() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
174 public void widgetSelected(final SelectionEvent e) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
175 clipboard.setValue(getSelectedBean()); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
176 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
177 }); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
178 copyButton.setText("Copy"); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
179 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
180 pasteButton = new Button(group, SWT.NONE); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
181 pasteButton.addSelectionListener(new SelectionAdapter() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
182 public void widgetSelected(final SelectionEvent e) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
183 Bean copy = (Bean) clipboard.getValue(); |
100 | 184 if (copy is null) |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
185 return; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
186 Bean parent = getSelectedBean(); |
100 | 187 if (parent is null) |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
188 parent = input; |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
189 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
190 Set set = new HashSet(parent.getSet()); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
191 set.add(copy); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
192 parent.setSet(set); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
193 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
194 beanViewer.setSelection(new StructuredSelection(copy)); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
195 beanText.selectAll(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
196 beanText.setFocus(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
197 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
198 }); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
199 pasteButton.setText("Paste"); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
200 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
201 final Button refreshButton = new Button(group, SWT.NONE); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
202 refreshButton.addSelectionListener(new SelectionAdapter() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
203 public void widgetSelected(final SelectionEvent e) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
204 beanViewer.refresh(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
205 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
206 }); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
207 refreshButton.setText("Refresh"); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
208 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
209 beanViewer = new TreeViewer(shell, SWT.FULL_SELECTION | SWT.BORDER); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
210 beanViewer.setUseHashlookup(true); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
211 beanViewer.setComparator(new ViewerComparator()); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
212 tree = beanViewer.getTree(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
213 tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
214 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
215 final Label itemNameLabel = new Label(shell, SWT.NONE); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
216 itemNameLabel.setText("Item Name"); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
217 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
218 beanText = new Text(shell, SWT.BORDER); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
219 final GridData gd_beanValue = new GridData(SWT.FILL, SWT.CENTER, true, |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
220 false); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
221 beanText.setLayoutData(gd_beanValue); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
222 m_bindingContext = initDataBindings(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
223 // |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
224 initExtraBindings(m_bindingContext); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
225 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
226 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
227 private static Bean createBean(String name) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
228 return new Bean(name); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
229 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
230 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
231 protected DataBindingContext initDataBindings() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
232 IObservableValue treeViewerSelectionObserveSelection = ViewersObservables |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
233 .observeSingleSelection(beanViewer); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
234 IObservableValue textTextObserveWidget = SWTObservables.observeText( |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
235 beanText, SWT.Modify); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
236 IObservableValue treeViewerValueObserveDetailValue = BeansObservables |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
237 .observeDetailValue(treeViewerSelectionObserveSelection, |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
238 "text", String.class); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
239 // |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
240 // |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
241 DataBindingContext bindingContext = new DataBindingContext(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
242 // |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
243 bindingContext.bindValue(textTextObserveWidget, |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
244 treeViewerValueObserveDetailValue); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
245 // |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
246 return bindingContext; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
247 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
248 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
249 private Bean getSelectedBean() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
250 IStructuredSelection selection = (IStructuredSelection) beanViewer |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
251 .getSelection(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
252 if (selection.isEmpty()) |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
253 return null; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
254 return (Bean) selection.getFirstElement(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
255 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
256 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
257 private void initExtraBindings(DataBindingContext dbc) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
258 final IObservableValue beanViewerSelection = ViewersObservables |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
259 .observeSingleSelection(beanViewer); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
260 IObservableValue beanSelected = new ComputedValue(bool.TYPE) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
261 protected Object calculate() { |
100 | 262 return bool.valueOf(beanViewerSelection.getValue() !is null); |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
263 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
264 }; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
265 dbc.bindValue(SWTObservables.observeEnabled(addChildBeanButton), |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
266 beanSelected); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
267 dbc.bindValue(SWTObservables.observeEnabled(removeBeanButton), |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
268 beanSelected); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
269 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
270 clipboard = new WritableValue(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
271 dbc.bindValue(SWTObservables.observeEnabled(copyButton), beanSelected); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
272 dbc.bindValue(SWTObservables.observeEnabled(pasteButton), |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
273 new ComputedValue(bool.TYPE) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
274 protected Object calculate() { |
100 | 275 return bool.valueOf(clipboard.getValue() !is null); |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
276 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
277 }); |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
278 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
279 ViewerSupport.bind(beanViewer, input, BeanProperties.set("set", |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
280 Bean.class), BeanProperties.value(Bean.class, "text")); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
281 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
282 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
283 static class Bean { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
284 /* package */PropertyChangeSupport changeSupport = new PropertyChangeSupport( |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
285 this); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
286 private String text; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
287 private Set set; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
288 |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
289 public Bean(String text) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
290 this.text = text; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
291 set = new HashSet(); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
292 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
293 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
294 public void addPropertyChangeListener(PropertyChangeListener listener) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
295 changeSupport.addPropertyChangeListener(listener); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
296 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
297 |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
298 public void removePropertyChangeListener(PropertyChangeListener listener) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
299 changeSupport.removePropertyChangeListener(listener); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
300 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
301 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
302 public String getText() { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
303 return text; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
304 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
305 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
306 public void setText(String value) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
307 changeSupport.firePropertyChange("text", this.text, |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
308 this.text = value); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
309 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
310 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
311 public Set getSet() { |
100 | 312 if (set is null) |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
313 return null; |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
314 return new HashSet(set); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
315 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
316 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
317 public void setSet(Set set) { |
100 | 318 if (set !is null) |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
319 set = new HashSet(set); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
320 changeSupport.firePropertyChange("set", this.set, this.set = set); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
321 } |
90
6086085e153d
Added databinding snippets. unmodified java sources.
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
322 |
99
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
323 public bool hasListeners(String propertyName) { |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
324 return changeSupport.hasListeners(propertyName); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
325 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
326 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
327 } |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
328 void main( String[] args ){ |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
329 Snippet020TreeViewerWithSetFactory.main(args); |
5d5bd660917f
build some databind snippets
Frank Benoit <benoit@tionex.de>
parents:
90
diff
changeset
|
330 } |