Subversion Repository Public Repository

litesoft

Diff Revisions 634 vs 635 for /trunk/GWT_Sandbox/FormEngine/src/com/temp/client/foundation/widget/input/fieldsupport/AbstractInputField.java

Diff revisions: vs.
  @@ -1,11 +1,9 @@
1 1 package com.temp.client.foundation.widget.input.fieldsupport;
2 2
3 + import com.google.gwt.user.client.ui.HasEnabled;
3 4 import com.google.gwt.user.client.ui.Panel;
4 - import com.google.gwt.user.client.ui.Widget;
5 5 import com.temp.client.foundation.util.UtilsGwt;
6 6 import com.temp.client.foundation.widget.input.InputField;
7 - import com.temp.shared.externalization.E13nData;
8 - import com.temp.shared.utils.Enableable;
9 7 import com.temp.shared.utils.ObjectUtils;
10 8
11 9 import java.util.HashSet;
  @@ -17,6 +15,7 @@
17 15 public abstract class AbstractInputField<T, C extends AbstractInputField<T, C>> implements InputField<T> {
18 16 // Optionally set
19 17 private Set<ChangeListener<T>> changeListeners = new HashSet<ChangeListener<T>>();
18 + private Set<FocusChangedListener> focusChangeListeners = new HashSet<FocusChangedListener>();
20 19
21 20 protected boolean enabled = true;
22 21
  @@ -42,6 +41,25 @@
42 41 // Configuration Methods
43 42
44 43 @Override
44 + public final InputField<T> add(FocusChangedListener focusChangedListener) {
45 +
46 + if (focusChangedListener != null) {
47 + focusChangeListeners.add(focusChangedListener);
48 + }
49 + return this;
50 + }
51 +
52 + @Override
53 + public final boolean remove(FocusChangedListener focusChangedListener) {
54 + return (focusChangedListener == null) ? false : focusChangeListeners.remove(focusChangedListener);
55 + }
56 +
57 + @Override
58 + public final void removeAllFocusChangeListeners() {
59 + focusChangeListeners.clear();
60 + }
61 +
62 + @Override
45 63 public final InputField<T> add(ChangeListener<T> changeListener) {
46 64 if (changeListener != null) {
47 65 changeListeners.add(changeListener);
  @@ -59,7 +77,7 @@
59 77 changeListeners.clear();
60 78 }
61 79
62 - abstract protected Enableable getEnableable();
80 + abstract protected HasEnabled getEnableable();
63 81
64 82 // Anytime Methods
65 83
  @@ -67,14 +85,14 @@
67 85
68 86 @Override
69 87 public final boolean isEnabled() {
70 - Enableable enableable = getEnableable();
88 + HasEnabled enableable = getEnableable();
71 89 return (enableable != null) ? enableable.isEnabled() : enabled;
72 90 }
73 91
74 92 @Override
75 93 public final void setEnabled(boolean enable) {
76 94 enabled = enable;
77 - Enableable enableable = getEnableable();
95 + HasEnabled enableable = getEnableable();
78 96 if (enableable != null) {
79 97 enableable.setEnabled(enable);
80 98 }
  @@ -143,6 +161,12 @@
143 161 }
144 162 }
145 163
164 + protected final void notifyFocusChangeListeners() {
165 + for (FocusChangedListener zListener : focusChangeListeners) {
166 + zListener.focusChanged();
167 + }
168 + }
169 +
146 170 protected final void notifyChangeListeners() {
147 171 for (ChangeListener<T> zListener : changeListeners) {
148 172 zListener.changed(this);
  @@ -169,6 +193,4 @@
169 193 }
170 194
171 195 abstract protected Panel getContainer();
172 -
173 - abstract protected void updateErrorLabel(Widget errorLabel, E13nData error);
174 196 }