Skip to content

Commit 7ec40fa

Browse files
committed
updates
1 parent 77f246b commit 7ec40fa

File tree

4 files changed

+56
-7
lines changed

4 files changed

+56
-7
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package de.vogella.databinding.example;
2+
3+
import java.beans.PropertyChangeListener;
4+
import java.beans.PropertyChangeSupport;
5+
6+
public class ModelObject {
7+
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(
8+
this);
9+
10+
public void addPropertyChangeListener(PropertyChangeListener listener) {
11+
changeSupport.addPropertyChangeListener(listener);
12+
}
13+
14+
public void removePropertyChangeListener(PropertyChangeListener listener) {
15+
changeSupport.removePropertyChangeListener(listener);
16+
}
17+
18+
public void addPropertyChangeListener(String propertyName,
19+
PropertyChangeListener listener) {
20+
changeSupport.addPropertyChangeListener(propertyName, listener);
21+
}
22+
23+
public void removePropertyChangeListener(String propertyName,
24+
PropertyChangeListener listener) {
25+
changeSupport.removePropertyChangeListener(propertyName, listener);
26+
}
27+
28+
protected void firePropertyChange(String propertyName, Object oldValue,
29+
Object newValue) {
30+
changeSupport.firePropertyChange(propertyName, oldValue, newValue);
31+
}
32+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package de.vogella.databinding.example;
2+
3+
public class Person extends ModelObject {
4+
private String name;
5+
6+
public String getName() {
7+
return name;
8+
}
9+
10+
public void setName(String name) {
11+
firePropertyChange("name", this.name, this.name = name);
12+
}
13+
}

de.vogella.databinding.validation/src/de/vogella/databinding/validation/PersonViewValidation.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,10 @@ private void bindValues() {
126126
update.setAfterConvertValidator(new StringLongerThenTwo(MESSAGE,
127127
firstNameDecorator));
128128
// Bind fistName
129-
bindingContext.bindValue(SWTObservables.observeText(firstName,
130-
SWT.Modify), PojoObservables.observeValue(person, "firstName"),
131-
update, null);
129+
bindingContext
130+
.bindValue(SWTObservables.observeText(firstName, SWT.Modify),
131+
PojoObservables.observeValue(person, "firstName"),
132+
update, null);
132133

133134
// Bind lastName
134135
bindingContext.bindValue(SWTObservables.observeText(lastName,
@@ -143,7 +144,6 @@ private void bindValues() {
143144
bindingContext.bindValue(uiElement, new AggregateValidationStatus(
144145
bindingContext.getBindings(),
145146
AggregateValidationStatus.MAX_SEVERITY), null, null);
146-
147147
// Lets change the color of the field lastName
148148
uiElement.addChangeListener(new IChangeListener() {
149149
@Override

de.vogella.databinding.viewer/src/de/vogella/databinding/viewer/View.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
import java.util.List;
44

55
import org.eclipse.core.databinding.beans.BeanProperties;
6-
import org.eclipse.core.databinding.observable.list.WritableList;
6+
import org.eclipse.core.databinding.observable.list.IObservableList;
77
import org.eclipse.core.databinding.observable.map.IObservableMap;
88
import org.eclipse.core.databinding.observable.set.IObservableSet;
9+
import org.eclipse.core.databinding.property.Properties;
910
import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
1011
import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
1112
import org.eclipse.jface.viewers.ILabelProvider;
@@ -28,7 +29,7 @@
2829

2930
public class View extends ViewPart {
3031
private ListViewer viewer;
31-
private WritableList input;
32+
private IObservableList input;
3233

3334
@Override
3435
public void createPartControl(Composite parent) {
@@ -63,7 +64,10 @@ public String getText(Object element) {
6364

6465
// Create sample data
6566
List<Person> persons = MyModel.getPersons();
66-
input = new WritableList(persons, Person.class);
67+
input = Properties.selfList(Person.class).observe(persons);
68+
69+
// input = new WritableList(persons, Person.class);
70+
6771
// Set the writeableList as input for the viewer
6872
viewer.setInput(input);
6973

0 commit comments

Comments
 (0)