home *** CD-ROM | disk | FTP | other *** search
- import java.awt.BorderLayout;
- import java.awt.CardLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.Image;
- import java.awt.Panel;
-
- public class JDPTabSelectPanel extends Panel {
- public static boolean activated;
- public static final String[] iconNames;
- JDPUser user;
- JDPMenuStruct menu;
- JDPTabSelectTopPanel tabPanel;
- JDPImageLoader imageLoader;
- Panel cardPanel;
- CardLayout cardLayout;
- String[] titles;
- Panel[] placePanel;
- Panel[] tabpanels;
- boolean ismenu;
- int initPanel = -1;
- Font currentFont;
- static Image defaultIconImage;
- Image iconImage;
- int[] iconNumbers;
- String menuTitle = "";
-
- public void setTabname(int var1, String var2) {
- if (var1 < this.menu.menudesc.length) {
- this.menu.menudesc[var1] = var2;
- this.reloadTab();
- }
-
- }
-
- public int[] getTabIcons() {
- if (this.iconNumbers == null) {
- this.iconNumbers = new int[this.getTabcount()];
-
- for(int var1 = 0; var1 < this.getTabcount(); ++var1) {
- this.iconNumbers[var1] = -1;
- }
- }
-
- return this.iconNumbers;
- }
-
- public static String[] getTabIconList() {
- return iconNames;
- }
-
- public void setTabIcon(int var1, int var2) {
- this.initIconNumbers();
- this.iconNumbers[var1] = var2;
- this.tabPanel.repaint();
- }
-
- public int getTabIcon(int var1) {
- this.initIconNumbers();
- return this.iconNumbers[var1];
- }
-
- public void setTabIcon(int var1, String var2) {
- this.initIconNumbers();
- if (var2 != null) {
- for(int var3 = 0; var3 < iconNames.length; ++var3) {
- if (var2.equals(iconNames[var3])) {
- this.iconNumbers[var1] = var3 - 1;
- }
- }
- }
-
- this.tabPanel.repaint();
- }
-
- public void reloadTab() {
- if (this.tabPanel != null) {
- this.tabPanel.layout();
- this.tabPanel.loadMenuTitles();
- this.tabPanel.repaint();
- }
-
- }
-
- public void loadPrevTab() {
- this.tabPanel.loadPrevTab();
- }
-
- public void setIconImagePath(String var1) {
- this.imageLoader = new JDPImageLoader(this.user, this, var1);
- (new Thread(this.imageLoader)).start();
- }
-
- public boolean isSelected(int var1) {
- return this.tabPanel != null ? this.tabPanel.isSelected(var1) : false;
- }
-
- public void setTabcolor(int var1, Color var2, Color var3) {
- if (var1 < this.menu.menutextcolor.length) {
- this.menu.menutextcolor[var1] = JDPUtils._cvtbcolor(var2);
- this.menu.menutabcolor[var1] = JDPUtils._cvtbcolor(var3);
- this.tabPanel.repaint();
- }
-
- }
-
- public String getSelectedItem() {
- return this.tabPanel != null ? this.tabPanel.getSelectedItem() : this.menu.menudesc[this.initPanel];
- }
-
- public Component add(Component var1, String var2) {
- byte var3 = 1;
- if (this.placePanel == null || this.placePanel[0] == null) {
- var3 = 0;
- }
-
- String[] var4 = new String[this.titles.length + var3];
- Panel[] var5 = new Panel[this.titles.length + var3];
- String[] var6 = this.getTabnames();
-
- for(int var7 = 0; var7 < var4.length - 1; ++var7) {
- var4[var7] = var6[var7];
- var5[var7] = this.tabpanels[var7];
- }
-
- var4[var4.length - 1] = var2;
- var5[var4.length - 1] = new Panel();
- var5[var4.length - 1].setLayout(new BorderLayout());
- var5[var4.length - 1].add("Center", var1);
- this.loadNewTabs(var4, var5, "North");
- this.tabPanel.currentsel = var4.length - 1;
- this.tabPanel.loadMenuTitles();
- this.tabPanel.repaint();
- return (Component)this;
- }
-
- public void select(int var1) {
- if (this.tabPanel != null) {
- this.tabPanel.select(var1);
- this.tabPanel.loadMenuTitles();
- this.tabPanel.repaint();
- }
-
- }
-
- public void select(String var1) {
- if (this.tabPanel != null) {
- for(int var2 = 0; var2 < this.titles.length; ++var2) {
- if (var1.equals(this.titles[var2])) {
- this.tabPanel.select(var2);
- this.tabPanel.loadMenuTitles();
- this.tabPanel.repaint();
- return;
- }
- }
- }
-
- }
-
- public void setFont(Font var1) {
- this.currentFont = var1;
- if (this.tabPanel != null) {
- this.tabPanel.setFont(var1);
- ((Container)this).layout();
- ((Component)this).paintAll(((Component)this).getGraphics());
- }
-
- }
-
- public Font getFont() {
- return this.currentFont == null ? this.user.plainFont : this.currentFont;
- }
-
- public void removeTab(Component var1) {
- for(int var2 = 0; var2 < this.tabpanels.length; ++var2) {
- if (this.tabpanels[var2].getComponent(0).equals(var1)) {
- this.tabpanels[var2].remove(var1);
- String[] var3 = new String[this.titles.length - 1];
- Panel[] var4 = new Panel[this.titles.length - 1];
-
- for(int var5 = 0; var5 < var2; ++var5) {
- var3[var5] = this.titles[var5];
- var4[var5] = this.tabpanels[var5];
- }
-
- for(int var6 = var2 + 1; var6 < this.titles.length; ++var6) {
- var3[var6 - 1] = this.titles[var6];
- var4[var6 - 1] = this.tabpanels[var6];
- }
-
- if (var3.length == 0) {
- var3 = new String[]{"Tab 1"};
- var4 = new Panel[1];
- }
-
- this.loadNewTabs(var3, var4, "North");
- this.tabPanel.currentsel = 0;
- return;
- }
- }
-
- }
-
- static {
- iconNames = JDPButton.iconNames;
- }
-
- public void setTitle(String var1) {
- this.menuTitle = var1;
- }
-
- public int getSelectedIndex() {
- return this.tabPanel != null ? this.tabPanel.getSelectedIndex() : 0;
- }
-
- public boolean loadObject(String var1) {
- return this.tabPanel != null ? this.tabPanel.loadObject(var1) : false;
- }
-
- public String[] getTabnames() {
- return this.menu.menudesc;
- }
-
- public void removeAllTabs() {
- ((Container)this).removeAll();
- if (this.cardPanel != null) {
- this.cardPanel.removeAll();
-
- for(int var1 = 0; var1 < this.placePanel.length; ++var1) {
- if (this.placePanel[0] != null) {
- this.placePanel[0].removeAll();
- }
-
- this.placePanel[0] = null;
- }
-
- this.placePanel = null;
- this.cardPanel = null;
- this.tabpanels = null;
- this.titles = new String[1];
- this.titles[0] = "Tab 1";
- }
-
- }
-
- public void loadNewTabs(String[] var1, Panel[] var2, String var3) {
- this.removeAllTabs();
- this.titles = var1;
- this.tabpanels = var2;
- String[] var4 = this.menu.menutextcolor;
- String[] var5 = this.menu.menutabcolor;
- this.menu.menudesc = this.titles;
- this.menu.menuname = new String[this.titles.length];
- this.menu.menutype = new String[this.titles.length];
- this.menu.menutextcolor = new String[this.titles.length];
- this.menu.menutabcolor = new String[this.titles.length];
- if (this.tabPanel != null) {
- this.tabPanel.panelLoaded = null;
- }
-
- if (this.cardPanel == null) {
- this.cardPanel = new Panel();
- this.cardLayout = new CardLayout();
- this.cardPanel.setLayout(this.cardLayout);
- ((Container)this).add("Center", this.cardPanel);
- }
-
- this.placePanel = new Panel[this.titles.length];
-
- for(int var6 = 0; var6 < this.titles.length; ++var6) {
- if (var2 != null && var2[var6] != null) {
- this.placePanel[var6] = new Panel();
- this.placePanel[var6].setLayout(new BorderLayout());
- this.cardPanel.add(Integer.toString(var6), this.placePanel[var6]);
- this.placePanel[var6].add("Center", this.tabpanels[var6]);
- }
-
- this.menu.menuname[var6] = "0";
- this.menu.menutype[var6] = "P";
- if (var4 != null && var4.length > var6) {
- this.menu.menutextcolor[var6] = var4[var6];
- this.menu.menutabcolor[var6] = var5[var6];
- } else {
- this.menu.menutextcolor[var6] = "Black";
- this.menu.menutabcolor[var6] = "LightGray";
- }
- }
-
- if (var3.compareTo("North") == 0) {
- this.tabPanel = new JDPTabSelectTopPanel(this.user, this, this.menu, var3, (JDPTabSelectSidePanel)null);
- ((Container)this).add("North", this.tabPanel);
- ((Container)this).add("West", new JDPTabSelectSidePanel(this.user, this, "West", var3));
- } else {
- JDPTabSelectSidePanel var7 = new JDPTabSelectSidePanel(this.user, this, "North", var3);
- this.tabPanel = new JDPTabSelectTopPanel(this.user, this, this.menu, var3, var7);
- ((Container)this).add("West", this.tabPanel);
- ((Container)this).add("North", var7);
- }
-
- ((Container)this).add("East", new JDPTabSelectSidePanel(this.user, this, "East", var3));
- ((Container)this).add("South", new JDPTabSelectSidePanel(this.user, this, "South", var3));
- this.initIconNumbers();
- ((Container)this).layout();
- ((Component)this).paintAll(((Component)this).getGraphics());
- if (this.tabPanel != null) {
- this.tabPanel.loadMenuTitles();
- this.tabPanel.repaint();
- this.tabPanel.totaltabs = var1.length;
- }
-
- if (this.placePanel[0] != null) {
- this.placePanel[0].paintAll(this.placePanel[0].getGraphics());
- }
-
- }
-
- void initIconNumbers() {
- if (this.iconNumbers == null) {
- this.iconNumbers = new int[100];
- int var1 = 0;
-
- do {
- this.iconNumbers[var1] = -1;
- ++var1;
- } while(var1 < 100);
- }
-
- }
-
- public JDPTabSelectPanel(JDPUser var1, String[] var2, Panel[] var3, String var4) {
- activated = JDPUser.classactivated;
- if (!activated) {
- System.out.println("Software Violation - this class may only be used in conjunction with JDesignerPro.");
- } else {
- this.titles = var2;
- this.tabpanels = var3;
- this.ismenu = false;
- defaultIconImage = JDPButton.defaultIconImage;
- this.iconImage = defaultIconImage;
- this.user = var1;
- this.menu = new JDPMenuStruct();
- this.menu.initmenu = "0";
- ((Container)this).setLayout(new BorderLayout());
- this.loadNewTabs(var2, var3, var4);
- this.initPanel = 0;
- }
- }
-
- public JDPTabSelectPanel(JDPUser var1, JDPMenuStruct var2, String var3) {
- activated = JDPUser.classactivated;
- if (!activated) {
- System.out.println("Software Violation - this class may only be used in conjunction with JDesignerPro.");
- } else {
- this.ismenu = true;
- defaultIconImage = JDPButton.defaultIconImage;
- this.iconImage = defaultIconImage;
- this.user = var1;
- this.menu = var2;
- ((Container)this).setLayout(new BorderLayout());
- this.setFont(var1.plainFont);
- this.currentFont = var1.plainFont;
- this.cardPanel = new Panel();
- this.cardPanel.setLayout(new CardLayout());
- this.placePanel = new Panel[var2.menuname.length];
-
- for(int var4 = 0; var4 < var2.menuname.length; ++var4) {
- this.placePanel[var4] = new Panel();
- this.placePanel[var4].setLayout(new BorderLayout(0, 0));
- this.cardPanel.add(Integer.toString(var4), this.placePanel[var4]);
- if (var2.menuname[var4].compareTo(var2.initmenu) == 0 && this.initPanel < 0) {
- this.initPanel = var4;
- }
- }
-
- this.cardPanel.add("Blank", new Panel());
- ((CardLayout)this.cardPanel.getLayout()).show(this.cardPanel, "Blank");
- ((Container)this).add("Center", this.cardPanel);
- if (var2.menudesc[this.initPanel].trim().length() == 0) {
- ((Container)this).add("North", new JDPTabSelectSidePanel(var1, this, "North", ""));
- ((Container)this).add("West", new JDPTabSelectSidePanel(var1, this, "West", ""));
- this.placePanel[0].add("Center", new JDPPanelLoader(var1, var2.menuobject[this.initPanel], var2.menuparm[this.initPanel], (boolean[])null, 0));
- this.placePanel[0].paintAll(this.placePanel[0].getGraphics());
- ((CardLayout)this.cardPanel.getLayout()).show(this.cardPanel, "0");
- } else if (var3.compareTo("North") == 0) {
- this.tabPanel = new JDPTabSelectTopPanel(var1, this, var2, var3, (JDPTabSelectSidePanel)null);
- ((Container)this).add("North", this.tabPanel);
- ((Container)this).add("West", new JDPTabSelectSidePanel(var1, this, "West", var3));
- } else {
- JDPTabSelectSidePanel var5 = new JDPTabSelectSidePanel(var1, this, "North", var3);
- this.tabPanel = new JDPTabSelectTopPanel(var1, this, var2, var3, var5);
- ((Container)this).add("West", this.tabPanel);
- ((Container)this).add("North", var5);
- }
-
- ((Container)this).add("East", new JDPTabSelectSidePanel(var1, this, "East", var3));
- ((Container)this).add("South", new JDPTabSelectSidePanel(var1, this, "South", var3));
- this.initIconNumbers();
- }
- }
-
- public int getTabcount() {
- return this.placePanel.length;
- }
-
- public void loadNextTab() {
- this.tabPanel.loadNextTab();
- }
-
- public boolean handleEvent(Event var1) {
- switch (var1.id) {
- case 1001:
- if (this.ismenu) {
- return true;
- }
-
- return false;
- case 1002:
- case 1003:
- default:
- return false;
- case 1004:
- if (!this.ismenu) {
- return false;
- } else {
- if (var1.target.equals(this) && this.tabPanel != null && this.tabPanel.menuindex != null) {
- int var2 = this.tabPanel.menuindex[this.tabPanel.currentsel];
- Component[] var3 = this.placePanel[var2].getComponents();
- if (var3 != null && var3.length > 0) {
- Component[] var4 = ((Container)var3[0]).getComponents();
- if (var4 != null && var4.length > 0 && var4[0] instanceof JDPPanelLoader) {
- var4 = ((Container)var4[0]).getComponents();
- }
-
- for(int var5 = 0; var5 < var4.length; ++var5) {
- if (var4[var5] instanceof JDPClassLayout) {
- var4[var5].requestFocus();
- return true;
- }
- }
- }
- }
-
- return true;
- }
- }
- }
-
- public boolean selectObject(String var1) {
- return this.tabPanel != null ? this.tabPanel.selectObject(var1) : false;
- }
- }
-