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 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.ui.def.nonpublic; import org.litesoft.core.typeutils.*; import org.litesoft.core.util.*; import org.litesoft.ui.def.*; import org.litesoft.ui.def.nonpublic.support.*; import org.litesoft.ui.support.*; import org.litesoft.uispecification.*; public class UiTabDef extends AbstractUiDef implements Disableable, UiContainerMarker, UiLabelSource, UiFontable { public static final UiD_Type TYPE = new UiD_Type( CI_TAB, "Tab" ); public static final UiDefTypeFactory FACTORY = new UiDefTypeFactory() { public UiD_Type getType() { return TYPE; } public UiDef create() { return new UiTabDef(); } }; public UiD_Type getType() { return TYPE; } public UiTabDef() { mChildrenHelper = new UiChildrenHelperRequiredSingleContainer( this ); } public UiTabDef( String pLabelID ) { this(); setLabelID( pLabelID ); } public UiChildrenHelper getChildrenHelper() { return mChildrenHelper; } public UiTabDef labelFont( UiFont pFont ) { setLabelFont( pFont ); return this; } public UiTabDef disabled() { setDisabled( true ); return this; } protected void collectDefAttributes( UiD_AttributeCollector pCollector ) { super.collectDefAttributes( pCollector ); pCollector.add( mLabelID ); pCollector.add( mDisabled ); } private UiD_AttributeStringRequired mLabelID = new UiD_AttributeStringRequired( "LabelID" ); private UiD_AttributeDisabled mDisabled = new UiD_AttributeDisabled(); public boolean isDisabled() { return mDisabled.isValue(); } public void setDisabled( boolean pDisabled ) { mDisabled.setValue( pDisabled ); } public String getLabelID() { return mLabelID.getValue(); } public void setLabelID( String pLabelID ) { mLabelID.setValue( pLabelID ); } public LabelUsage getLabelUsage() { return new LabelUsage( getLabelID() ); } private static final String FONT_ATTRIBUTE_NAME = "LabelFont"; private UiFont mLabelFont = null; public UiFont getLabelFont() { return mLabelFont; } public void setLabelFont( UiFont pFont ) { mLabelFont = 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 ) ? getLabelFont() : null; } public void setFont( String pAttributeName, UiFont pUiFont ) { if ( FONT_ATTRIBUTE_NAME.equals( pAttributeName ) ) { setLabelFont( pUiFont ); return; } throw new IllegalArgumentException( "Invalid Font AttributeName '" + pAttributeName + "', " + Objects.optionsToString( FONT_ATTRIBUTE_NAMES ) ); } } |