001: /* *************************************************************************
002:
003: Millstone(TM)
004: Open Sourced User Interface Library for
005: Internet Development with Java
006:
007: Millstone is a registered trademark of IT Mill Ltd
008: Copyright (C) 2000-2005 IT Mill Ltd
009:
010: *************************************************************************
011:
012: This library is free software; you can redistribute it and/or
013: modify it under the terms of the GNU Lesser General Public
014: license version 2.1 as published by the Free Software Foundation.
015:
016: This library is distributed in the hope that it will be useful,
017: but WITHOUT ANY WARRANTY; without even the implied warranty of
018: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
019: Lesser General Public License for more details.
020:
021: You should have received a copy of the GNU Lesser General Public
022: License along with this library; if not, write to the Free Software
023: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
024:
025: *************************************************************************
026:
027: For more information, contact:
028:
029: IT Mill Ltd phone: +358 2 4802 7180
030: Ruukinkatu 2-4 fax: +358 2 4802 7181
031: 20540, Turku email: info@itmill.com
032: Finland company www: www.itmill.com
033:
034: Primary source for MillStone information and releases: www.millstone.org
035:
036: ********************************************************************** */
037:
038: package org.millstone.examples.features;
039:
040: import org.millstone.base.ui.*;
041:
042: public class FeatureSelect extends Feature {
043:
044: public FeatureSelect() {
045: super ();
046: }
047:
048: protected Component getDemoComponent() {
049:
050: OrderedLayout l = new OrderedLayout();
051:
052: // Example panel
053: Panel show = new Panel("Select component");
054: Select s = new Select("Select Car");
055: s.addItem("Audi");
056: s.addItem("BMW");
057: s.addItem("Chrysler");
058: s.addItem("Volvo");
059: show.addComponent(s);
060: l.addComponent(show);
061:
062: // Properties
063: PropertyPanel p = new PropertyPanel(s);
064: Select themes = (Select) p.getField("style");
065: themes.addItem("optiongroup").getItemProperty(
066: themes.getItemCaptionPropertyId()).setValue(
067: "optiongroup");
068: l.addComponent(p);
069:
070: return l;
071: }
072:
073: protected String getExampleSrc() {
074: return "Select s = new Select(\"Select Car\");\n"
075: + "s.addItem(\"Audi\");\n" + "s.addItem(\"BMW\");\n"
076: + "s.addItem(\"Chrysler\");\n"
077: + "s.addItem(\"Volvo\");\n";
078:
079: }
080:
081: /**
082: * @see org.millstone.examples.features.Feature#getDescriptionXHTML()
083: */
084: protected String getDescriptionXHTML() {
085: return "The select component combines two different modes of item selection. "
086: + "Firstly it presents the single selection mode, which is usually represented as "
087: + "either a drop-down menu or a radio-group of switches, secondly it "
088: + "allows for multiple item selection, this is usually represented as either a "
089: + "listbox of selectable items or as a group of checkboxes."
090: + "<br/><br/>"
091: + "Data source can be associated both with selected item and the list of selections. "
092: + "This way you can easily present a selection based on items specified elsewhere in application. "
093: + "<br/><br/>"
094: + "On the demo tab you can try out how the different properties affect the"
095: + " presentation of the component.";
096: }
097:
098: protected String getImage() {
099: return "select.jpg";
100: }
101:
102: protected String getTitle() {
103: return "Select";
104: }
105:
106: }
|