Changeset 4805

Show
Ignore:
Timestamp:
06/09/08 09:44:40 (6 months ago)
Author:
matti.tahvonen@…
Message:

new tooltips for iformlayout too

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/com/itmill/toolkit/terminal/gwt/client/ui/IFormLayout.java

    r4655 r4805  
    1616import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; 
    1717import com.itmill.toolkit.terminal.gwt.client.Container; 
    18 import com.itmill.toolkit.terminal.gwt.client.ErrorMessage; 
    1918import com.itmill.toolkit.terminal.gwt.client.Paintable; 
    2019import com.itmill.toolkit.terminal.gwt.client.UIDL; 
     
    103102        final ErrorFlag e = (ErrorFlag) componentToError.get(component); 
    104103        if (e != null) { 
    105             e.updateFromUIDL(uidl); 
     104            e.updateFromUIDL(uidl, component); 
    106105        } 
    107106    } 
     
    178177            if (uidl.hasAttribute("description")) { 
    179178                if (captionText != null) { 
    180                     DOM.setElementProperty(captionText, "title", uidl 
    181                             .getStringAttribute("description")); 
    182179                    addStyleDependentName("hasdescription"); 
    183180                } else { 
    184                     setTitle(uidl.getStringAttribute("description")); 
    185181                    removeStyleDependentName("hasdescription"); 
    186182                } 
     
    226222            return owner; 
    227223        } 
     224 
     225        public void onBrowserEvent(Event event) { 
     226            super.onBrowserEvent(event); 
     227            if (client != null) { 
     228                client.handleTooltipEvent(event, owner); 
     229            } 
     230        } 
    228231    } 
    229232 
     
    231234        private static final String CLASSNAME = ".i-form-layout-error-indicator"; 
    232235        Element errorIndicatorElement; 
    233         private ErrorMessage errorMessage; 
     236        private Paintable owner; 
    234237 
    235238        public ErrorFlag() { 
     
    237240        } 
    238241 
    239         public void updateFromUIDL(UIDL uidl) { 
     242        public void updateFromUIDL(UIDL uidl, Paintable component) { 
     243            owner = component; 
    240244            if (uidl.hasAttribute("error")) { 
    241                 final UIDL errorUidl = uidl.getErrors(); 
    242  
    243245                if (errorIndicatorElement == null) { 
    244246                    errorIndicatorElement = DOM.createDiv(); 
     
    250252                    DOM.appendChild(getElement(), errorIndicatorElement); 
    251253                } 
    252                 if (errorMessage == null) { 
    253                     errorMessage = new ErrorMessage(); 
    254                 } 
    255                 errorMessage.updateFromUIDL(errorUidl); 
    256254 
    257255            } else if (errorIndicatorElement != null) { 
     
    262260 
    263261        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); 
    294265            } 
    295266        }