001: /*
002: *
003: *
004: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: */
026: package javax.microedition.lcdui;
027:
028: /**
029: * Look and Feel interface used by ChoiceGroup.
030: * <p>
031: * See <a href="doc-files/naming.html">Naming Conventions</a>
032: * for information about method naming conventions.
033: */
034: interface ChoiceGroupLF extends ItemLF {
035:
036: /**
037: * Notifies L&F that an element was inserted into the
038: * <code>ChoiceGroup</code> at the the elementNum specified.
039: *
040: * @param elementNum the index of the element where insertion occurred
041: * @param stringPart the string part of the element to be inserted
042: * @param imagePart the image part of the element to be inserted,
043: * or <code>null</code> if there is no image part
044: */
045: void lInsert(int elementNum, String stringPart, Image imagePart);
046:
047: /**
048: * Notifies L&F that an element referenced by <code>elementNum</code>
049: * was deleted in the corresponding ChoiceGroup.
050: *
051: * @param elementNum the index of the deleted element
052: */
053: void lDelete(int elementNum);
054:
055: /**
056: * Notifies L&F that all elements
057: * were deleted in the corresponding ChoiceGroup.
058: */
059: void lDeleteAll();
060:
061: /**
062: * Notifies L&F that the <code>String</code> and
063: * <code>Image</code> parts of the
064: * element referenced by <code>elementNum</code> were set in
065: * the corresponding ChoiceGroup,
066: * replacing the previous contents of the element.
067: *
068: * @param elementNum the index of the element set
069: * @param stringPart the string part of the new element
070: * @param imagePart the image part of the element, or <code>null</code>
071: * if there is no image part
072: */
073: void lSet(int elementNum, String stringPart, Image imagePart);
074:
075: /**
076: * Notifies L&F that an element was selected/deselected in the
077: * corresponding ChoiceGroup.
078: *
079: * @param elementNum the number of the element. Indexing of the
080: * elements is zero-based
081: * @param selected the new state of the element <code>true=selected</code>,
082: * <code>false=not</code> selected
083: */
084: void lSetSelectedIndex(int elementNum, boolean selected);
085:
086: /**
087: * Notifies L&F that selected state was changed on several elements
088: * in the corresponding MULTIPLE ChoiceGroup.
089: * @param selectedArray an array in which the method collect the
090: * selection status
091: */
092: void lSetSelectedFlags(boolean[] selectedArray);
093:
094: /**
095: * Notifies L&F that a new text fit policy was set in the corresponding
096: * ChoiceGroup.
097: * @param fitPolicy preferred content fit policy for choice elements
098: */
099: void lSetFitPolicy(int fitPolicy);
100:
101: /**
102: * Notifies L&F that a new font was set for an element with the
103: * specified elementNum in the corresponding ChoiceGroup.
104: * @param elementNum the index of the element, starting from zero
105: * @param font the preferred font to use to render the element
106: */
107: void lSetFont(int elementNum, Font font);
108:
109: /**
110: * Get current selected index.
111: * @return currently selected index
112: */
113: int lGetSelectedIndex();
114:
115: /**
116: * Get selected flags.
117: * @param selectedArray_return to contain the results
118: * @return the number of selected elements
119: */
120: int lGetSelectedFlags(boolean[] selectedArray_return);
121:
122: /**
123: * Determines if an element with a passed in index
124: * is selected or not.
125: * @param elementNum the index of an element in question
126: * @return true if the element is selected, false - otherwise
127: */
128: boolean lIsSelected(int elementNum);
129:
130: /**
131: * Gets default font to render ChoiceGroup element if it was not
132: * set by the application
133: * @return - the font to render ChoiceGroup element if it was not
134: * set by the app
135: */
136: Font getDefaultFont();
137:
138: }
|