package e4s.tutorial; import e4s.html.*; import e4s.html.input.extended.*; import e4s.servlet.*; import e4s.application.sysmodule.*; import java.io.*; import java.util.*; import java.text.*; /** * Pick up a value (e.g. a date from a calendar) while editing a form. * * {@tutorial Example_Pickup} */ public class Example_Pickup extends E4ModuleImplementation { public static E4Method startForm = null; public static E4MethodPickup pickupMusic = null; public static E4Method viewParameters = null; public void startForm( HTML html ) { BODY body = html.BODY(); FORM form = body.FORM("TEST"); // Define a TEXTFIELD and do your own pickup selection TEXTFIELD name = form.TEXTFIELD(new E4InputFieldName("MUSIC"),"Your favorite Music",30); name.setValue("Rolling Stones"); name.definePickupList(pickupMusic); form.P(); // Define a Java Script which can be used for notification on value changes E4JavaScript jsNotify = body.createScript(); jsNotify.appendln("function " + jsNotify.getName() + "()"); jsNotify.appendln("{"); jsNotify.appendln(" alert('the field value has been changed');"); jsNotify.appendln("}"); // Define a TEXTFIELD and use standard color selection TEXTFIELD color = form.TEXTFIELD(new E4InputFieldName("COLOR"),"Your favorite Color",7); color.setValue("#FF0000"); color.definePickupList(E4ModuleColorPickup.initSelection,jsNotify); form.P(); // Note, that a DATEFIELD automatically gets a pickup for a Calendar DATEFIELD next_holiday = form.DATEFIELD(new E4InputFieldName("HOLIDAY"),"My next holiday"); next_holiday.noTimeFormat(); form.P(); // You can avoid this Clendar selection DATEFIELD birthday = form.DATEFIELD(new E4InputFieldName("BIRTHDAY"),"Your birthday",false); } public void pickupMusic( HTML html, E4CgiParams params ) { html.setTitle("Please select"); String default_value = params.get(E4MethodPickup._PARAM_INIT_VALUE); A view_parameters = html.A(viewParameters); view_parameters.print("[view the parameters]"); String music[] = { "WHO", "REM", "Rolling Stones", "Beatles", "Doors", "Kinks", "Velvet Underground", "Blondie", "Sex Pistols", "PIL" }; TABLE table = html.TABLE(); table.setBgColor(E4Color.GRAY(10)); table.setBorder(); table.setCellspacing(0,0); for( int i = 0; i < music.length; i++ ) { TD td = table.TR().TD(); A_ReturnValue returnvalue = td.A_ReturnValue(music[i],params); returnvalue.println(music[i]); if ((default_value != null) && default_value.trim().equalsIgnoreCase(music[i])) td.setBgColor(E4Color.YELLOW); } html.P(); A close = html.A(E4EventHandlerA.closeWindow()); close.println("[Cancel]"); } public void viewParameters( HTML html, E4CgiParams p ) { TABLE t = html.TABLE(); p.toTable(t); A back = html.A(startForm); back.print("[start again]"); } }