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

  1. import java.awt.Component;
  2. import java.awt.Container;
  3. import java.awt.Event;
  4. import java.awt.Panel;
  5. import java.util.Vector;
  6.  
  7. public class JDPList extends JDPTreePicker {
  8.    Vector actualVector;
  9.    Vector sortKeyVector;
  10.    int currentIcon = -1;
  11.    String dragKey;
  12.    String dropMessage;
  13.    boolean[] sortDirection;
  14.  
  15.    public String[] getSelectedKeys() {
  16.       int[] var1 = ((JDPTreePicker)this).getSelectedIndexes();
  17.       String[] var2 = new String[var1.length];
  18.  
  19.       for(int var3 = 0; var3 < var1.length; ++var3) {
  20.          var2[var3] = (String)this.actualVector.elementAt(var1[var3]);
  21.       }
  22.  
  23.       return var2;
  24.    }
  25.  
  26.    public JDPList(JDPUser var1) {
  27.       if (var1 != null) {
  28.          super.dragPanel = new JDPDragItem(var1, this);
  29.          ((Container)this).add(super.dragPanel);
  30.       }
  31.  
  32.       ((JDPTreePicker)this).createTree(var1, this, super.dragPanel);
  33.       ((JDPTreePicker)this).setRoot("", true);
  34.       super.listOnly = true;
  35.       this.actualVector = new Vector();
  36.       this.sortKeyVector = new Vector();
  37.    }
  38.  
  39.    public JDPList(JDPUser var1, Panel var2) {
  40.       ((JDPTreePicker)this).createTree(var1, var2, (JDPDragItem)null);
  41.       ((JDPTreePicker)this).setRoot("", true);
  42.       super.listOnly = true;
  43.       this.actualVector = new Vector();
  44.       this.sortKeyVector = new Vector();
  45.    }
  46.  
  47.    public JDPList(JDPUser var1, Panel var2, JDPDragItem var3) {
  48.       ((JDPTreePicker)this).createTree(var1, var2, var3);
  49.       ((JDPTreePicker)this).setRoot("", true);
  50.       super.listOnly = true;
  51.       this.actualVector = new Vector();
  52.       this.sortKeyVector = new Vector();
  53.    }
  54.  
  55.    public void loadList(JDPUser var1, JDPJagg var2, String var3, String var4, String var5, String var6) {
  56.       this.clear();
  57.       Vector var7 = new Vector();
  58.       new JDPLoadChoice(var1, var2, this, var3, var4, var5, var6, var7);
  59.       this.actualVector = var7;
  60.    }
  61.  
  62.    public void loadList(String[] var1, String[] var2) {
  63.       if (var1 != null && var2 != null && var1.length == var2.length) {
  64.          for(int var3 = 0; var3 < var1.length; ++var3) {
  65.             if (var1[var3] != null && var1[var3].length() > 0 && var2[var3] != null && var2[var3].length() > 0) {
  66.                this.addItem(var1[var3], var2[var3]);
  67.             }
  68.          }
  69.  
  70.       }
  71.    }
  72.  
  73.    public void sortList() {
  74.       this.sortList(false, 0);
  75.    }
  76.  
  77.    public void sortList(int var1) {
  78.       this.sortList(false, var1);
  79.    }
  80.  
  81.    public void sortList(boolean var1, int var2) {
  82.       String var5 = null;
  83.       int var6 = 0;
  84.       JDPTreeBranch var9 = super.treeRoot;
  85.       Object var11 = null;
  86.       String var12 = null;
  87.       Object var13 = null;
  88.       int var14 = -9999999;
  89.       int var15 = 0;
  90.       long var16 = -9999999L;
  91.       long var18 = 0L;
  92.       boolean var21 = false;
  93.       if (this.sortDirection != null) {
  94.          var21 = this.sortDirection[var2];
  95.       }
  96.  
  97.       int var22 = this.countItems();
  98.  
  99.       for(int var23 = 0; var23 < var22; ++var23) {
  100.          for(int var24 = var23; var24 < var22; ++var24) {
  101.             JDPTreeBranch var4 = (JDPTreeBranch)var9.leaves.elementAt(var24);
  102.             if (this.sortKeyVector.size() > 0) {
  103.                Object var10 = ((Object[])this.sortKeyVector.elementAt(var24))[var2];
  104.                if (var10 instanceof String) {
  105.                   String var26 = (String)var10;
  106.                   if (var1) {
  107.                      var26 = var26.toLowerCase();
  108.                   }
  109.  
  110.                   if (var12 == null || !var21 && var26.compareTo(var12) < 0 || var21 && var26.compareTo(var12) > 0) {
  111.                      var12 = var26;
  112.                      var6 = var24;
  113.                   }
  114.                } else if (var10 instanceof Integer) {
  115.                   var15 = (Integer)var10;
  116.                   if (var14 == -9999999 || !var21 && var15 < var14 || var21 && var15 > var14) {
  117.                      var14 = var15;
  118.                      var6 = var24;
  119.                   }
  120.                } else if (var10 instanceof Long) {
  121.                   var18 = (Long)var10;
  122.                   if (var16 == -9999999L || !var21 && var18 < var16 || var21 && var18 > var16) {
  123.                      var16 = var18;
  124.                      var6 = var24;
  125.                   }
  126.                }
  127.             } else {
  128.                String var20 = var4.name;
  129.                if (var1) {
  130.                   var20 = var20.toLowerCase();
  131.                }
  132.  
  133.                if (var5 == null || !this.sortDirection[var2] && var20.compareTo(var5) < 0 || this.sortDirection[var2] && var20.compareTo(var5) > 0) {
  134.                   var5 = var20;
  135.                   var6 = var24;
  136.                }
  137.             }
  138.          }
  139.  
  140.          if (var23 < var6 || var6 != 0) {
  141.             JDPTreeBranch var3 = (JDPTreeBranch)var9.leaves.elementAt(var23);
  142.             var9.leaves.setElementAt(var9.leaves.elementAt(var6), var23);
  143.             var9.leaves.setElementAt(var3, var6);
  144.             ((JDPTreeBranch)var9.leaves.elementAt(var23)).branchIndex = var23;
  145.             ((JDPTreeBranch)var9.leaves.elementAt(var6)).branchIndex = var6;
  146.             String var7 = (String)this.actualVector.elementAt(var23);
  147.             this.actualVector.setElementAt(this.actualVector.elementAt(var6), var23);
  148.             this.actualVector.setElementAt(var7, var6);
  149.             if (this.sortKeyVector.size() > 0) {
  150.                Object[] var8 = this.sortKeyVector.elementAt(var23);
  151.                this.sortKeyVector.setElementAt(this.sortKeyVector.elementAt(var6), var23);
  152.                this.sortKeyVector.setElementAt(var8, var6);
  153.             }
  154.          }
  155.  
  156.          var5 = null;
  157.          var11 = null;
  158.          var12 = null;
  159.          var14 = -9999999;
  160.          var16 = -9999999L;
  161.          var6 = 0;
  162.       }
  163.  
  164.    }
  165.  
  166.    public int countItems() {
  167.       return this.getItemCount();
  168.    }
  169.  
  170.    public void select(String var1) {
  171.       int var2 = this.getItem(var1);
  172.       if (var2 >= 0) {
  173.          ((JDPTreePicker)this).select(var2);
  174.       }
  175.  
  176.    }
  177.  
  178.    public void setDropMessage(String var1) {
  179.       this.dropMessage = var1;
  180.    }
  181.  
  182.    public String getDropMessage() {
  183.       return this.dropMessage;
  184.    }
  185.  
  186.    public String[] getItemKeys(int var1) {
  187.       int var2 = 0;
  188.       String[] var3 = new String[this.countItems()];
  189.  
  190.       for(int var4 = 0; var4 < super.treeRoot.leaves.size(); ++var4) {
  191.          JDPTreeBranch var5 = (JDPTreeBranch)super.treeRoot.leaves.elementAt(var4);
  192.          if (var5.icon == var1) {
  193.             var3[var2++] = (String)this.actualVector.elementAt(var5.branchIndex);
  194.          }
  195.       }
  196.  
  197.       String[] var6 = new String[var2];
  198.       System.arraycopy(var3, 0, var6, 0, var2);
  199.       return var6;
  200.    }
  201.  
  202.    public int getItemCount() {
  203.       return this.actualVector.size();
  204.    }
  205.  
  206.    void checkVector() {
  207.       if (this.actualVector == null || this.countItems() == 0) {
  208.          this.actualVector = new Vector();
  209.          this.sortKeyVector = new Vector();
  210.       }
  211.  
  212.    }
  213.  
  214.    public void allowMultipleSelections(boolean var1) {
  215.       super.allowMultiple = var1;
  216.    }
  217.  
  218.    public void setMultipleSelections(boolean var1) {
  219.       super.allowMultiple = var1;
  220.    }
  221.  
  222.    public boolean getMultipleSelections() {
  223.       return super.allowMultiple;
  224.    }
  225.  
  226.    public void remove(int var1) {
  227.       this.delItem(var1);
  228.    }
  229.  
  230.    public void remove(String var1) {
  231.       this.remove(this.getItem(var1));
  232.    }
  233.  
  234.    public void removeAll() {
  235.       this.clear();
  236.    }
  237.  
  238.    public void deselect(int var1) {
  239.       if (var1 < super.treeRoot.leaves.size()) {
  240.          JDPTreeBranch var2 = (JDPTreeBranch)super.treeRoot.leaves.elementAt(var1);
  241.          var2.selected = false;
  242.          ((JDPTreePicker)this).reDraw();
  243.       }
  244.  
  245.    }
  246.  
  247.    public String getItem(int var1) {
  248.       JDPTreeBranch var2 = ((JDPTreePicker)this).getBranch(new Integer(var1));
  249.       return var2 == null ? null : var2.name;
  250.    }
  251.  
  252.    public int getItem(String var1) {
  253.       JDPTreeBranch var2 = ((JDPTreePicker)this).getBranch(var1);
  254.       return var2 == null ? -1 : var2.branchIndex;
  255.    }
  256.  
  257.    public boolean isSelected(int var1) {
  258.       if (var1 < 0) {
  259.          return false;
  260.       } else {
  261.          JDPTreeBranch var2 = (JDPTreeBranch)super.treeRoot.leaves.elementAt(var1);
  262.          return var2.selected;
  263.       }
  264.    }
  265.  
  266.    public void setIcon(int var1) {
  267.       this.currentIcon = var1;
  268.    }
  269.  
  270.    public void setIcon(int var1, int var2) {
  271.       JDPTreeBranch[] var3 = ((JDPTreePicker)this).getTreeBranch(new Integer(var1));
  272.       if (var3 != null) {
  273.          var3[var3.length - 1].icon = var2;
  274.          ((JDPTreePicker)this).reDraw();
  275.       }
  276.  
  277.    }
  278.  
  279.    public void replaceItemKey(int var1, String var2) {
  280.       if (this.actualVector.size() > var1 && var1 >= 0) {
  281.          this.actualVector.setElementAt(var2, var1);
  282.       }
  283.  
  284.    }
  285.  
  286.    public void setDragKey(String var1) {
  287.       this.dragKey = var1;
  288.    }
  289.  
  290.    public String getDragKey() {
  291.       return this.dragKey;
  292.    }
  293.  
  294.    public String getItemKey(int var1) {
  295.       return (String)this.actualVector.elementAt(var1);
  296.    }
  297.  
  298.    public void addItem(String var1) {
  299.       this.addItem((String)var1, var1, this.currentIcon, (Object[])null);
  300.    }
  301.  
  302.    public void addItem(String[] var1) {
  303.       this.addItem((String[])var1, var1[0], this.currentIcon, (Object[])null);
  304.    }
  305.  
  306.    public void addItem(String var1, String var2) {
  307.       this.addItem((String)var1, var2, this.currentIcon, (Object[])null);
  308.    }
  309.  
  310.    public void addItem(String[] var1, String var2) {
  311.       this.addItem((String[])var1, var2, this.currentIcon, (Object[])null);
  312.    }
  313.  
  314.    public void addItem(String var1, int var2) {
  315.       this.addItem(var1, var1, var2);
  316.    }
  317.  
  318.    public void addItem(String[] var1, int var2) {
  319.       this.addItem(var1, var1[0], var2);
  320.    }
  321.  
  322.    public void addItem(String var1, String var2, int var3) {
  323.       this.addItem((String)var1, var2, var3, (Object[])null);
  324.    }
  325.  
  326.    public void addItem(String[] var1, String var2, int var3) {
  327.       this.addItem((String[])var1, var2, var3, (Object[])null);
  328.    }
  329.  
  330.    public void addItem(String var1, String var2, int var3, Object[] var4) {
  331.       this.checkVector();
  332.       ((JDPTreePicker)this).addBranch(super.treeRoot, var1, var3, this.dragKey, this.dropMessage);
  333.       this.actualVector.addElement(var2);
  334.       if (var4 != null) {
  335.          this.sortKeyVector.addElement(var4);
  336.          if (this.sortDirection == null || var4.length > this.sortDirection.length) {
  337.             this.sortDirection = new boolean[var4.length];
  338.          }
  339.       } else if (this.sortDirection == null || this.sortDirection.length != 1) {
  340.          this.sortDirection = new boolean[1];
  341.       }
  342.  
  343.       ((JDPTreePicker)this).reDraw();
  344.    }
  345.  
  346.    public void setAllowChangeOrder(boolean var1) {
  347.       super.allowChangeOrder = var1;
  348.       if (var1 && super.dragPanel == null) {
  349.          var1 = false;
  350.       } else {
  351.          super.dragAndDrops = new boolean[3];
  352.          super.dragAndDrops[0] = true;
  353.          super.dragAndDrops[1] = true;
  354.          super.dragAndDrops[2] = true;
  355.          this.dragKey = Integer.toString(this.hashCode());
  356.          this.dropMessage = "Drop here to change the position of this item";
  357.       }
  358.    }
  359.  
  360.    public boolean getAllowChangeOrder() {
  361.       return super.allowChangeOrder;
  362.    }
  363.  
  364.    public void addItem(String[] var1, String var2, int var3, Object[] var4) {
  365.       this.checkVector();
  366.       String var5 = "";
  367.  
  368.       for(int var6 = 0; var6 < var1.length; ++var6) {
  369.          if (var1[var6] != null && !var1[var6].equals("")) {
  370.             var5 = var5 + var1[var6] + "|";
  371.          } else {
  372.             var5 = var5 + " |";
  373.          }
  374.       }
  375.  
  376.       ((JDPTreePicker)this).addBranch(super.treeRoot, var5, var3, this.dragKey, this.dropMessage);
  377.       this.actualVector.addElement(var2);
  378.       if (var4 != null) {
  379.          this.sortKeyVector.addElement(var4);
  380.          if (this.sortDirection == null || var4.length > this.sortDirection.length) {
  381.             this.sortDirection = new boolean[var4.length];
  382.          }
  383.       } else if (this.sortDirection == null || this.sortDirection.length != 1) {
  384.          this.sortDirection = new boolean[1];
  385.       }
  386.  
  387.       ((JDPTreePicker)this).reDraw();
  388.    }
  389.  
  390.    public void delItem(int var1) {
  391.       if (var1 < super.treeRoot.leaves.size()) {
  392.          int var2 = var1;
  393.          super.treeRoot.leaves.removeElementAt(var1);
  394.  
  395.          while(var2 < super.treeRoot.leaves.size()) {
  396.             JDPTreeBranch var3 = (JDPTreeBranch)super.treeRoot.leaves.elementAt(var2);
  397.             var3.branchIndex += -1;
  398.             ++var2;
  399.          }
  400.  
  401.          super.nextIndex += -1;
  402.          ((Component)this).repaint();
  403.          super.user.JDesignerPro.gc();
  404.          if (var1 < this.actualVector.size()) {
  405.             this.actualVector.removeElementAt(var1);
  406.          }
  407.  
  408.          if (var1 < this.sortKeyVector.size()) {
  409.             this.sortKeyVector.removeElementAt(var1);
  410.          }
  411.  
  412.          ((JDPTreePicker)this).reDraw();
  413.       }
  414.    }
  415.  
  416.    public int getKeyItem(String var1) {
  417.       return this.actualVector.indexOf(var1);
  418.    }
  419.  
  420.    public void clear() {
  421.       this.actualVector = new Vector();
  422.       this.sortKeyVector = new Vector();
  423.       ((JDPTreePicker)this).setRoot("", true);
  424.       ((JDPTreePicker)this).reDraw();
  425.    }
  426.  
  427.    public String[] getItems(int var1) {
  428.       int var2 = 0;
  429.       String[] var3 = new String[this.countItems()];
  430.  
  431.       for(int var4 = 0; var4 < super.treeRoot.leaves.size(); ++var4) {
  432.          JDPTreeBranch var5 = (JDPTreeBranch)super.treeRoot.leaves.elementAt(var4);
  433.          if (var5.icon == var1) {
  434.             var3[var2++] = var5.name;
  435.          }
  436.       }
  437.  
  438.       String[] var6 = new String[var2];
  439.       System.arraycopy(var3, 0, var6, 0, var2);
  440.       return var6;
  441.    }
  442.  
  443.    public String getSelectedKey() {
  444.       int var1 = ((JDPTreePicker)this).getSelectedIndex();
  445.       return var1 >= 0 ? (String)this.actualVector.elementAt(((JDPTreePicker)this).getSelectedIndex()) : null;
  446.    }
  447.  
  448.    public String[] getSelectedKeyValue() {
  449.       String[] var1 = new String[]{(String)this.actualVector.elementAt(((JDPTreePicker)this).getSelectedIndex())};
  450.       return var1;
  451.    }
  452.  
  453.    public boolean handleEvent(Event var1) {
  454.       if (var1.id == 10003) {
  455.          int var2 = (Integer)var1.arg;
  456.          this.sortDirection[var2] = !this.sortDirection[var2];
  457.          this.sortList(true, var2);
  458.          ((JDPTreePicker)this).reDraw();
  459.          return false;
  460.       } else {
  461.          return super.handleEvent(var1);
  462.       }
  463.    }
  464. }
  465.