/* * filename: Conversion.java * mini conversion program by Isaac Cruz for palm pilot * compiled for superwaba version 3.11 * September 13, 2002 * */ import waba.fx.*; import waba.sys.*; import waba.util.*; import waba.ui.*; public class Conversion extends MainWindow { ListBox lb; Button btClear, btConvert, btQuit; Edit edIn, edOut; Label lbIn, lbOut, lbInstruction; public Conversion() { super ("Convert by Isaac Cruz", TAB_ONLY_BORDER); } public void onStart() { String[] items = { "Celsius to Fahrenheit", "Fahrenheit to Celsius", "MPH to KPH", "KPH to MPH", "Millimeters to Inches", "Centimeters to Inches", "Meters to Feet", "Meters to Yards", "Kilometers to Miles", "Inches to Millimeters", "Inches to Centimeters", "Feet to Centimeters", "Yards to Meters", "Miles to Kilometers" }; lb = new ListBox(items); add(lb); lb.setRect(LEFT, TOP+7, PREFERRED, 50); lb.select(1); add(lbIn = new Label("Input:"), LEFT, AFTER+3); edIn = new Edit(" "); add(edIn); edIn.setRect(LEFT, AFTER+3, 40, PREFERRED); add(btConvert = new Button("Convert"), AFTER+10, SAME); add(lbOut = new Label("Output:"), LEFT, AFTER+3); add(btClear = new Button("Clear"), AFTER+18, SAME); edOut = new Edit(" "); add(edOut); edOut.setRect(LEFT, AFTER+3, 40, PREFERRED); add(btQuit = new Button("Quit"), AFTER+10, SAME); lbInstruction = new Label("Values are approximation only"); add(lbInstruction, LEFT, AFTER+3); } public void onEvent(Event event) { if (event.type == ControlEvent.PRESSED) { if (event.target == btConvert) doConversion(lb.getSelectedIndex()); else if (event.target == btClear) { edIn.setText(""); edOut.setText(""); } else if (event.target == btQuit) exit(0); } } public void doConversion(int index) { float f = waba.sys.Convert.toFloat(edIn.getText()); switch(index) { case 0 : f = 9*f/5+32; break; case 1 : f = (f-32)*5/9; break; case 2 : f *= 1.61; break; case 3 : f *= 0.62; break; case 4 : f *= 0.04; break; case 5 : f *= 0.39; break; case 6 : f *= 3.28; break; case 7 : f *= 1.09; break; case 8 : f *= 0.62; break; case 9 : f *= 25.40; break; case 10 : f *= 2.54; break; case 11 : f *= 30.48; break; case 12 : f *= 0.91; break; case 13 : f *= 1.61; break; } edOut.setText(waba.sys.Convert.toString(f,3)); } }