home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2002 June / INTERNET92.ISO / pc / software / windows / building / visual_dhtml / visualdhtmlwin9x_nt.exe / SLMdlg.___ (.txt) < prev    next >
Encoding:
Java Class File  |  2001-10-19  |  8.3 KB  |  412 lines

  1. import java.awt.Component;
  2. import java.awt.Container;
  3. import java.awt.Dialog;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.FileDialog;
  7. import java.awt.Frame;
  8. import java.awt.Menu;
  9. import java.awt.MenuBar;
  10. import java.awt.MenuItem;
  11. import java.awt.Window;
  12. import java.io.File;
  13.  
  14. class SLMdlg extends Frame {
  15.    boolean isAlive = false;
  16.    boolean mlevel = false;
  17.    APInfo appinfo;
  18.    OCimlp imlpan;
  19.    // $FF: renamed from: hs OChelp
  20.    OChelp field_0;
  21.    LEVdlg levDialog = null;
  22.    OCbbar bbar;
  23.    OCAgrid specmlgrid;
  24.    OCAgrid branchgrid;
  25.    ACRecd rnav;
  26.    ACRlev rlevnav;
  27.    OCAgrid calling_grid;
  28.    int calling_grid_field;
  29.    int dgrid_id = 0;
  30.    boolean specChanged = false;
  31.    boolean branchChanged = false;
  32.  
  33.    SLMdlg(APInfo var1, boolean var2, int var3, OCAgrid var4, int var5) {
  34.       this.isAlive = true;
  35.       this.mlevel = var2;
  36.       this.appinfo = var1;
  37.       this.calling_grid = var4;
  38.       this.calling_grid_field = var5;
  39.       this.dgrid_id = var3;
  40.       ((Component)this).setBackground(ACutilb.windowColor);
  41.       ((Frame)this).setTitle("Sub Menu Builder");
  42.       Dimension var6 = ((Window)this).getToolkit().getScreenSize();
  43.       int var7 = (var6.width - 457) / 2;
  44.       int var8 = (var6.height - 235) / 2;
  45.       ((Component)this).reshape(var7, var8, 430, 300);
  46.       this.appinfo.addInitialLevel();
  47.       this.branchChanged = this.appinfo.hasAnyBranchBeenAdded();
  48.       this.specChanged = this.appinfo.hasAnySpecMLBeenAdded();
  49.       this.specmlgrid = new OCAgrid();
  50.       this.specmlgrid.populateGrid(this.appinfo.getSpecMLParamNames(), this.appinfo.getSpecMLOneValues(), this.appinfo.getSpecMLKeys());
  51.       if (this.mlevel) {
  52.          if (this.appinfo.branch_level) {
  53.             this.branchgrid = new OCAgrid();
  54.             this.branchgrid.populateGrid(this.appinfo.getBranchParamNames(), this.appinfo.getBranchOneValues(), this.appinfo.getBranchKeys());
  55.          }
  56.  
  57.          if (this.appinfo.branch_level) {
  58.             int var9 = 0;
  59.             int var10 = 0;
  60.             var10 = this.specmlgrid.getMaxTitleLength();
  61.             if (var10 > var9) {
  62.                var9 = var10;
  63.             }
  64.  
  65.             var10 = this.branchgrid.getMaxTitleLength();
  66.             if (var10 > var9) {
  67.                var9 = var10;
  68.             }
  69.  
  70.             this.specmlgrid.setMaxTitleWidth(var9);
  71.             this.branchgrid.setMaxTitleWidth(var9);
  72.          }
  73.       }
  74.  
  75.       this.imlpan = new OCimlp(this, this.mlevel);
  76.       ((Container)this).add("Center", this.imlpan);
  77.       if (this.mlevel) {
  78.          this.imlpan.addMLGridMulti(this.specmlgrid);
  79.          if (this.appinfo.branch_level) {
  80.             this.imlpan.addBranchGrid(this.branchgrid);
  81.          }
  82.       } else {
  83.          this.imlpan.addMLGridMulti(this.specmlgrid);
  84.       }
  85.  
  86.       this.rnav = new ACRecd();
  87.       this.imlpan.addSpecNav(this.rnav);
  88.       if (this.mlevel) {
  89.          this.rlevnav = new ACRlev(false);
  90.          this.imlpan.addLevNav(this.rlevnav);
  91.       }
  92.  
  93.       this.imlpan.addDesign(this.dgrid_id);
  94.       this.imlpan.ready_resize = true;
  95.       this.setMenuItems();
  96.       ((Window)this).show();
  97.       this.imlpan.specmlnav.setRecInfo(this.appinfo.cur_tree_index + 1, this.appinfo.max_tree_index + 1);
  98.       this.imlpan.updateDesignPointer(this.appinfo.cur_tree_index);
  99.       if (this.mlevel) {
  100.          this.imlpan.levnav.setRecInfoOnly(this.appinfo.cur_tree_level, this.appinfo.max_tree_level);
  101.       }
  102.  
  103.    }
  104.  
  105.    public void updateBranchParams() {
  106.       if (this.appinfo.branch_level) {
  107.          String[] var1 = new String[this.appinfo.branchparamcount];
  108.  
  109.          for(int var2 = 0; var2 < this.branchgrid.m_values.length; ++var2) {
  110.             var1[var2] = this.branchgrid.m_values[var2];
  111.          }
  112.  
  113.          this.appinfo.updateBranchParams(var1);
  114.          this.branchChanged = true;
  115.       }
  116.  
  117.    }
  118.  
  119.    private void setMenuItems() {
  120.       MenuBar var1 = new MenuBar();
  121.       Menu var2 = new Menu("File");
  122.       Menu var3 = new Menu("Edit");
  123.       Menu var4 = new Menu("View");
  124.       MenuItem var5 = new MenuItem("Close");
  125.       var2.add(var5);
  126.       var5 = new MenuItem("Undo - (Esc)");
  127.       var3.add(var5);
  128.       var5 = new MenuItem("-");
  129.       var3.add(var5);
  130.       var5 = new MenuItem("Cut - (Ctrl+X)");
  131.       var3.add(var5);
  132.       var5 = new MenuItem("Copy - (Ctrl+C)");
  133.       var3.add(var5);
  134.       var5 = new MenuItem("Paste - (Ctrl+V)");
  135.       var3.add(var5);
  136.       var5 = new MenuItem("Delete - (Del)");
  137.       var3.add(var5);
  138.       var5 = new MenuItem("Preview In Browser...");
  139.       var4.add(var5);
  140.       var5 = new MenuItem("-");
  141.       var4.add(var5);
  142.       var5 = new MenuItem("View Source...");
  143.       var4.add(var5);
  144.       var1.add(var2);
  145.       var1.add(var3);
  146.       var1.add(var4);
  147.       ((Frame)this).setMenuBar(var1);
  148.       String[] var6 = new String[7];
  149.       String[] var7 = new String[7];
  150.       String[] var8 = new String[7];
  151.       boolean[] var9 = new boolean[7];
  152.       boolean[] var10 = new boolean[7];
  153.       var6[0] = "acimg/ico_cut.gif";
  154.       var7[0] = "acimg/unico_cut.gif";
  155.       var8[0] = "Cut - (Ctrl+X)";
  156.       var10[0] = true;
  157.       var6[1] = "acimg/ico_copy.gif";
  158.       var7[1] = "acimg/unico_copy.gif";
  159.       var8[1] = "Copy - (Ctrl+C)";
  160.       var10[1] = true;
  161.       var6[2] = "acimg/ico_paste.gif";
  162.       var7[2] = "acimg/unico_paste.gif";
  163.       var8[2] = "Paste - (Ctrl+V)";
  164.       var10[2] = true;
  165.       var6[3] = "-";
  166.       var8[3] = "";
  167.       var6[4] = "acimg/ico_run.gif";
  168.       var7[4] = "acimg/unico_run.gif";
  169.       var8[4] = "Preview In Browser...";
  170.       var9[4] = true;
  171.       var10[4] = true;
  172.       var6[5] = "acimg/ico_viewhtml.gif";
  173.       var7[5] = "acimg/unico_viewhtml.gif";
  174.       var8[5] = "View Source...";
  175.       var9[5] = true;
  176.       var10[5] = true;
  177.       var6[6] = "-";
  178.       var8[6] = "";
  179.       this.bbar = new OCbbar();
  180.       this.bbar.setButtons(var6, var7, var8, var9, var10, 20, 20);
  181.       ((Container)this).add("North", this.bbar);
  182.    }
  183.  
  184.    public void updateParams() {
  185.       String[] var1 = new String[this.appinfo.mlparamcount];
  186.  
  187.       for(int var2 = 0; var2 < this.specmlgrid.m_values.length; ++var2) {
  188.          var1[var2] = this.specmlgrid.m_values[var2];
  189.       }
  190.  
  191.       this.appinfo.updateSpecMLParams(var1);
  192.       this.specChanged = true;
  193.    }
  194.  
  195.    public void preKill() {
  196.       if (!this.specChanged && !this.branchChanged) {
  197.          this.specChanged = this.specmlgrid.preCheckDataChange();
  198.          if (this.appinfo.branch_level) {
  199.             this.branchChanged = this.branchgrid.preCheckDataChange();
  200.          }
  201.       } else {
  202.          this.specmlgrid.preCheckDataChange();
  203.          if (this.appinfo.branch_level) {
  204.             this.branchgrid.preCheckDataChange();
  205.          }
  206.       }
  207.  
  208.       if (this.appinfo.getSpecMLValues().getMaxLevel(this.appinfo.cur_spec_index) < 2 && this.appinfo.max_tree_index < 1 && !this.specChanged && !this.branchChanged) {
  209.          this.appinfo.deleteSpecMLParam();
  210.          this.killWindow("False");
  211.       } else {
  212.          this.killWindow("True");
  213.       }
  214.    }
  215.  
  216.    public void killWindow(String var1) {
  217.       this.calling_grid.setGridValue(this.calling_grid_field, var1);
  218.       this.isAlive = false;
  219.       if (this.specmlgrid != null) {
  220.          this.specmlgrid.stop();
  221.       }
  222.  
  223.       if (this.branchgrid != null) {
  224.          this.branchgrid.stop();
  225.       }
  226.  
  227.       this.imlpan = null;
  228.       this.specmlgrid = null;
  229.       this.branchgrid = null;
  230.       this.rnav = null;
  231.       ((Frame)this).dispose();
  232.       ACutila.iface.toFront();
  233.    }
  234.  
  235.    public void loadSpecMLFields() {
  236.       String[] var1 = this.appinfo.getSpecMLParam();
  237.  
  238.       for(int var2 = 0; var2 < this.specmlgrid.m_values.length; ++var2) {
  239.          this.specmlgrid.m_values[var2] = var1[var2];
  240.       }
  241.  
  242.       this.specmlgrid.reDoGrid();
  243.    }
  244.  
  245.    public void loadBranchFields() {
  246.       if (this.appinfo.branch_level) {
  247.          String[] var1 = this.appinfo.getBranchParam();
  248.  
  249.          for(int var2 = 0; var2 < this.branchgrid.m_values.length; ++var2) {
  250.             this.branchgrid.m_values[var2] = var1[var2];
  251.          }
  252.  
  253.          this.branchgrid.reDoGrid();
  254.       }
  255.  
  256.    }
  257.  
  258.    public boolean handleEvent(Event var1) {
  259.       if (var1.id == 901) {
  260.          Object var9 = var1.target;
  261.          if (var9 == this.specmlgrid) {
  262.             this.updateParams();
  263.             this.imlpan.updateDesign();
  264.             this.imlpan.updateDesignPointer(this.appinfo.cur_tree_index);
  265.             ACutila.iface.ipan.updateDesignOnly(true);
  266.          } else if (var9 == this.branchgrid) {
  267.             this.updateBranchParams();
  268.             ACutila.iface.ipan.updateDesignOnly(true);
  269.          }
  270.  
  271.          return true;
  272.       } else if (var1.id == 9098) {
  273.          new OCicop(this.appinfo, (OCAgrid)var1.target, new Integer((String)var1.arg), false);
  274.          return true;
  275.       } else if (var1.id == 9104) {
  276.          OCAgrid var8 = (OCAgrid)var1.target;
  277.          new OCColor(this, var8, new Integer((String)var1.arg), var8.getGridValue(new Integer((String)var1.arg)));
  278.          return true;
  279.       } else if (var1.id == 9103) {
  280.          OCAgrid var7 = (OCAgrid)var1.target;
  281.          int var16 = new Integer((String)var1.arg);
  282.          FileDialog var17 = new FileDialog(this, "Open", 0);
  283.          if (ACutila.lastImgDir != null) {
  284.             var17.setDirectory(ACutila.lastImgDir);
  285.          } else {
  286.             var17.setDirectory(ACutil.getClassPath());
  287.          }
  288.  
  289.          ((Dialog)var17).show();
  290.          ACutila.lastImgDir = var17.getDirectory();
  291.          if (var17.getFile() != null) {
  292.             var7.setGridValue(var16, (new File(var17.getDirectory(), var17.getFile())).getAbsolutePath());
  293.          }
  294.  
  295.          return true;
  296.       } else if (var1.id == 9106) {
  297.          new OCxywin(this, false, 0, (OCAgrid)var1.target, new Integer((String)var1.arg));
  298.          return true;
  299.       } else if (var1.id == 9102) {
  300.          OCRunWindow var6 = new OCRunWindow();
  301.          var6.setupOCTZoom0(0, (OCAgrid)var1.target, new Integer((String)var1.arg));
  302.          var6.launchOCTZoom0();
  303.          return true;
  304.       } else {
  305.          if (var1.id == 9401) {
  306.             String var2 = ACutil.getHelpDirectoryPath() + File.separator + ACutila.iface.primeclass + "_" + var1.arg.toString();
  307.             File var3 = new File(var2);
  308.             if (!var3.exists()) {
  309.                ACutila.showTextDialog("No Help Document", "A help document for this topic is not available.  For related information see the the help index.");
  310.                return true;
  311.             }
  312.  
  313.             OCRunWindow var4 = new OCRunWindow();
  314.             var4.setupocHelpWin(ACutila.iface.primeclass + "_" + var1.arg.toString(), 275, 225);
  315.             var4.launchocHelpWin();
  316.          }
  317.  
  318.          if (var1.id == 9111) {
  319.             new OCdroplist(this, false, 5, (OCAgrid)var1.target, new Integer((String)var1.arg));
  320.             return true;
  321.          } else if (var1.id == 970) {
  322.             this.appinfo.deleteSpecMLParam();
  323.             this.killWindow("False");
  324.             return true;
  325.          } else if (var1.id == 201) {
  326.             this.preKill();
  327.             return true;
  328.          } else {
  329.             if (var1.id == 1001) {
  330.                String var5 = (String)var1.arg;
  331.                if (var5.equalsIgnoreCase("level settings")) {
  332.                   if (this.levDialog != null) {
  333.                      this.levDialog.dispose();
  334.                   }
  335.  
  336.                   this.levDialog = new LEVdlg(this.appinfo);
  337.                   return true;
  338.                }
  339.  
  340.                if (var5.equals("Cut - (Ctrl+X)")) {
  341.                   if (ACutila.curGrid != null) {
  342.                      Event var15 = new Event(this, 401, new Integer(2));
  343.                      var15.key = 24;
  344.                      ACutila.curGrid.postEvent(var15);
  345.                   }
  346.  
  347.                   return true;
  348.                }
  349.  
  350.                if (var5.equals("Copy - (Ctrl+C)")) {
  351.                   if (ACutila.curGrid != null) {
  352.                      Event var14 = new Event(this, 401, new Integer(2));
  353.                      var14.key = 3;
  354.                      ACutila.curGrid.postEvent(var14);
  355.                   }
  356.  
  357.                   return true;
  358.                }
  359.  
  360.                if (var5.equals("Paste - (Ctrl+V)")) {
  361.                   if (ACutila.curGrid != null) {
  362.                      Event var13 = new Event(this, 401, new Integer(2));
  363.                      var13.key = 22;
  364.                      ACutila.curGrid.postEvent(var13);
  365.                   }
  366.  
  367.                   return true;
  368.                }
  369.  
  370.                if (var5.equals("Undo - (Esc)")) {
  371.                   if (ACutila.curGrid != null) {
  372.                      Event var12 = new Event(this, 401, new Integer(2));
  373.                      var12.key = 27;
  374.                      ACutila.curGrid.postEvent(var12);
  375.                   }
  376.  
  377.                   return true;
  378.                }
  379.  
  380.                if (var5.equals("Delete - (Del)")) {
  381.                   if (ACutila.curGrid != null) {
  382.                      Event var11 = new Event(this, 401, new Integer(2));
  383.                      var11.key = 127;
  384.                      ACutila.curGrid.postEvent(var11);
  385.                   }
  386.  
  387.                   return true;
  388.                }
  389.  
  390.                if (var5.equals("Preview In Browser...")) {
  391.                   ACutila.iface.previewInBrowser();
  392.                   return true;
  393.                }
  394.  
  395.                if (var5.equals("View Source...")) {
  396.                   Event var10 = new Event(this, 1001, new String("View Source..."));
  397.                   ACutila.iface.postEvent(var10);
  398.                   return true;
  399.                }
  400.  
  401.                if (var5.equals("Close")) {
  402.                   this.preKill();
  403.                   return true;
  404.                }
  405.             }
  406.  
  407.             return super.handleEvent(var1);
  408.          }
  409.       }
  410.    }
  411. }
  412.