litesoft
@ 947
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 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.aokeyhole.objects; import org.litesoft.aokeyhole.objects.support.*; import org.litesoft.aokeyhole.toolkit.*; import org.litesoft.commonfoundation.typeutils.*; public class AttributeMetaDataValidOptions extends AttributeMetaDataSimple implements HasValidOptions { public AttributeMetaDataValidOptions( AttributeSet pAttributeSet, Mode pMode, boolean pEditable, boolean pVirtual, PropertyMetaData[] pPropertyMetaDatas, IdentifierValidator pNameValidator, String pName ) { super( pAttributeSet, pMode, pEditable, pVirtual, pPropertyMetaDatas, pNameValidator, pName ); } public AttributeMetaDataValidOptions( AttributeSet pAttributeSet, Mode pMode, boolean pEditable, boolean pVirtual, PropertyMetaData[] pPropertyMetaDatas, IdentifierValidator pNameValidator, String pName, String... pOptions ) { this( pAttributeSet, pMode, pEditable, pVirtual, pPropertyMetaDatas, pNameValidator, pName ); setValidOptions( pOptions ); } private String[] mValidOptions = Strings.EMPTY_ARRAY; public String[] getValidOptions() { return mValidOptions; } public void setValidOptions( String[] pValidOptions ) { if ( pValidOptions != null ) { mValidOptions = pValidOptions; } } @Override protected String[] getAdditionalValues() { return anyValidOptions() ? mValidOptions : null; } private boolean anyValidOptions() { return (mValidOptions.length != 0); } private StringBuilder mergeValidOptions( StringBuilder pSB ) { if ( anyValidOptions() ) { pSB.append( mValidOptions[0] ); for ( int i = 1; i < mValidOptions.length; i++ ) { pSB.append( '|' ); pSB.append( mValidOptions[i] ); } } return pSB; } @Override public void setUpView( NameValuesComponent pNameValuesComponent ) { super.setUpView( pNameValuesComponent ); pNameValuesComponent.setValue( AttribNames.VALID_OPTIONS, mergeValidOptions( new StringBuilder() ).toString() ); } @Override protected void saveFromViewCollectChanges( ChangeHandler pChanges, NameValuesComponent pNameValuesComponent ) { super.saveFromViewCollectChanges( pChanges, pNameValuesComponent ); pChanges.add( checkValidOptionsChange( pNameValuesComponent.getValue( AttribNames.VALID_OPTIONS ) ) ); } protected ChangeFragment checkValidOptionsChange( String pNewValue ) { String[] zCurValidOptions = getValidOptions(); String[] zNewValidOptions = StringArrayValueStringConverter.TRIM_DROP_EMPTY.split( pNewValue ); return !Objects.areArraysEqual( zCurValidOptions, zNewValidOptions ) ? new ChangeValidOptions( zNewValidOptions ) : null; } protected class ChangeValidOptions implements ChangeFragment { private String[] mNewValidOptions; public ChangeValidOptions( String[] pNewValidOptions ) { mNewValidOptions = pNewValidOptions; } @Override public void commitChange() { setValidOptions( mNewValidOptions ); } } } |
Commits for litesoft/trunk/Java/KeyHole/src/org/litesoft/aokeyhole/objects/AttributeMetaDataValidOptions.java
Revision | Author | Commited | Message |
---|---|---|---|
947 Diff | GeorgeS | Fri 06 Jun, 2014 23:36:56 +0000 | Correct Spelling of package! |
939 Diff | GeorgeS | Mon 02 Jun, 2014 21:30:31 +0000 | Extracting commonfoundation |
809 Diff | GeorgeS | Thu 16 Aug, 2012 04:10:46 +0000 | |
800 Diff | GeorgeS | Wed 15 Aug, 2012 03:33:38 +0000 | |
787 Diff | GeorgeS | Mon 30 Jul, 2012 03:00:12 +0000 | |
193 Diff | GeorgeS | Wed 04 May, 2011 00:59:58 +0000 | |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
17 Diff | GeorgeS | Thu 18 Feb, 2010 23:54:44 +0000 | |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |