litesoft
@ 965
litesoft / trunk / GWT_Sandbox / FormEngine / src / com / temp / foundation / client / widget / CompositeButton.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
package com.temp.foundation.client.widget; import com.google.gwt.dom.client.Style.*; import com.google.gwt.event.dom.client.*; import com.google.gwt.user.client.ui.*; import com.temp.common.shared.utils.*; public abstract class CompositeButton<C extends CompositeButton> extends PushButton implements HasIdOverride { protected final PushButton proxyTo; private String name; private String idOverride; public CompositeButton() { this.proxyTo = this; } public CompositeButton( String initialText ) { super( initialText ); this.proxyTo = this; } @Override public String getName() { return name; } @Override public void setName( String name ) { this.name = Assert.noEmpty( "name", name ); } @Override public String getIdOverride() { return (idOverride != null) ? idOverride : name + "Button"; } @Override public void setIdOverride( String idOverride ) { this.idOverride = StringUtils.noEmpty( idOverride ); } public C name( String name ) { setName( name ); return inheritanceLeaf(); } public C add( ClickHandler handler ) { if ( handler != null ) { proxyTo.addClickHandler( handler ); } return inheritanceLeaf(); } protected final C inheritanceLeaf() { return ObjectUtils.cast( this ); } protected static String createSafeHtmlElementWithImageUrl( String id, String safeHtmlAltToolTip, String styleName, String imageUrl ) { StringBuilder sb = new StringBuilder().append( "<img" ); addAttribute( sb, "id", id ); addAttribute( sb, "src", imageUrl ); addAttribute( sb, "alt", safeHtmlAltToolTip ); addAttribute( sb, "class", styleName ); addAttribute( sb, "title", safeHtmlAltToolTip ); return sb.append( " border='0' />" ).toString(); } private static void addAttribute( StringBuilder sb, String attributeName, String safeHtmlAttributeValue ) { if ( null != (safeHtmlAttributeValue = StringUtils.noEmpty( safeHtmlAttributeValue )) ) { sb.append( ' ' ).append( attributeName ).append( "='" ).append( safeHtmlAttributeValue ).append( "'" ); } } public void enable() { getElement().getStyle().setCursor( Cursor.POINTER ); setEnabled( true ); } public void disable() { getElement().getStyle().setCursor( Cursor.AUTO ); setEnabled( false ); } } |
Commits for litesoft/trunk/GWT_Sandbox/FormEngine/src/com/temp/foundation/client/widget/CompositeButton.java
Revision | Author | Commited | Message |
---|---|---|---|
965 | GeorgeS | Fri 01 Aug, 2014 03:20:35 +0000 | ! |