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

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.CardLayout;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Dialog;
  8. import java.awt.Event;
  9. import java.awt.Panel;
  10. import java.awt.Window;
  11. import java.util.Vector;
  12.  
  13. public class JDPLayoutView extends JDPClassLayout {
  14.    JDPLayoutMgr target;
  15.    Panel targetPanel;
  16.    JDPTreePicker tree;
  17.    JDPPopupMessage popuppanel;
  18.    JDPDragItem dragPanel;
  19.    JDPPopupMenu popup;
  20.    JDPTreeBranch lastSelectedBranch;
  21.  
  22.    void resetComponentTree() {
  23.       if (this.target.compTree != null) {
  24.          this.tree.selectRoot();
  25.          this.removeSelectedBranch();
  26.          this.target.interactionMgr.removeMethod(this.tree.treeRoot);
  27.          this.tree.removeBranch(this.target.compTree);
  28.       }
  29.  
  30.       this.lastSelectedBranch = null;
  31.       this.target.lastSelectedBranch = null;
  32.       Object[] var1 = new Object[]{"Components"};
  33.       String[] var2 = new String[]{"Drop here to add this component to the Panel"};
  34.       this.tree.setDropKeys(var1);
  35.       this.tree.setDropMessages(var2);
  36.       int[] var3 = new int[]{24};
  37.       this.tree.setIcons(var3);
  38.       this.target.compTree = this.tree.setRoot("Main", true);
  39.       this.target.centerPanel.setForeground(Color.black);
  40.       this.target.centerPanel.setFont(super.user.plainFont);
  41.       this.target.centerPanel.setLayout(new BorderLayout());
  42.       this.target.compTree.thisObject = this.target.centerPanel;
  43.       this.target.compTree.compType = "Panel";
  44.       this.target.compTree.compPosition = "Center";
  45.       this.target.compTree.properties = null;
  46.       this.target.setProperties(this.target.compTree);
  47.       this.target.interactionMgr.setProperties(this.target.compTree);
  48.       this.target.compTree.text = new String[1];
  49.       this.target.saveSource(this.target.compTree, this.target.gSource.buildSource(this.target.compTree));
  50.       this.target.saveSource(this.target.compTree, this.target.gSource.createComment("Initialise other components by calling their methods") + "\tpublic void InitComponents() {\r\n\r\n\t\tjaggSQL.setKeepConnectionOpen(false);\r\n\r\n\t}\r\n");
  51.       this.target.interactionMgr.clearEventTree();
  52.       this.target.interactionMgr.clearMethodTree();
  53.       this.target.interactionMgr.loadMethodTree(this.target.compTree, false);
  54.       this.tree.nothingChanged = false;
  55.       this.tree.repaint();
  56.    }
  57.  
  58.    void removeBranch(JDPTreeBranch[] var1) {
  59.       int var2 = var1.length - 1;
  60.       String[] var3 = new String[var2 + 1];
  61.  
  62.       for(int var4 = 0; var4 <= var2; ++var4) {
  63.          var3[var4] = var1[var4].name;
  64.       }
  65.  
  66.       this.tree.removeBranch(var3);
  67.       super.user.JDesignerPro.gc();
  68.    }
  69.  
  70.    void removeSelectedBranch() {
  71.       boolean var1 = false;
  72.       if (this.target.lastButton != null && this.target.lastButton.equals("Layout")) {
  73.          this.target.setButton("Blank");
  74.          var1 = true;
  75.       }
  76.  
  77.       JDPTreeBranch var2 = this.tree.getCurrentBranch();
  78.       if (var2 != null) {
  79.          Component var3 = null;
  80.          if (var2.thisObject instanceof Component) {
  81.             var3 = (Component)var2.thisObject;
  82.          }
  83.  
  84.          if (var3 != null && var3 instanceof JDPTabSelectPanel) {
  85.             String[] var4 = new String[]{"Tab 1"};
  86.             Panel[] var5 = new Panel[1];
  87.             ((JDPTabSelectPanel)var3).loadNewTabs(var4, var5, "North");
  88.          } else if (var2.thisObject instanceof Container) {
  89.             ((Container)var2.thisObject).removeAll();
  90.          }
  91.  
  92.          for(int var6 = 0; var6 < var2.leaves.size(); ++var6) {
  93.             JDPTreeBranch var7 = (JDPTreeBranch)var2.leaves.elementAt(var6);
  94.             this.target.removeDefinitionHandle(var7);
  95.             this.target.interactionMgr.removeMethod(var7);
  96.          }
  97.  
  98.          this.tree.removeBranch(var2);
  99.          super.user.JDesignerPro.gc();
  100.          if (var1) {
  101.             this.target.reLoadComponents(var2);
  102.          }
  103.  
  104.       }
  105.    }
  106.  
  107.    public boolean handleEvent(Event var1) {
  108.       switch (var1.id) {
  109.          case 202:
  110.             if (var1.target instanceof JDPTabSelectTopPanel) {
  111.                return true;
  112.             }
  113.  
  114.             return false;
  115.          case 501:
  116.             this.dragPanel.postEvent(var1);
  117.             if (this.popup.isVisible()) {
  118.                this.popup.hideMenu();
  119.                return true;
  120.             }
  121.  
  122.             return false;
  123.          case 502:
  124.             if (this.dragPanel.isVisible()) {
  125.                this.dragPanel.postEvent(var1);
  126.                return true;
  127.             }
  128.  
  129.             return false;
  130.          case 503:
  131.          case 504:
  132.          case 505:
  133.             this.popuppanel.postEvent(var1);
  134.             return false;
  135.          case 506:
  136.             this.dragPanel.postEvent(var1);
  137.             return true;
  138.          case 701:
  139.             if (var1.when - this.target.lastEventTime < 500L) {
  140.                return true;
  141.             } else {
  142.                if (var1.target instanceof JDPTreePicker) {
  143.                   String var4 = (String)var1.arg;
  144.                   if (!var4.equals("BranchOpen")) {
  145.                      JDPTreeBranch var3 = this.tree.getCurrentBranch();
  146.                      if (!var3.equals(this.lastSelectedBranch)) {
  147.                         this.target.setProperties(var3);
  148.                         if (this.target.buttonPanel != null && this.target.buttonPanel.getPressed() != null && this.target.buttonPanel.getPressed().equals("Events")) {
  149.                            this.target.interactionMgr.setProperties(var3);
  150.                         }
  151.  
  152.                         if (this.target.buttonPanel != null && this.target.buttonPanel.getPressed() != null && this.target.buttonPanel.getPressed().equals("Define")) {
  153.                            this.target.setRelatedComps(var3);
  154.                         }
  155.                      }
  156.  
  157.                      if (this.lastSelectedBranch != null && this.lastSelectedBranch.equals(var3)) {
  158.                         return false;
  159.                      }
  160.  
  161.                      this.lastSelectedBranch = var3;
  162.                   }
  163.                }
  164.  
  165.                return true;
  166.             }
  167.          case 1001:
  168.             if (var1.target instanceof JDPTreePicker) {
  169.                JDPTreeBranch var2 = this.tree.getCurrentBranch();
  170.                if (!var2.equals(this.lastSelectedBranch)) {
  171.                   this.target.setProperties(var2);
  172.                   if (this.target.buttonPanel != null && this.target.buttonPanel.getPressed() != null && this.target.buttonPanel.getPressed().equals("Events")) {
  173.                      this.target.interactionMgr.setProperties(var2);
  174.                   }
  175.  
  176.                   if (this.target.buttonPanel != null && this.target.buttonPanel.getPressed() != null && this.target.buttonPanel.getPressed().equals("Define")) {
  177.                      this.target.setRelatedComps(var2);
  178.                   }
  179.                }
  180.  
  181.                this.lastSelectedBranch = var2;
  182.                return true;
  183.             } else {
  184.                if (var1.target instanceof Button) {
  185.                   return true;
  186.                }
  187.  
  188.                return false;
  189.             }
  190.          default:
  191.             return false;
  192.       }
  193.    }
  194.  
  195.    void initComponentTree() {
  196.       if (this.tree != null) {
  197.          this.target.leftMarginWidth = this.tree.getMinWidth();
  198.       }
  199.  
  200.       this.tree = new JDPTreePicker(super.user, this.targetPanel, this.dragPanel);
  201.       this.tree.setMinWidth(this.target.leftMarginWidth);
  202.       this.tree.setResizingAllowed(false);
  203.       this.tree.showCompPosition = true;
  204.    }
  205.  
  206.    boolean addEntry(String[] var1, int[] var2, Component var3, Object var4, String var5, String var6, String[] var7, String[][] var8, Vector var9) {
  207.       boolean[] var10 = new boolean[var2.length];
  208.       var10[var2.length - 1] = true;
  209.       Object[] var11 = new Object[var2.length];
  210.       var11[var2.length - 1] = "Components";
  211.       String[] var12 = new String[var2.length];
  212.       var12[var2.length - 1] = "Drop here to add this component to the Panel";
  213.       Component var13 = null;
  214.       if (var4 instanceof Component) {
  215.          var13 = (Component)var4;
  216.       } else if (var6 == null || !var6.equals("MenuAccess") && !var6.equals("MenuAutoLoad")) {
  217.          var6 = null;
  218.       }
  219.  
  220.       if (var4 instanceof Dialog) {
  221.          var6 = null;
  222.       }
  223.  
  224.       this.tree.setDragAndDrop(var10);
  225.       this.tree.setDropKeys(var11);
  226.       this.tree.setDropMessages((String[])null);
  227.       if (var3 != null && var13 != null) {
  228.          Container var14 = (Container)var3;
  229.          if (var3 instanceof JDPScrollPanel) {
  230.             JDPScrollPanel var19 = (JDPScrollPanel)var3;
  231.             if (var6 != null && !var6.equals("")) {
  232.                ((Container)var19).add(var6, var13);
  233.             } else {
  234.                ((Container)var19).add(var13);
  235.             }
  236.          } else if (var3 instanceof JDPTabSelectPanel) {
  237.             JDPTabSelectPanel var18 = (JDPTabSelectPanel)var3;
  238.             var18.add(var13, var1[var1.length - 1]);
  239.          } else if (var3 instanceof JDPChiselFramePanel) {
  240.             if (var14.countComponents() != 4) {
  241.                super.user.mainmsg.setStatusMsg("You may only add one panel to the Chisel Panel", 15);
  242.                return false;
  243.             }
  244.  
  245.             JDPChiselFramePanel var17 = (JDPChiselFramePanel)var3;
  246.             ((Container)var17).add("Center", var13);
  247.          } else if (var3 instanceof Container && !(var13 instanceof Window)) {
  248.             Container var15 = (Container)var3;
  249.             if (var6 != null && !var6.equals("")) {
  250.                var15.add(var6, var13);
  251.                if (var3 instanceof JDPCardPanel) {
  252.                   ((JDPCardPanel)var3).setSelectedComp(var6);
  253.                }
  254.             } else if (var15.getLayout() instanceof CardLayout) {
  255.                var15.add(var1[var1.length - 1], var13);
  256.             } else {
  257.                var15.add(var13);
  258.             }
  259.          }
  260.  
  261.          if (var13 instanceof Container || var13 instanceof JDPScrollPanel || var13 instanceof JDPTabSelectPanel || var13 instanceof JDPChiselFramePanel) {
  262.             if (!(var13 instanceof JDPTextGrid) && !(var13 instanceof JDPButton) && !(var13 instanceof JDPButtons) && !(var13 instanceof JDPTreePicker) && !(var13 instanceof JDPPopupMenu) && !(var13 instanceof JDPPopupMenu) && !(var13 instanceof JDPBrowser) && !(var13 instanceof JDPRichText) && !(var13 instanceof JDPImage) && !(var13 instanceof JDPChart) && !(var13 instanceof JDPFilePicker) && !(var13 instanceof JDPSpinner) && !(var13 instanceof JDPCalendarPicker) && !(var13 instanceof JDPChoice) && !(var13 instanceof JDPComboBox) && !(var13 instanceof JDPClassLayout)) {
  263.                if (var13 instanceof Container) {
  264.                   this.dragPanel.addDropComponent(var13, (Container)var3, var11[var2.length - 1], "Drop here to add component to Panel");
  265.                }
  266.  
  267.                this.tree.setDragAndDrop(var10);
  268.                this.tree.setDropKeys(var11);
  269.                this.tree.setDropMessages(var12);
  270.             } else {
  271.                this.tree.setDragAndDrop(var10);
  272.                this.tree.setDropKeys(var11);
  273.             }
  274.          }
  275.       }
  276.  
  277.       if (var7 == null || var7.length == 0) {
  278.          var7 = new String[]{""};
  279.       }
  280.  
  281.       JDPTreeBranch var16 = this.tree.addEntry(var1, var2, var4, var5, var6, var7, var8, var9);
  282.       this.tree.select(var1);
  283.       if (var16 != null) {
  284.          this.target.cMgr.currentBranch = var16;
  285.          if (var16.properties != null && var16.thisObject != null) {
  286.             this.target.cMgr.updateProperties(0);
  287.          }
  288.  
  289.          this.target.setProperties(var16);
  290.          this.target.interactionMgr.setProperties(var16);
  291.          if (!this.target.projectLoading) {
  292.             this.lastSelectedBranch = var16;
  293.          }
  294.       }
  295.  
  296.       this.tree.nothingChanged = false;
  297.       this.tree.repaint();
  298.       return true;
  299.    }
  300.  
  301.    void removeSelectedLeaf() {
  302.       boolean var1 = false;
  303.       if (this.target.lastButton != null && this.target.lastButton.equals("Layout")) {
  304.          this.target.setButton("Blank");
  305.          var1 = true;
  306.       }
  307.  
  308.       JDPTreeBranch var2 = null;
  309.       JDPTreeBranch var3 = this.tree.getCurrentBranch();
  310.       Object var4 = null;
  311.       if (var3.thisObject instanceof Component) {
  312.          Container var7 = ((Component)var3.thisObject).getParent();
  313.          JDPTreeBranch[] var5 = this.tree.getTreeBranch(var3);
  314.          if (var5 != null && var5.length > 1) {
  315.             var2 = var5[var5.length - 2];
  316.          }
  317.  
  318.          if (var7 != null) {
  319.             if (var2 != null && var2.thisObject != null && var2.thisObject instanceof JDPTabSelectPanel) {
  320.                ((JDPTabSelectPanel)var2.thisObject).removeTab((Component)var3.thisObject);
  321.             } else {
  322.                var7.remove((Component)var3.thisObject);
  323.             }
  324.          }
  325.       }
  326.  
  327.       this.target.removeDefinitionHandle(var3);
  328.       this.target.interactionMgr.clearEventTree();
  329.       this.target.interactionMgr.removeMethod(var3);
  330.       this.tree.removeBranch(this.tree.getTreeBranchNames(var3));
  331.       if (var3.relatedComps != null) {
  332.          for(int var8 = 0; var8 < var3.relatedComps.length; ++var8) {
  333.             ((JDPClassLayout)var3.relatedComps[var8]).setComponentName(var3.name);
  334.             ((JDPClassLayout)var3.relatedComps[var8]).setThisBranch(var3);
  335.             ((JDPClassLayout)var3.relatedComps[var8]).removeSelections();
  336.          }
  337.       }
  338.  
  339.       Object var6 = null;
  340.       super.user.JDesignerPro.gc();
  341.       if (var1 && var2 != null) {
  342.          this.target.reLoadComponents(var2);
  343.       }
  344.  
  345.    }
  346.  
  347.    public void InitClass(JDPUser var1, JDPLayoutMgr var2, String var3) {
  348.       super.user = var1;
  349.       this.target = var2;
  350.       this.targetPanel = var2.targetPanel;
  351.       ((Container)this).setLayout(new BorderLayout());
  352.       ((Component)this).setFont(var1.plainFont);
  353.       this.popuppanel = new JDPPopupMessage(var1, this);
  354.       ((Container)this).add(this.popuppanel);
  355.       this.dragPanel = var2.dragPanel;
  356.       Panel var4 = new Panel();
  357.       ((Container)var4).setLayout(new BorderLayout());
  358.       this.popup = new JDPPopupMenu(var1, this);
  359.       this.targetPanel.add(this.popup);
  360.       this.initComponentTree();
  361.       ((Container)var4).add("Center", this.tree);
  362.       this.popuppanel.addComponent(this.tree, "", "Drag an object to move it to another container. Click on an Object or Main for other options.");
  363.       ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Layout View", var4, "North"));
  364.       this.targetPanel.paintAll(this.targetPanel.getGraphics());
  365.       var1.gParm.addElement(this);
  366.       var1.JDesignerPro.gc();
  367.    }
  368. }
  369.