Changeset 4805
- Timestamp:
- 06/09/08 09:44:40 (6 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/itmill/toolkit/terminal/gwt/client/ui/IFormLayout.java
r4655 r4805 16 16 import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; 17 17 import com.itmill.toolkit.terminal.gwt.client.Container; 18 import com.itmill.toolkit.terminal.gwt.client.ErrorMessage;19 18 import com.itmill.toolkit.terminal.gwt.client.Paintable; 20 19 import com.itmill.toolkit.terminal.gwt.client.UIDL; … … 103 102 final ErrorFlag e = (ErrorFlag) componentToError.get(component); 104 103 if (e != null) { 105 e.updateFromUIDL(uidl );104 e.updateFromUIDL(uidl, component); 106 105 } 107 106 } … … 178 177 if (uidl.hasAttribute("description")) { 179 178 if (captionText != null) { 180 DOM.setElementProperty(captionText, "title", uidl181 .getStringAttribute("description"));182 179 addStyleDependentName("hasdescription"); 183 180 } else { 184 setTitle(uidl.getStringAttribute("description"));185 181 removeStyleDependentName("hasdescription"); 186 182 } … … 226 222 return owner; 227 223 } 224 225 public void onBrowserEvent(Event event) { 226 super.onBrowserEvent(event); 227 if (client != null) { 228 client.handleTooltipEvent(event, owner); 229 } 230 } 228 231 } 229 232 … … 231 234 private static final String CLASSNAME = ".i-form-layout-error-indicator"; 232 235 Element errorIndicatorElement; 233 private ErrorMessage errorMessage;236 private Paintable owner; 234 237 235 238 public ErrorFlag() { … … 237 240 } 238 241 239 public void updateFromUIDL(UIDL uidl) { 242 public void updateFromUIDL(UIDL uidl, Paintable component) { 243 owner = component; 240 244 if (uidl.hasAttribute("error")) { 241 final UIDL errorUidl = uidl.getErrors();242 243 245 if (errorIndicatorElement == null) { 244 246 errorIndicatorElement = DOM.createDiv(); … … 250 252 DOM.appendChild(getElement(), errorIndicatorElement); 251 253 } 252 if (errorMessage == null) {253 errorMessage = new ErrorMessage();254 }255 errorMessage.updateFromUIDL(errorUidl);256 254 257 255 } else if (errorIndicatorElement != null) { … … 262 260 263 261 public void onBrowserEvent(Event event) { 264 final Element target = DOM.eventGetTarget(event); 265 if (errorIndicatorElement != null 266 && DOM.compare(target, errorIndicatorElement)) { 267 switch (DOM.eventGetType(event)) { 268 case Event.ONMOUSEOVER: 269 showErrorMessage(); 270 break; 271 case Event.ONMOUSEOUT: 272 hideErrorMessage(); 273 break; 274 case Event.ONCLICK: 275 ApplicationConnection.getConsole().log( 276 DOM.getInnerHTML(errorMessage.getElement())); 277 default: 278 break; 279 } 280 } else { 281 super.onBrowserEvent(event); 282 } 283 } 284 285 private void hideErrorMessage() { 286 if (errorMessage != null) { 287 errorMessage.hide(); 288 } 289 } 290 291 private void showErrorMessage() { 292 if (errorMessage != null) { 293 errorMessage.showAt(errorIndicatorElement); 262 super.onBrowserEvent(event); 263 if (owner != null) { 264 client.handleTooltipEvent(event, owner); 294 265 } 295 266 }
