home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPMain.jar / JDPButtons.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-26  |  6.3 KB  |  439 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.Font;
  8. import java.awt.Graphics;
  9. import java.awt.GridLayout;
  10. import java.awt.Insets;
  11. import java.awt.Panel;
  12.  
  13. public class JDPButtons extends Panel {
  14.    public static int VERTICAL;
  15.    public static int HORIZONTAL = 1;
  16.    public static String[] alignmentValues = new String[]{"Vertical", "Horizontal"};
  17.    public JDPButton[] button;
  18.    boolean stayOn;
  19.    private JDPUser user;
  20.    private String[] buttons;
  21.    private int[] icons;
  22.    private String[] returnValue;
  23.    private int balignment;
  24.    private int alignment;
  25.    private String layout;
  26.    private boolean iconsOnly;
  27.    Panel mainPanel;
  28.    Panel mainCenterPanel;
  29.  
  30.    public JDPButtons(JDPUser var1, String[] var2, int var3) {
  31.       int[] var4 = new int[var2.length];
  32.  
  33.       for(int var5 = 0; var5 < var4.length; ++var5) {
  34.          var4[var5] = -1;
  35.       }
  36.  
  37.       this.drawButtons(var1, var2, var4, var2, 0, var3, (String)null);
  38.    }
  39.  
  40.    public JDPButtons(JDPUser var1, String[] var2, int[] var3, int var4) {
  41.       this.drawButtons(var1, var2, var3, var2, 1, var4, (String)null);
  42.    }
  43.  
  44.    public JDPButtons(JDPUser var1, int[] var2, String[] var3, int var4) {
  45.       this.drawButtons(var1, (String[])null, var2, var3, 1, var4, (String)null);
  46.    }
  47.  
  48.    public JDPButtons(JDPUser var1, String[] var2, int var3, String var4) {
  49.       int[] var5 = new int[var2.length];
  50.  
  51.       for(int var6 = 0; var6 < var5.length; ++var6) {
  52.          var5[var6] = -1;
  53.       }
  54.  
  55.       this.drawButtons(var1, var2, var5, var2, 0, var3, var4);
  56.    }
  57.  
  58.    public JDPButtons(JDPUser var1, String[] var2, int[] var3, int var4, String var5) {
  59.       this.drawButtons(var1, var2, var3, var2, 1, var4, var5);
  60.    }
  61.  
  62.    public JDPButtons(JDPUser var1, int[] var2, String[] var3, int var4, String var5) {
  63.       this.drawButtons(var1, (String[])null, var2, var3, 1, var4, var5);
  64.    }
  65.  
  66.    public JDPButtons(JDPUser var1, int var2) {
  67.       String[] var3 = new String[2];
  68.       if (var2 == HORIZONTAL) {
  69.          var3[0] = "Left";
  70.          var3[1] = "Right";
  71.       }
  72.  
  73.       if (var2 == VERTICAL) {
  74.          var3[0] = "Up";
  75.          var3[1] = "Down";
  76.       }
  77.  
  78.       this.drawButtons(var1, (String[])null, (int[])null, var3, -1, var2, (String)null);
  79.    }
  80.  
  81.    public String[] getLabels() {
  82.       return this.returnValue;
  83.    }
  84.  
  85.    public boolean getIconsOnly() {
  86.       return this.iconsOnly;
  87.    }
  88.  
  89.    public void setIconsOnly(boolean var1) {
  90.       if (this.button != null) {
  91.          for(int var2 = 0; var2 < this.button.length; ++var2) {
  92.             this.button[var2].setIconOnly(var1);
  93.          }
  94.       }
  95.  
  96.       if (this.iconsOnly != var1) {
  97.          this.iconsOnly = var1;
  98.          ((Container)this).removeAll();
  99.          if (var1) {
  100.             this.drawButtons(this.user, (String[])null, this.icons, this.returnValue, this.balignment, this.alignment, this.layout);
  101.          } else {
  102.             this.drawButtons(this.user, this.returnValue, this.icons, this.returnValue, this.balignment, this.alignment, this.layout);
  103.          }
  104.       }
  105.    }
  106.  
  107.    public void disable() {
  108.       if (this.button != null) {
  109.          for(int var1 = 0; var1 < this.button.length; ++var1) {
  110.             if (this.button[var1] != null) {
  111.                this.button[var1].disable();
  112.                this.button[var1].repaint();
  113.             }
  114.          }
  115.  
  116.       }
  117.    }
  118.  
  119.    public void enable() {
  120.       if (this.button != null) {
  121.          for(int var1 = 0; var1 < this.button.length; ++var1) {
  122.             if (this.button[var1] != null) {
  123.                this.button[var1].enable();
  124.                this.button[var1].repaint();
  125.             }
  126.          }
  127.  
  128.       }
  129.    }
  130.  
  131.    public Insets insets() {
  132.       return new Insets(0, 3, 0, 3);
  133.    }
  134.  
  135.    public int getButtonCount() {
  136.       return this.button.length;
  137.    }
  138.  
  139.    public void setPressed(String var1) {
  140.       for(int var2 = 0; var2 < this.button.length; ++var2) {
  141.          if ((var1 == null || this.button[var2] == null || this.button[var2].getLabel() == null || !this.button[var2].getLabel().equals(var1)) && (var1 == null || this.returnValue[var2] == null || !this.returnValue[var2].equals(var1))) {
  142.             this.button[var2].setPressed(false);
  143.          } else {
  144.             this.button[var2].setPressed(true);
  145.          }
  146.       }
  147.  
  148.    }
  149.  
  150.    public String getPressed() {
  151.       for(int var1 = 0; var1 < this.button.length; ++var1) {
  152.          if (this.button[var1].isPressed()) {
  153.             if (this.button[var1].getLabel() != null) {
  154.                return this.button[var1].getLabel();
  155.             }
  156.  
  157.             return this.returnValue[var1];
  158.          }
  159.       }
  160.  
  161.       return null;
  162.    }
  163.  
  164.    public void setButtonCount(int var1) {
  165.       if (this.button.length != var1) {
  166.          this.mainCenterPanel.removeAll();
  167.          JDPButton[] var2 = this.button;
  168.          this.button = new JDPButton[var1];
  169.          int var3 = var1;
  170.          if (var2.length < var1) {
  171.             var3 = var2.length;
  172.          }
  173.  
  174.          System.arraycopy(var2, 0, this.button, 0, var3);
  175.  
  176.          for(int var4 = var3; var4 < this.button.length; ++var4) {
  177.             this.button[var4] = new JDPButton("JDPButtons" + Integer.toString(var4 + 1), this.balignment);
  178.          }
  179.  
  180.          this.returnValue = new String[this.button.length];
  181.  
  182.          for(int var5 = 0; var5 < this.button.length; ++var5) {
  183.             this.mainCenterPanel.add(this.button[var5]);
  184.             this.returnValue[var5] = this.button[var5].getLabel();
  185.          }
  186.  
  187.       }
  188.    }
  189.  
  190.    public void setIconImagePath(String var1) {
  191.       for(int var2 = 0; var2 < this.button.length; ++var2) {
  192.          this.button[var2].setIconImagePath(this.user, var1);
  193.       }
  194.  
  195.    }
  196.  
  197.    public String getIconImagePath() {
  198.       return this.button[0].getIconImagePath();
  199.    }
  200.  
  201.    public void setBackground(Color var1) {
  202.       if (this.button != null) {
  203.          for(int var2 = 0; var2 < this.button.length; ++var2) {
  204.             if (this.button[var2] != null) {
  205.                this.button[var2].setBackground(var1);
  206.                this.button[var2].repaint();
  207.             }
  208.          }
  209.  
  210.       }
  211.    }
  212.  
  213.    public void paint(Graphics var1) {
  214.       if (this.button != null) {
  215.          for(int var2 = 0; var2 < this.button.length; ++var2) {
  216.             if (this.button[var2] != null) {
  217.                this.button[var2].layout();
  218.             }
  219.          }
  220.  
  221.       }
  222.    }
  223.  
  224.    public int getIcon(int var1) {
  225.       return this.button[var1].getIcon();
  226.    }
  227.  
  228.    public void setIcon(int var1, int var2) {
  229.       if (var1 < this.button.length) {
  230.          this.button[var1].setIcon(var2);
  231.       }
  232.  
  233.    }
  234.  
  235.    public void setIcon(int var1, String var2) {
  236.       if (var1 < this.button.length) {
  237.          this.button[var1].setIcon(var2);
  238.       }
  239.  
  240.    }
  241.  
  242.    public void setFont(Font var1) {
  243.       if (this.button != null) {
  244.          for(int var2 = 0; var2 < this.button.length; ++var2) {
  245.             if (this.button[var2] != null) {
  246.                this.button[var2].setFont(var1);
  247.             }
  248.          }
  249.  
  250.       }
  251.    }
  252.  
  253.    public Font getFont() {
  254.       if (((Component)this).getParent() != null) {
  255.          return ((Component)this).getParent().getFont();
  256.       } else if (this.button != null && this.button.length >= 1 && this.button[0] != null) {
  257.          return this.button[0].getFont();
  258.       } else {
  259.          return ((Component)this).getParent() != null ? ((Component)this).getParent().getFont() : null;
  260.       }
  261.    }
  262.  
  263.    public boolean isIconsOnly() {
  264.       return this.iconsOnly;
  265.    }
  266.  
  267.    void drawButtons(JDPUser var1, String[] var2, int[] var3, String[] var4, int var5, int var6, String var7) {
  268.       this.user = var1;
  269.       this.buttons = var2;
  270.       this.icons = var3;
  271.       this.returnValue = var4;
  272.       this.balignment = var5;
  273.       this.alignment = var6;
  274.       this.layout = var7;
  275.       this.iconsOnly = false;
  276.       if (var2 == null && var3 != null) {
  277.          this.iconsOnly = true;
  278.       }
  279.  
  280.       String var8 = var7;
  281.       if (var6 == VERTICAL && var7 == null) {
  282.          var8 = "North";
  283.       }
  284.  
  285.       if (var6 == HORIZONTAL && var7 == null) {
  286.          var8 = "West";
  287.       }
  288.  
  289.       this.mainPanel = new Panel();
  290.       this.mainCenterPanel = new Panel();
  291.       int var9 = var4.length;
  292.       if (var6 == VERTICAL) {
  293.          ((Container)this).setLayout(new BorderLayout());
  294.          this.mainPanel.setLayout(new BorderLayout(2, 2));
  295.          this.mainCenterPanel.setLayout(new GridLayout(var9, 1));
  296.       } else {
  297.          ((Container)this).setLayout(new BorderLayout());
  298.          this.mainPanel.setLayout(new BorderLayout(2, 2));
  299.          this.mainCenterPanel.setLayout(new GridLayout(1, var9, 0, 0));
  300.       }
  301.  
  302.       if (this.button == null) {
  303.          this.button = new JDPButton[var9];
  304.          this.returnValue = var4;
  305.  
  306.          for(int var10 = 0; var10 < var9; ++var10) {
  307.             if (var4[var10] != null && var4[var10].length() > 0) {
  308.                if (var2 != null) {
  309.                   this.returnValue[var10] = var2[var10];
  310.                   this.button[var10] = new JDPButton(var2[var10], var3[var10], var5);
  311.                   this.button[var10].setIconOnly(this.iconsOnly);
  312.                } else if (var3 != null) {
  313.                   this.button[var10] = new JDPButton(var3[var10], var4[var10], var5);
  314.                   this.button[var10].setIconOnly(this.iconsOnly);
  315.                } else if (var6 == VERTICAL) {
  316.                   this.button[var10] = new JDPButton(var10 + 3);
  317.                } else {
  318.                   this.button[var10] = new JDPButton(var10 + 1);
  319.                }
  320.  
  321.                this.mainCenterPanel.add(this.button[var10]);
  322.             } else {
  323.                this.mainCenterPanel.add(new Panel());
  324.             }
  325.          }
  326.       } else {
  327.          for(int var11 = 0; var11 < var9; ++var11) {
  328.             this.button[var11].setIconOnly(this.iconsOnly);
  329.             if (var4[var11] != null && var4[var11].length() > 0) {
  330.                this.mainCenterPanel.add(this.button[var11]);
  331.             } else {
  332.                this.mainCenterPanel.add(new Panel());
  333.             }
  334.          }
  335.       }
  336.  
  337.       this.mainPanel.add(var8, this.mainCenterPanel);
  338.       ((Container)this).add("Center", this.mainPanel);
  339.       this.setFont(var1.plainFont);
  340.       ((Component)this).show();
  341.       ((Component)this).paintAll(((Component)this).getGraphics());
  342.    }
  343.  
  344.    public JDPButton getButton(int var1) {
  345.       return var1 < this.button.length ? this.button[var1] : null;
  346.    }
  347.  
  348.    public void setStayOn(boolean var1) {
  349.       this.stayOn = var1;
  350.  
  351.       for(int var2 = 0; var2 < this.button.length; ++var2) {
  352.          this.button[var2].setStayOn(true);
  353.       }
  354.  
  355.       this.setPressed(this.button[0].getLabel());
  356.    }
  357.  
  358.    public boolean getStayOn() {
  359.       return this.stayOn;
  360.    }
  361.  
  362.    public int getAlignment() {
  363.       return this.alignment;
  364.    }
  365.  
  366.    public void setAlignment(int var1) {
  367.       if (this.alignment != var1) {
  368.          this.alignment = var1;
  369.          ((Container)this).removeAll();
  370.          this.drawButtons(this.user, this.buttons, this.icons, this.returnValue, this.balignment, this.alignment, this.layout);
  371.       }
  372.    }
  373.  
  374.    public static int getAlignmentValue(String var0) {
  375.       for(int var1 = 0; var1 < alignmentValues.length; ++var1) {
  376.          if (var0.equals(alignmentValues[var1])) {
  377.             return var1;
  378.          }
  379.       }
  380.  
  381.       return -1;
  382.    }
  383.  
  384.    public void setForeground(Color var1) {
  385.       if (this.button != null) {
  386.          for(int var2 = 0; var2 < this.button.length; ++var2) {
  387.             if (this.button[var2] != null) {
  388.                this.button[var2].setForeground(var1);
  389.                this.button[var2].repaint();
  390.             }
  391.          }
  392.  
  393.       }
  394.    }
  395.  
  396.    public void setEnabled(boolean var1) {
  397.       if (this.button != null) {
  398.          for(int var2 = 0; var2 < this.button.length; ++var2) {
  399.             if (this.button[var2] != null) {
  400.                if (var1) {
  401.                   this.button[var2].enable();
  402.                } else {
  403.                   this.button[var2].disable();
  404.                }
  405.  
  406.                this.button[var2].repaint();
  407.             }
  408.          }
  409.  
  410.       }
  411.    }
  412.  
  413.    public boolean handleEvent(Event var1) {
  414.       switch (var1.id) {
  415.          case 1001:
  416.             if (var1.target instanceof Button && this.stayOn) {
  417.                String var2 = (String)var1.arg;
  418.                this.setPressed(var2);
  419.             }
  420.  
  421.             if (var1.target instanceof JDPButton && this.stayOn) {
  422.                String var3 = (String)var1.arg;
  423.                this.setPressed(var3);
  424.             }
  425.  
  426.             return false;
  427.          default:
  428.             return false;
  429.       }
  430.    }
  431.  
  432.    public void setLabel(int var1, String var2) {
  433.       if (var1 >= 0 && var1 < this.button.length && var2 != null) {
  434.          this.button[var1].setLabel(var2);
  435.          this.returnValue[var1] = var2;
  436.       }
  437.    }
  438. }
  439.