// // Reanimator class template for 'JPob Code Generator' // Generated by JPob Code Generator 1.0.4 // // © Michel Pollet & Florent Pillet // // Some special comments in this file are looked for by the Code Generation // application import java.awt.*; import java.util.*; import java.io.*; import java.lang.*; class JReanimator { public static final Integer LAYOUT = new Integer(1); public static final Integer RESHAPE = new Integer(2); public static final Integer FOREGROUND = new Integer(3); public static final Integer BACKGROUND = new Integer(4); public static final Integer FONT = new Integer(5); public static final Integer VISIBLE = new Integer(6); public static final Integer ENABLED = new Integer(7); public static final Integer CHOICE_ITEM = new Integer(8); public static final Integer CHOICE_SELECTED_INDEX = new Integer(9); public static final Integer LIST_ITEM = new Integer(10); public static final Integer SCROLLBAR_LINE_INCREMENT = new Integer(11); public static final Integer SCROLLBAR_PAGE_INCREMENT = new Integer(12); public static final Integer TEXT_EDITABLE = new Integer(13); public static final Integer TEXT_ECHO_CHAR = new Integer(14); public static final Integer RESIZABLE = new Integer(15); JReanimator() { } // // THAT Following comment will be looked for for inserting the generated Object // table. Currently, it must be the only thing on the line (no trailing spaces or tabs) // /*&table*/ public Object table[][] = { // Resource JPob 128 ('ClockPanel') { "ClockPanel", new java.awt.Panel(), // Layout StaticLayout was ignored, sorry, LAYOUT, null, RESHAPE, new Rectangle(0,0,300,200), FOREGROUND, new Color(0,0,0), BACKGROUND, new Color(255,255,255), FONT, new Font("",0,0), null }, { "->" }, { "title", new java.awt.Label("Spiral 2000AD Count Down Clock", 0), RESHAPE, new Rectangle(5,5,216,16), FONT, new Font("Geneva",1,9), null }, { "Today", new java.awt.Label("Today", 0), RESHAPE, new Rectangle(8,43,48,21), FONT, new Font("Geneva",1,9), null }, { "DateTime", new java.awt.Label("00:00", 0), RESHAPE, new Rectangle(64,44,208,20), FONT, new Font("Geneva",1,9), null }, { "b0", new java.awt.Button(""), RESHAPE, new Rectangle(235,121,10,10), FONT, new Font("Geneva",1,9), null }, { "b1", new java.awt.Button(""), RESHAPE, new Rectangle(235,107,10,10), FONT, new Font("Geneva",1,9), null }, { "b2", new java.awt.Button(""), RESHAPE, new Rectangle(220,105,10,10), FONT, new Font("Geneva",1,9), null }, { "b3", new java.awt.Button(""), RESHAPE, new Rectangle(213,119,10,10), FONT, new Font("Geneva",0,9), null }, { "b3", new java.awt.Button(" "), RESHAPE, new Rectangle(220,128,1,1), FONT, new Font("Geneva",0,9), null }, { "b4", new java.awt.Button(""), RESHAPE, new Rectangle(219,135,10,10), FONT, new Font("Geneva",0,9), null }, { "b5", new java.awt.Button(""), RESHAPE, new Rectangle(234,139,10,10), FONT, new Font("Geneva",0,9), null }, { "b7", new java.awt.Button(""), RESHAPE, new Rectangle(257,120,10,10), FONT, new Font("Geneva",0,9), null }, { "b8", new java.awt.Button(""), RESHAPE, new Rectangle(256,106,10,10), FONT, new Font("Geneva",0,9), null }, { "b9", new java.awt.Button(""), RESHAPE, new Rectangle(246,94,10,10), FONT, new Font("Geneva",0,9), null }, { "b10", new java.awt.Button(""), RESHAPE, new Rectangle(231,89,10,10), FONT, new Font("Geneva",0,9), null }, { "b6", new java.awt.Button(""), RESHAPE, new Rectangle(250,133,10,10), FONT, new Font("Geneva",0,9), null }, { "b11", new java.awt.Button(""), RESHAPE, new Rectangle(217,90,10,10), FONT, new Font("Geneva",0,9), null }, { "b12", new java.awt.Button(""), RESHAPE, new Rectangle(203,97,10,10), FONT, new Font("Geneva",0,9), null }, { "b13", new java.awt.Button(""), RESHAPE, new Rectangle(197,109,10,10), FONT, new Font("Geneva",0,9), null }, { "b14", new java.awt.Button(""), RESHAPE, new Rectangle(197,121,10,10), FONT, new Font("Geneva",0,9), null }, { "b15", new java.awt.Button(""), RESHAPE, new Rectangle(199,134,10,10), FONT, new Font("Geneva",0,9), null }, { "b16", new java.awt.Button(""), RESHAPE, new Rectangle(206,145,10,10), FONT, new Font("Geneva",0,9), null }, { "b17", new java.awt.Button(""), RESHAPE, new Rectangle(220,153,10,10), FONT, new Font("Geneva",0,9), null }, { "b18", new java.awt.Button(""), RESHAPE, new Rectangle(234,155,10,10), FONT, new Font("Geneva",0,9), null }, { "b19", new java.awt.Button(""), RESHAPE, new Rectangle(250,152,10,10), FONT, new Font("Geneva",0,9), null }, { "CDsecs", new java.awt.Label("00000000", 0), RESHAPE, new Rectangle(96,88,80,16), FONT, new Font("Geneva",1,9), null }, { "CDdays", new java.awt.Label("00000000", 0), RESHAPE, new Rectangle(96,112,80,16), FONT, new Font("Geneva",1,9), null }, { "b20", new java.awt.Button(""), RESHAPE, new Rectangle(263,145,10,10), FONT, new Font("Geneva",0,9), null }, { "b21", new java.awt.Button(""), RESHAPE, new Rectangle(272,133,10,10), FONT, new Font("Geneva",0,9), null }, { "b22", new java.awt.Button(""), RESHAPE, new Rectangle(275,119,10,10), FONT, new Font("Geneva",0,9), null }, { "b23", new java.awt.Button(""), RESHAPE, new Rectangle(274,104,10,10), FONT, new Font("Geneva",0,9), null }, { "b24", new java.awt.Button(""), RESHAPE, new Rectangle(268,89,10,10), FONT, new Font("Geneva",0,9), null }, { "b25", new java.awt.Button(""), RESHAPE, new Rectangle(258,76,10,10), FONT, new Font("Geneva",0,9), null }, { "TimeNow", new java.awt.Button("Time Now"), RESHAPE, new Rectangle(17,135,60,20), FONT, new Font("Geneva",0,9), null }, { "b26", new java.awt.Button(""), RESHAPE, new Rectangle(242,73,10,10), FONT, new Font("Geneva",0,9), null }, { "b27", new java.awt.Button(""), RESHAPE, new Rectangle(225,73,10,10), FONT, new Font("Geneva",0,9), null }, { "b28", new java.awt.Button(""), RESHAPE, new Rectangle(209,73,10,10), FONT, new Font("Geneva",0,9), null }, { "b29", new java.awt.Button(""), RESHAPE, new Rectangle(194,73,10,10), FONT, new Font("Geneva",0,9), null }, { "help", new java.awt.Label("Click on the Spiral or the Pop-Ups to change the time", 0), RESHAPE, new Rectangle(8,176,280,16), FONT, new Font("Geneva",0,9), null }, { "SecondsPop", new java.awt.Choice(), CHOICE_ITEM, "Seconds", CHOICE_ITEM, "10", CHOICE_ITEM, "100", CHOICE_ITEM, "1000", CHOICE_ITEM, "10000", CHOICE_ITEM, "100000", RESHAPE, new Rectangle(16,88,72,16), FONT, new Font("Geneva",0,9), null }, { "DaysPop", new java.awt.Choice(), CHOICE_ITEM, "Days", CHOICE_ITEM, "1", CHOICE_ITEM, "10", CHOICE_ITEM, "100", CHOICE_ITEM, "1000", CHOICE_ITEM, "10000", RESHAPE, new Rectangle(16,112,72,16), FONT, new Font("Geneva",0,9), null }, { "title", new java.awt.Label("by K. Grabe. v1.0", 0), RESHAPE, new Rectangle(6,22,100,16), FONT, new Font("Geneva",0,9), ENABLED, new Boolean(false), null }, null }; // // Easy method for locating a named object in the default description table // public Component locate(String inName) { return locate(table, null, inName); } // // Easy method for locating a named object in a specifeid container // public Component locate(String inContainer, String inName) { return locate(table, inContainer, inName); } // // Locate a names object in the table // public Component locate(Object objects[][], String inContainer, String inName) { int i = (inContainer != null) ? getTopLevel(objects, inContainer) : 0; if (i == -1) return null; if (inName == null) return (Component)objects[i][0]; for (; objects[i] != null; i++) { String name = (String)objects[i][0]; if (name.equals(inName)) return (Component)objects[i][1]; if (inContainer != null && name.equals("<->")) return null; } return null; } // // Easy method for making a named object with the default description table // public Container make(String inName) { return make(table, inName); } // // Locate a specified top level Container // private int getTopLevel(Object objects[][], String inName) { int object = 0; while (objects[object] != null) { if (((String)objects[object][0]).equals(inName)) return object; while (objects[object] != null && !((String)objects[object][0]).equals("<->")) object++; if (objects[object] != null) object++; } return -1; } // // Make a container from a description table // public Container make(Object objects[][], String inName) { Stack cStack = new Stack(); // // find the specified top level Container // int object = getTopLevel(objects, inName); if (object == -1) return null; Component o = null; while (objects[object] != null) { String name = (String)objects[object][0]; if (name.equals("<->")) // was the last component of that container break; if (name.equals("->") && o != null) { // push the last object to the stack // It will be used as container // for the next components until a "<-" cStack.push(o); object++; continue; } if (name.equals("<-")) { // pop the last container if (!cStack.empty()) cStack.pop(); object++; continue; } o = (Component)objects[object][1]; if (o == null) // If the object has not been created continue; if (!cStack.empty()) { // If a container exists, inherit the current objects properties to // the container properties (simplify the table) Container c = (Container)cStack.peek(); o.setFont(c.getFont()); o.setBackground(c.getBackground()); o.setForeground(c.getForeground()); /* Shall we inherit those properties too ? if (c.isEnabled() o.enable(); else o.disable(); if (c.isVisible()) o.show(); else o.hide(); */ } for (int p = 2; objects[object][p] != null; p += 2) { Integer prop = (Integer)objects[object][p]; Object value = objects[object][p+1]; switch (prop.intValue()) { case 1: // LAYOUT { Container cont = (Container)o; cont.setLayout((LayoutManager)value); } break; case 2: // RESHAPE { Rectangle r = (Rectangle)value; o.reshape(r.x, r.y, r.width, r.height); } break; case 3: // FOREGROUND o.setForeground((Color)value); break; case 4: // BACKGROUND o.setBackground((Color)value); break; case 5: // FONT o.setFont((Font)value); break; case 6: // VISIBLE { Boolean b = (Boolean) value; if (b.booleanValue()) o.show(); else o.hide(); } break; case 7: // ENABLED { Boolean b = (Boolean) value; o.enable(b.booleanValue()); } break; case 8: // CHOICE_ITEM if (o instanceof java.awt.Choice) { java.awt.Choice c = (java.awt.Choice) o; c.addItem((String)value); } break; case 9: // CHOICE_SELECTED_INDEX if (o instanceof java.awt.Choice) { java.awt.Choice c = (java.awt.Choice) o; Integer i = (Integer) value; c.select(i.intValue()); } break; case 10: // LIST_ITEM if (o instanceof java.awt.List) { java.awt.List l = (java.awt.List) o; l.addItem((String)value); } break; case 11: // SCROLLBAR_LINE_INCREMENT if (o instanceof java.awt.Scrollbar) { java.awt.Scrollbar s = (java.awt.Scrollbar) o; Integer i = (Integer) value; s.setLineIncrement(i.intValue()); } break; case 12: // SCROLLBAR_PAGE_INCREMENT if (o instanceof java.awt.Scrollbar) { java.awt.Scrollbar s = (java.awt.Scrollbar) o; Integer i = (Integer) value; s.setPageIncrement(i.intValue()); } break; case 15: // RESIZABLE if (o instanceof java.awt.Frame) { java.awt.Frame f = (java.awt.Frame) o; Boolean b = (Boolean) value; f.setResizable(b.booleanValue()); } break; case 13: // TEXT_EDITABLE if (o instanceof java.awt.TextComponent) { java.awt.TextComponent t = (java.awt.TextComponent) o; Boolean b = (Boolean) value; t.setEditable(b.booleanValue()); } break; case 14: // TEXT_ECHO_CHAR if (o instanceof java.awt.TextField) { java.awt.TextField t = (java.awt.TextField) o; Integer i = (Integer) value; t.setEchoCharacter((char)i.intValue()); } break; default: System.err.println("CReanimator: Unknown property : " + prop); } } if (!cStack.empty()) { // Add the component to the current Container Container c = (Container)cStack.peek(); c.add(o); } object++; } return cStack.empty() ? null : (Container)cStack.pop(); // return the current Container } }