home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPMenuAddOption.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  8.2 KB  |  269 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.Panel;
  8. import java.awt.TextField;
  9. import java.util.StringTokenizer;
  10. import java.util.Vector;
  11.  
  12. public class JDPMenuAddOption extends JDPClassLayout {
  13.    JDPJagg jaggSQL;
  14.    JDPPopupMessage popuppanel;
  15.    JDPLayoutMgr targetLayoutMgr;
  16.    String[] psortChoice;
  17.    String[] pdisplayChoice;
  18.    int itemIndex;
  19.    boolean insertRequested;
  20.    boolean deleteRequested;
  21.    String pfromWhereClause;
  22.    JDPChoice menuname;
  23.    Vector valuemenuname;
  24.    TextField menunum;
  25.    TextField menudesc;
  26.    String appName;
  27.    String systemOU = "";
  28.  
  29.    void loadChoices() {
  30.       this.valuemenuname = new Vector();
  31.       this.menuname.clear();
  32.       if (super.user.JDesignerPro.NDSPath != null) {
  33.          this.jaggSQL.setFCTN("NDSexecSQL");
  34.          new JDPLoadChoice(super.user, this.jaggSQL, this.menuname, "b.JDP:menuname", "b.JDP:menuname", "JDesignerPro System a, JDesignerPro Menu b", "a.JDP:JDPSystem = '" + super.user.JDPSystem + "'", this.valuemenuname);
  35.       } else {
  36.          new JDPLoadChoice(super.user, this.jaggSQL, this.menuname, "DISTINCT menuname", "menuname", "JDPMenu", "JDPSystem = '" + super.user.JDPSystem + "'", this.valuemenuname);
  37.       }
  38.    }
  39.  
  40.    void clearFields() {
  41.       this.menuname.select("Main");
  42.       this.menunum.setText("1");
  43.       this.menudesc.setText(this.appName);
  44.       this.menunum.selectAll();
  45.       this.menunum.requestFocus();
  46.    }
  47.  
  48.    void retrieveHandle() {
  49.       for(int var1 = 0; var1 < super.user.gParm.size(); ++var1) {
  50.          if (super.user.gParm.elementAt(var1) instanceof JDPLayoutMgr) {
  51.             this.targetLayoutMgr = (JDPLayoutMgr)super.user.gParm.elementAt(var1);
  52.             this.appName = this.targetLayoutMgr.appName;
  53.             this.menudesc.setText(this.targetLayoutMgr.appName);
  54.             return;
  55.          }
  56.       }
  57.  
  58.    }
  59.  
  60.    boolean saveData() {
  61.       int var1 = 0;
  62.       Vector var2 = new Vector();
  63.       this.jaggSQL.getSEP();
  64.       String var3 = "";
  65.       if (super.user.JDesignerPro.NDSPath != null) {
  66.          var3 = "INSERT INTO JDesignerPro Menu Option (OU, JDP:menunum,JDP:menutype,JDP:menuobject,JDP:menuparm,JDP:menudesc,Description,JDP:menustat,JDP:menutxtclr, " + "JDP:menutabclr,`ACL:[Entry Rights]`) " + "VALUES(" + this.menunum.getText() + this.menudesc.getText() + "," + this.menunum.getText() + "," + "'P','" + this.appName + "','', " + "'" + this.menudesc.getText() + "'," + "'" + this.menudesc.getText() + "'," + "'A'," + "'Black', " + "'LightGray', " + "'')" + " PARENT=" + this.systemOU + "\\" + (String)this.valuemenuname.elementAt(this.menuname.getSelectedIndex());
  67.       } else {
  68.          var3 = "INSERT INTO JDPMenu (JDPSystem,menuname, " + "menunum, " + "menudesc, " + "menutype, " + "menuobject, " + "menuparm, " + "menutxtclr, " + "menutabclr, " + "menustatus, " + "menuauth1, " + "menulvl1, " + "menuauth2, " + "menulvl2, " + "menuauth3, " + "menulvl3, " + "menuauth4, " + "menulvl4, " + "menuauth5, " + "menulvl5" + ") VALUES('" + super.user.JDPSystem + "','" + (String)this.valuemenuname.elementAt(this.menuname.getSelectedIndex()) + "', " + "" + this.menunum.getText() + ", " + "'" + super.user.u.replace(this.menudesc.getText(), "'", "''") + "', " + "'P', " + "'" + this.appName + "', " + "'','Black','LightGray','A','*ALL',0,'',0,'',0,'',0,'',0)";
  69.       }
  70.  
  71.       super.user.mainmsg.setStatusMsg("Accessing database...", 0);
  72.       var1 = this.jaggSQL.execSQL(var3, var2);
  73.       if (var1 == -1) {
  74.          super.user.u.setSqlMessage(this.jaggSQL, var3);
  75.          return false;
  76.       } else {
  77.          if (var1 == 1) {
  78.             super.user.mainmsg.setStatusMsg("You must now exit JDesignerPro and log in again for the changes to take effect.", 20);
  79.          } else {
  80.             super.user.u.setSqlMessage(this.jaggSQL, var3);
  81.          }
  82.  
  83.          this.insertRequested = false;
  84.          return true;
  85.       }
  86.    }
  87.  
  88.    boolean checkFields() {
  89.       Vector var1 = new Vector();
  90.       if (!super.user.u.isfloat(this.menunum, super.user.mainmsg)) {
  91.          return false;
  92.       } else {
  93.          String var2;
  94.          if (super.user.JDesignerPro.NDSPath != null) {
  95.             var2 = "SELECT JDP:menunum FROM JDesignerPro Menu Option " + "WHERE JDP:menunum = " + this.menunum.getText() + " PARENT=" + this.systemOU + "\\" + (String)this.valuemenuname.elementAt(this.menuname.getSelectedIndex());
  96.          } else {
  97.             var2 = "SELECT * FROM JDPMenu WHERE JDPSystem = '" + super.user.JDPSystem + "' " + "AND menuname = '" + (String)this.valuemenuname.elementAt(this.menuname.getSelectedIndex()) + "' " + "AND menunum = " + this.menunum.getText();
  98.          }
  99.  
  100.          super.user.mainmsg.setStatusMsg("Accessing database...", 0);
  101.          int var3 = this.jaggSQL.execSQL(var2, var1);
  102.          if (var3 > 0) {
  103.             this.menunum.selectAll();
  104.             this.menunum.requestFocus();
  105.             super.user.mainmsg.setStatusMsg("A menu option with this number already exists.", 20);
  106.             return false;
  107.          } else {
  108.             super.user.mainmsg.clearStatusMsg();
  109.             return true;
  110.          }
  111.       }
  112.    }
  113.  
  114.    public boolean handleEvent(Event var1) {
  115.       switch (var1.id) {
  116.          case 202:
  117.             if (var1.target instanceof JDPTabSelectPanel) {
  118.                this.retrieveHandle();
  119.                return false;
  120.             }
  121.  
  122.             return false;
  123.          case 401:
  124.             if (var1.key == 9) {
  125.                if (var1.modifiers != 1) {
  126.                   if (var1.target.equals(this.menuname)) {
  127.                      super.user.u.cursor(this.menunum);
  128.                      return true;
  129.                   }
  130.  
  131.                   if (var1.target.equals(this.menunum)) {
  132.                      super.user.u.cursor(this.menudesc);
  133.                      return true;
  134.                   }
  135.  
  136.                   if (var1.target.equals(this.menudesc)) {
  137.                      super.user.u.cursor(this.menuname);
  138.                      return true;
  139.                   }
  140.                } else {
  141.                   if (var1.target.equals(this.menunum)) {
  142.                      super.user.u.cursor(this.menuname);
  143.                      return true;
  144.                   }
  145.  
  146.                   if (var1.target.equals(this.menudesc)) {
  147.                      super.user.u.cursor(this.menunum);
  148.                      return true;
  149.                   }
  150.  
  151.                   if (var1.target.equals(this.menuname)) {
  152.                      super.user.u.cursor(this.menudesc);
  153.                      return true;
  154.                   }
  155.                }
  156.  
  157.                return true;
  158.             }
  159.  
  160.             return false;
  161.          case 503:
  162.          case 504:
  163.          case 505:
  164.             this.popuppanel.postEvent(var1);
  165.             return false;
  166.          case 1001:
  167.             if (var1.target instanceof Button) {
  168.                String var2 = (String)var1.arg;
  169.                if (var2.trim().compareTo("Add New Option") == 0) {
  170.                   this.insertRequested = true;
  171.                   if (this.checkFields()) {
  172.                      this.saveData();
  173.                   }
  174.  
  175.                   return true;
  176.                }
  177.  
  178.                return true;
  179.             } else if (var1.target instanceof JDPChoice) {
  180.                return true;
  181.             } else {
  182.                if (var1.target instanceof TextField) {
  183.                   this.checkFields();
  184.                   return true;
  185.                }
  186.  
  187.                return false;
  188.             }
  189.          default:
  190.             return false;
  191.       }
  192.    }
  193.  
  194.    void loadSystemOU() {
  195.       String var1 = "SELECT OU FROM JDesignerPro System WHERE JDP:JDPSystem = '" + super.user.JDPSystem + "'";
  196.       Vector var2 = new Vector();
  197.       this.jaggSQL.execSQL(var1, var2);
  198.       StringTokenizer var3 = new StringTokenizer((String)var2.elementAt(0));
  199.       this.systemOU = var3.nextToken(this.jaggSQL.getSEP()).trim();
  200.    }
  201.  
  202.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  203.       super.user = var1;
  204.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  205.       this.jaggSQL.setNULL("space");
  206.       this.jaggSQL.setMRW("100");
  207.       this.jaggSQL.loadSettings(var1);
  208.       if (var1.JDesignerPro.NDSPath != null) {
  209.          this.jaggSQL.setFCTN("NDSexecSQL");
  210.          this.loadSystemOU();
  211.       }
  212.  
  213.       ((Container)this).setLayout(new BorderLayout());
  214.       ((Component)this).setFont(var1.plainFont);
  215.       this.popuppanel = new JDPPopupMessage(var1, var2);
  216.       ((Container)var2).add(this.popuppanel);
  217.       Panel var4 = new Panel();
  218.       ((Container)var4).setLayout(new BorderLayout());
  219.       Panel var5 = new Panel();
  220.       ((Container)var5).setLayout(new BorderLayout());
  221.       Panel var6 = new Panel();
  222.       ((Container)var6).setLayout(new BorderLayout());
  223.       JDPScrollPanel var7 = new JDPScrollPanel();
  224.       this.menuname = new JDPChoice();
  225.       this.menunum = new TextField("", 12);
  226.       this.menudesc = new TextField("", 32);
  227.       this.loadChoices();
  228.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Add to Menu:", Color.black));
  229.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "New option number:", Color.black));
  230.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Tab description:", Color.black));
  231.       Panel var8 = new Panel();
  232.       ((Container)var8).setLayout(new JDPLineLayout(3));
  233.       ((Container)var8).add("Left", this.menuname);
  234.       ((Container)var7).add("Right", var8);
  235.       Panel var9 = new Panel();
  236.       ((Container)var9).setLayout(new JDPLineLayout(3));
  237.       ((Container)var9).add("Left", this.menunum);
  238.       ((Container)var7).add("Right", var9);
  239.       Panel var10 = new Panel();
  240.       ((Container)var10).setLayout(new JDPLineLayout(3));
  241.       ((Container)var10).add("Left", this.menudesc);
  242.       ((Container)var7).add("Right", var10);
  243.       ((Container)var6).add("Center", var7);
  244.       this.menuname.setForeground(Color.black);
  245.       this.menunum.setForeground(Color.black);
  246.       this.menudesc.setForeground(Color.black);
  247.       this.popuppanel.addComponent(this.menuname, "Menu Name", "Name of the menu to which this new option will be added");
  248.       this.popuppanel.addComponent(this.menunum, "Menu Option Number", "The option number for this new menu item");
  249.       this.popuppanel.addComponent(this.menudesc, "Menu tab description", "Enter the description for the menu tab");
  250.       if (var3.compareTo("Inquiry") == 0) {
  251.          this.menunum.setEditable(false);
  252.          this.menudesc.setEditable(false);
  253.       } else {
  254.          String[] var11 = new String[]{"Add New Option"};
  255.          int[] var12 = new int[]{0};
  256.          JDPButtons var13 = new JDPButtons(var1, var11, var12, JDPButtons.HORIZONTAL);
  257.          ((Container)var6).add("South", var13);
  258.          this.popuppanel.addComponent(var13.button[0], "Add option", "Add the new option to the menu");
  259.       }
  260.  
  261.       ((Container)var4).add("Center", var6);
  262.       ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Add a new Menu Option", var4, "North"));
  263.       ((Component)var2).paintAll(((Component)var2).getGraphics());
  264.       this.retrieveHandle();
  265.       var1.gParm.addElement(this);
  266.       this.clearFields();
  267.    }
  268. }
  269.