litesoft
@ 822
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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.ui.def.nonpublic.support; import org.litesoft.core.typeutils.*; import org.litesoft.ui.support.*; import org.litesoft.uispecification.*; public abstract class AbstractUiActionDef extends UiCompPlusDef implements UiActionable, UiFontable { protected AbstractUiActionDef() { } protected AbstractUiActionDef( String pActionID ) { setActionID( pActionID ); } protected void collectDefAttributes( UiD_AttributeCollector pCollector ) { super.collectDefAttributes( pCollector ); pCollector.add( mActionID ); pCollector.add( mLabelID ); pCollector.add( mDisabled ); } private UiD_AttributeStringRequired mActionID = new UiD_AttributeStringRequired( "ActionID" ); private UiD_AttributeStringOptional mLabelID = new UiD_AttributeStringOptional( "LabelID" ); private UiD_AttributeDisabled mDisabled = new UiD_AttributeDisabled(); public boolean isDisabled() { return mDisabled.isValue(); } public void setDisabled( boolean pDisabled ) { mDisabled.setValue( pDisabled ); } public String getActionID() { return mActionID.getValue(); } public void setActionID( String pActionID ) { mActionID.setValue( pActionID ); } public String getLabelID() { return mLabelID.getValue(); } public void setLabelID( String pLabelID ) { mLabelID.setValue( pLabelID ); } public ActionUsage getActionUsage() { return new ActionUsage( getActionID(), getLabelID(), isDisabled() ); } private static final String FONT_ATTRIBUTE_NAME = "Font"; private UiFont mFont = null; public UiFont getFont() { return mFont; } public void setFont( UiFont pFont ) { mFont = pFont; } private static final String[] FONT_ATTRIBUTE_NAMES = new String[]{FONT_ATTRIBUTE_NAME}; public String[] getFontAttributeNames() { return FONT_ATTRIBUTE_NAMES; } public UiFont getFont( String pAttributeName ) { return FONT_ATTRIBUTE_NAME.equals( pAttributeName ) ? getFont() : null; } public void setFont( String pAttributeName, UiFont pUiFont ) { if ( FONT_ATTRIBUTE_NAME.equals( pAttributeName ) ) { setFont( pUiFont ); return; } throw new IllegalArgumentException( "Invalid Font AttributeName '" + pAttributeName + "', " + Objects.optionsToString( FONT_ATTRIBUTE_NAMES ) ); } } |