001: /*
002: #IFNDEF ALT_LICENSE
003: ThinWire(R) RIA Ajax Framework
004: Copyright (C) 2003-2007 Custom Credit Systems
005:
006: This library is free software; you can redistribute it and/or modify it under
007: the terms of the GNU Lesser General Public License as published by the Free
008: Software Foundation; either version 2.1 of the License, or (at your option) any
009: later version.
010:
011: This library is distributed in the hope that it will be useful, but WITHOUT ANY
012: WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
013: PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
014:
015: You should have received a copy of the GNU Lesser General Public License along
016: with this library; if not, write to the Free Software Foundation, Inc., 59
017: Temple Place, Suite 330, Boston, MA 02111-1307 USA
018:
019: Users who would rather have a commercial license, warranty or support should
020: contact the following company who invented, built and supports the technology:
021:
022: Custom Credit Systems, Richardson, TX 75081, USA.
023: email: info@thinwire.com ph: +1 (888) 644-6405
024: http://www.thinwire.com
025: #ENDIF
026: [ v1.2_RC2 ]
027: */
028: package thinwire.ui;
029:
030: /**
031: * @author Joshua J. Gertzen
032: */
033: public interface EditorComponent extends AlignTextComponent {
034: public static final String PROPERTY_SELECTION_BEGIN_INDEX = "selectionBeginIndex";
035: public static final String PROPERTY_SELECTION_END_INDEX = "selectionEndIndex";
036: public static final String PROPERTY_CURSOR_INDEX = "cursorIndex";
037: public static final String PROPERTY_MAX_LENGTH = "maxLength";
038:
039: /**
040: * Sets the range of the selection<br>
041: * <b>Events:</b>
042: * <p>
043: * If the prior values and new values differ, setting this property causes 2 <code>PropertyChangeEvent</code>s ( propertyName = PROPERTY_SELECTION_BEGIN_INDEX and propertyName = PROPERTY_SELECTION_END_INDEX ) to be generated.
044: * </p>
045: * @param selectionBeginIndex the index of the start of the selection
046: * @param selectionEndIndex the index of the end of the selection
047: * @see #setSelectionBeginIndex(int)
048: * @see #setSelectionEndIndex(int)
049: * @see #PROPERTY_SELECTION_BEGIN_INDEX
050: * @see #PROPERTY_SELECTION_END_INDEX
051: * @see thinwire.ui.event.PropertyChangeEvent
052: */
053: public void setSelectionRange(int selectionBeginIndex,
054: int selectionEndIndex);
055:
056: /**
057: * Returns the index of the beginning of the selection
058: * @return the index at the start of the selection or -1 if there is no selection
059: * @see #setSelectionBeginIndex()
060: */
061: public int getSelectionBeginIndex();
062:
063: /**
064: * Sets the index of the beginning of a selection<br>
065: * <b>Events:</b>
066: * <p>
067: * If the prior values and new values differ, setting this property causes a <code>PropertyChangeEvent</code> ( propertyName = PROPERTY_SELECTION_BEGIN_INDEX ) to be generated.
068: * </p>
069: * @param selectionBeginIndex the index of the start of the selection
070: * @see #getSelectionBeginIndex()
071: * @see #setSelectionRange(int, int)
072: * @see #PROPERTY_SELECTION_BEGIN_INDEX
073: * @see thinwire.ui.event.PropertyChangeEvent
074: */
075: public void setSelectionBeginIndex(int selectionBeginIndex);
076:
077: /**
078: * Returns the index of the end of the selection
079: * @return the index of the end of the selection or -1 if there is no selection
080: * @see #setSelectionEndIndex(int)
081: */
082: public int getSelectionEndIndex();
083:
084: /**
085: * Sets the index of the end of the selection<br>
086: * <b>Events:</b>
087: * <p>
088: * If the prior values and new values differ, setting this property causes a <code>PropertyChangeEvent</code> ( propertyName = PROPERTY_SELECTION_END_INDEX ) to be generated.
089: * </p>
090: * @param selectionEndIndex the index of the end of the selection
091: * @see #getSelectionEndIndex()
092: * @see #setSelectionRange(int, int)
093: * @see #PROPERTY_SELECTION_END_INDEX
094: * @see thinwire.ui.event.PropertyChangeEvent
095: */
096: public void setSelectionEndIndex(int selectionEndIndex);
097:
098: /**
099: * Retuns the index of the current cursor position
100: * @return the index of the cursor or -1 if there is a selection
101: * @see #setCursorIndex(int)
102: */
103: public int getCursorIndex();
104:
105: /**
106: * Sets the index of the cursor position<br>
107: * <b>Events:</b>
108: * <p>
109: * If the prior values and new values differ, setting this property causes a <code>PropertyChangeEvent</code> ( propertyName = PROPERTY_CURSOR_INDEX ) to be generated.
110: * </p>
111: * @param index the index of the cursor
112: * @see #getCursorIndex()
113: * @see #PROPERTY_CURSOR_INDEX
114: * @see thinwire.ui.event.PropertyChangeEvent
115: */
116: public void setCursorIndex(int index);
117:
118: /**
119: * Sets the editor max length.
120: * @param maxLength The maxLength to set.
121: */
122: public void setMaxLength(int maxLength);
123:
124: /**
125: * Gets the TextField's max length.
126: * @return Returns the maxLength.
127: */
128: public int getMaxLength();
129: }
|