diff -r 98ccebc37403 -r dc7c549001d5 javauis/tsrc/fute/lcdui/Midp_StringItem_01/src/StringItemTests2.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javauis/tsrc/fute/lcdui/Midp_StringItem_01/src/StringItemTests2.java Thu May 27 12:49:31 2010 +0300 @@ -0,0 +1,165 @@ +/* +* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +/** + * import midp classes. + */ +import javax.microedition.midlet.*; +import javax.microedition.lcdui.*; + +/** + * This is the main class for StringItemTests1 tests. + */ + +public class StringItemTests2 extends MIDlet implements CommandListener, ItemCommandListener +{ + + //the form to add the StringItems + private Form stringItemForm = null; + //the main form + private Form mainForm = null; + //the StringItem to test + private StringItem si = null; + //list for StringItem types + private ChoiceGroup cgType = null; + //list for labels + private ChoiceGroup cgLabel = null; + //list for texts + private ChoiceGroup cgText = null; + //the StringItem types + private String[] siTypes = {"PLAIN", "HYPERLINK", "BUTTON"}; + private String[] siLabels = {"empty", "Short label", "This is a very long label that might not fit on the screen."}; + private String[] siStrings = + { + "1 This fits on one line.", + "2 This is one short paragraph that should fit on 2 lines.", + "3 This is one longer paragraph that might take about 3 lines in the device, depends on screen size.", + "4 This paragraph\nhas one linefeed.", + "5 This is a somewhat longer paragraph that might take about three lines.\nHere was a linefeed.", + "6TheWrappingBasedOnCharacterBoundariesCanBeTestedWithThisLineOfText." + }; + + private Command cmdAdd = new Command("Add item", Command.SCREEN, 1); + private Command cmdForward = new Command("Switch form", Command.SCREEN, 1); + // Command to go back to main form + private Command cmdBack = new Command("Back", Command.BACK, 1); + // Command to clear the test form + private Command cmdClear = new Command("Clear form", Command.SCREEN, 1); + + // Commands for the StringItems + private Command cmdItem1 = new Command("Itemcommand1", Command.ITEM, 1); + private Command cmdItem2 = new Command("Itemcommand2", Command.ITEM, 1); + + /** + * Signals the MIDlet to start and enter the Active state. + */ + protected void startApp() + { + stringItemForm = new Form("StringItem"); + mainForm = new Form("Main"); + cgType = new ChoiceGroup("Type:", ChoiceGroup.POPUP, siTypes, null); + cgLabel = new ChoiceGroup("Label:", ChoiceGroup.POPUP, siLabels, null); + cgText = new ChoiceGroup("Text:", ChoiceGroup.POPUP, siStrings, null); + + mainForm.append(cgType); + mainForm.append(cgLabel); + mainForm.append(cgText); + + mainForm.addCommand(cmdAdd); + mainForm.addCommand(cmdForward); + mainForm.setCommandListener(this); + stringItemForm.addCommand(cmdBack); + stringItemForm.addCommand(cmdClear); + stringItemForm.setCommandListener(this); + Display.getDisplay(this).setCurrent(mainForm); + } + + /** + * Signals the MIDlet to terminate and enter the Destroyed state. + * + */ + protected void destroyApp(boolean unconditional) + { + System.out.println("destroyApp is called"); + } + + /** + * Signals the MIDlet to stop and enter the Paused state. + */ + protected void pauseApp() + { + } + + /** + * This method handles command invocations. + * + *@param c This is the command responsible for the event. + *@param s Should be equal to this. + */ + public void commandAction(Command c, Displayable s) + { + if (c == cmdAdd) + { + // Create correct type of stringitem + int index = cgType.getSelectedIndex(); + if (index == 0) + si = new StringItem("", "", Item.PLAIN); + else + { + if (index == 1) + si = new StringItem("", "", Item.HYPERLINK); + else if (index == 2) + si = new StringItem("", "", Item.BUTTON); + si.addCommand(cmdItem1); + si.addCommand(cmdItem2); + si.setItemCommandListener(this); + } + + // Set the label + index = cgLabel.getSelectedIndex(); + if (index == 0) + si.setLabel(""); + else + si.setLabel(cgLabel.getString(index)); + // Set the text + index = cgText.getSelectedIndex(); + si.setText(cgText.getString(index)); + stringItemForm.append(si); + Display.getDisplay(this).setCurrent(stringItemForm); + } + + else if (c == cmdBack) + { + Display.getDisplay(this).setCurrent(mainForm); + } + else if (c == cmdClear) + { + stringItemForm.deleteAll(); + } + else if (c == cmdForward) + { + Display.getDisplay(this).setCurrent(stringItemForm); + } + } + + public void commandAction(Command c, Item i) + { + Alert alert = new Alert(c.getLabel(),"Command executed.",null, AlertType.INFO); + Display.getDisplay(this).setCurrent(alert); + } +} +