home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPSingle.jar / JDPMainWindow.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-07  |  7.4 KB  |  275 lines

  1. import java.applet.AppletContext;
  2. import java.awt.BorderLayout;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Event;
  8. import java.awt.Frame;
  9. import java.awt.GridLayout;
  10. import java.awt.Menu;
  11. import java.awt.MenuBar;
  12. import java.awt.MenuItem;
  13. import java.awt.Panel;
  14. import java.awt.Rectangle;
  15. import java.awt.Toolkit;
  16. import java.awt.Window;
  17. import java.util.StringTokenizer;
  18. import java.util.Vector;
  19.  
  20. public class JDPMainWindow extends Frame {
  21.    JDPUser user;
  22.    AppletContext context;
  23.    Panel statusPanel;
  24.  
  25.    void displayMessage(JDPUser var1, String var2, String var3, String var4, String var5) {
  26.       new JDPSvrMsgDialog(var1, var2, this, false, var3, var4, var5);
  27.    }
  28.  
  29.    public JDPMainWindow(JDPUser var1, String var2) {
  30.       super(var2);
  31.       this.user = var1;
  32.       if (!System.getProperty("java.version").startsWith("1.0") && System.getProperty("os.name").startsWith("Win")) {
  33.          ((Frame)this).setIconImage(var1.JDesignerPro.JDPIconImage);
  34.       }
  35.  
  36.       if (!System.getProperty("java.version").startsWith("1.0") && JDesignerPro.executable) {
  37.          var1.JDesignerPro.consoleDialog = new JDPConsoleDialog(var1, this);
  38.       }
  39.  
  40.       ((Component)this).setBackground(JDPUtils.getControlColor());
  41.       ((Container)this).setLayout(new BorderLayout());
  42.       ((Component)this).setFont(var1.plainFont);
  43.       var1.popup = new JDPPopupComponent(var1, this);
  44.       ((Container)this).add(var1.popup);
  45.       if (var1.loginMessage != null) {
  46.          var1.loginMessage.setStatusMsg(JDPLang.get("JDPMain1"), 0);
  47.       }
  48.  
  49.       boolean var3 = false;
  50.       boolean var4 = false;
  51.       float var5 = 1.0F;
  52.       var1.mainmsg = new JDPStatusMessage(var1);
  53.       if (var1.JDesignerPro.JDPClassName == null) {
  54.          MenuBar var6 = new MenuBar();
  55.          Menu var7 = new Menu(JDPLang.get("Menu0"));
  56.          var7.add(new MenuItem(JDPLang.get("Menu1")));
  57.          var7.addSeparator();
  58.          var7.add(new MenuItem(JDPLang.get("Menu2")));
  59.          var7.add(new MenuItem(JDPLang.get("Menu3")));
  60.          var6.add(var7);
  61.          Menu var8 = new Menu(JDPLang.get("Menu4"));
  62.          if (!System.getProperty("java.version").startsWith("1.0") && JDesignerPro.executable) {
  63.             var8.add(new MenuItem(JDPLang.get("Menu5")));
  64.             var8.addSeparator();
  65.          }
  66.  
  67.          var8.add(new MenuItem(JDPLang.get("Menu6")));
  68.          var6.add(var8);
  69.          ((Frame)this).setMenuBar(var6);
  70.          var1.jdpMenuPanel = new JDPTabSelectPanel(var1, var1.menu, "North");
  71.          ((Container)this).add("Center", var1.jdpMenuPanel);
  72.       } else {
  73.          ((Component)this).setFont(var1.plainFont);
  74.          ((Container)this).add("Center", new JDPPanelLoader(var1, var1.JDesignerPro.JDPClassName, "", (boolean[])null, 0));
  75.          var3 = true;
  76.          var4 = true;
  77.          var5 = 0.85F;
  78.       }
  79.  
  80.       this.statusPanel = new Panel();
  81.       this.statusPanel.setLayout(new GridLayout(1, 1));
  82.       this.statusPanel.add(var1.mainmsg);
  83.       ((Container)this).add("South", this.statusPanel);
  84.       if (!JDesignerPro.JDPLicensed) {
  85.          var1.mainmsg.eastMessage.setText("(Unlicensed)");
  86.          var1.mainmsg.eastMessage.setForeground(Color.red);
  87.       }
  88.  
  89.       ((Window)this).pack();
  90.       Dimension var12 = Toolkit.getDefaultToolkit().getScreenSize();
  91.       if (var1.cust.winx1 != 0 || var1.cust.winy1 != 0 || (var1.cust.winx2 != 640 || var1.cust.winy2 != 480) && (var1.cust.winx2 != 2000 || var1.cust.winy2 != 2000)) {
  92.          if (System.getProperty("os.name").startsWith("Win") && var1.cust.winx1 < 0 && var1.cust.winy1 < 0) {
  93.             if (var1.cust.winx2 > var12.width) {
  94.                var1.cust.winx2 = var12.width + 1;
  95.                var1.cust.winy2 = var12.height - 27;
  96.             }
  97.  
  98.             var1.cust.winx1 = 0;
  99.             var1.cust.winy1 = 0;
  100.          }
  101.  
  102.          ((Component)this).reshape(var1.cust.winx1, var1.cust.winy1, var1.cust.winx2, var1.cust.winy2);
  103.       } else {
  104.          var1.cust.winx1 = 0;
  105.          var1.cust.winy1 = 0;
  106.          var1.cust.winx2 = var12.width + 1;
  107.          var1.cust.winy2 = var12.height - 27;
  108.          ((Component)this).reshape(var1.cust.winx1, var1.cust.winy1, var1.cust.winx2, var1.cust.winy2);
  109.       }
  110.  
  111.       ((Window)this).show();
  112.       var1.serverListener.registerForRequest("JDPSystemMessage", this);
  113.    }
  114.  
  115.    boolean savePreferences() {
  116.       if (!this.closeOtherApplications()) {
  117.          return false;
  118.       } else {
  119.          if (this.user.JDesignerPro.JDPClassName == null && this.user.cust.status.compareTo("D") != 0 && this.user.cust.status.compareTo("G") != 0 && ((Component)this).bounds().x > -100 && ((Component)this).bounds().y > -100) {
  120.             int var1 = ((Component)this).bounds().height;
  121.             if (this.user.cust.winy2 - ((Component)this).bounds().height == 19) {
  122.                var1 = this.user.cust.winy2;
  123.             }
  124.  
  125.             this.user.mainmsg.setStatusMsg(JDPLang.get("JDPMain0"), 0);
  126.             Vector var2 = new Vector();
  127.             String var3;
  128.             if (this.user.JDesignerPro.NDSPath == null) {
  129.                var3 = "UPDATE JDPUser SET winx1 = " + Integer.toString(((Component)this).bounds().x) + ",winy1 = " + Integer.toString(((Component)this).bounds().y) + ",winx2 = " + Integer.toString(((Component)this).bounds().width) + ",winy2 = " + Integer.toString(var1) + " WHERE userid = " + this.user.cust.suserid;
  130.                this.user.jaggSQL.setFCTN("");
  131.                this.user.jaggSQL.setFCTNP("");
  132.                this.user.jaggSQL.loadSettings(this.user);
  133.             } else {
  134.                var3 = "UPDATE User SET JDP:winx1 = " + Integer.toString(((Component)this).bounds().x) + ",JDP:winy1 = " + Integer.toString(((Component)this).bounds().y) + ",JDP:winx2 = " + Integer.toString(((Component)this).bounds().width) + ",JDP:winy2 = " + Integer.toString(var1) + " WHERE JDP:userid = " + this.user.cust.suserid;
  135.                this.user.jaggSQL.setFCTN("NDSexecSQL");
  136.             }
  137.  
  138.             this.user.jaggSQL.execSQL(var3, var2);
  139.             this.user.mainmsg.clearStatusMsg();
  140.          }
  141.  
  142.          this.user.jaggSQL.setFCTN("Logout");
  143.          this.user.jaggSQL.setFCTNP("");
  144.          Vector var4 = new Vector();
  145.          this.user.jaggSQL.execSQL("", var4);
  146.          return true;
  147.       }
  148.    }
  149.  
  150.    boolean closeOtherApplications() {
  151.       for(int var1 = 0; var1 < this.user.gParm.size(); ++var1) {
  152.          if (this.user.gParm.elementAt(var1) instanceof JDPClassLayout) {
  153.             JDPClassLayout var2 = (JDPClassLayout)this.user.gParm.elementAt(var1);
  154.             if (!var2.shutDown()) {
  155.                return false;
  156.             }
  157.          }
  158.       }
  159.  
  160.       return true;
  161.    }
  162.  
  163.    public boolean handleEvent(Event var1) {
  164.       switch (var1.id) {
  165.          case 201:
  166.             int var9 = 0;
  167.  
  168.             for(int var14 = 0; var14 < this.user.JDesignerPro.userCount; ++var14) {
  169.                if (this.user.JDesignerPro.user[var14] != null) {
  170.                   ++var9;
  171.                }
  172.  
  173.                if (this.user.JDesignerPro.user[var14] == this.user) {
  174.                   this.user.JDesignerPro.user[var14] = null;
  175.                }
  176.             }
  177.  
  178.             if (var9 <= 1) {
  179.                if (!this.savePreferences()) {
  180.                   return true;
  181.                }
  182.  
  183.                this.user.JDesignerPro.destroy();
  184.                JDPJagg.cleanUp();
  185.                this.user.JDesignerPro.gc();
  186.                if (this.user.JDesignerPro.JDPClassName == null && JDesignerPro.executable) {
  187.                   System.exit(0);
  188.                }
  189.             }
  190.  
  191.             ((Frame)this).dispose();
  192.             return true;
  193.          case 1001:
  194.             if (var1.target instanceof MenuItem) {
  195.                String var8 = (String)var1.arg;
  196.                if (var8.equals(JDPLang.get("Menu1"))) {
  197.                   this.user.JDesignerPro.user[this.user.JDesignerPro.userCount++] = new JDPUser();
  198.                   JDPUser var10 = this.user.JDesignerPro.initUser(this.user.JDesignerPro.userCount - 1);
  199.                   this.user.copyUser(var10);
  200.                   var10.JDesignerPro = this.user.JDesignerPro;
  201.                   var10.jdpMainWindow = new JDPMainWindow(var10, this.user.JDesignerPro.wintitle);
  202.                   var10.jaggSQL = new JDPJagg(this.user.jaggPath);
  203.                   var10.jaggSQL.loadSettings(this.user);
  204.                }
  205.  
  206.                if (var8.equals(JDPLang.get("Menu5"))) {
  207.                   Rectangle var11 = ((Component)this).bounds();
  208.                   this.user.JDesignerPro.consoleDialog.showAt(var11);
  209.                }
  210.  
  211.                if (var8.equals(JDPLang.get("Menu6"))) {
  212.                   this.user.startProcess(1, this.user.mainmsg);
  213.                }
  214.  
  215.                if (var8.equals(JDPLang.get("Menu2"))) {
  216.                   int var12 = 0;
  217.  
  218.                   for(int var15 = 0; var15 < this.user.JDesignerPro.userCount; ++var15) {
  219.                      if (this.user.JDesignerPro.user[var15] != null) {
  220.                         ++var12;
  221.                      }
  222.  
  223.                      if (this.user.JDesignerPro.user[var15] == this.user) {
  224.                         this.user.JDesignerPro.user[var15] = null;
  225.                      }
  226.                   }
  227.  
  228.                   if (var12 <= 1) {
  229.                      if (!this.savePreferences()) {
  230.                         return true;
  231.                      }
  232.  
  233.                      this.user.JDesignerPro.destroy();
  234.                   }
  235.  
  236.                   ((Frame)this).dispose();
  237.                }
  238.  
  239.                if (var8.equals(JDPLang.get("Menu3")) && this.savePreferences()) {
  240.                   for(int var13 = 0; var13 < this.user.JDesignerPro.userCount; ++var13) {
  241.                      if (this.user.JDesignerPro.user[var13] != null) {
  242.                         this.user.JDesignerPro.user[var13].jdpMainWindow.dispose();
  243.                         this.user.JDesignerPro.user[var13] = null;
  244.                      }
  245.                   }
  246.  
  247.                   this.user.JDesignerPro.destroy();
  248.                   ((Frame)this).dispose();
  249.                   JDPJagg.cleanUp();
  250.                   this.user.JDesignerPro.gc();
  251.                   if (JDesignerPro.executable) {
  252.                      System.exit(0);
  253.                   }
  254.                }
  255.  
  256.                return true;
  257.             } else if (var1.target.equals(this.user.serverListener)) {
  258.                String var2 = (String)var1.arg;
  259.                StringTokenizer var3 = new StringTokenizer(var2, "|");
  260.                var3.nextToken();
  261.                String var4 = var3.nextToken();
  262.                String var5 = var3.nextToken();
  263.                String var6 = var3.nextToken();
  264.                String var7 = var3.nextToken();
  265.                this.displayMessage(this.user, "Message from " + var4, var5, var6, var7);
  266.                return true;
  267.             } else {
  268.                return false;
  269.             }
  270.          default:
  271.             return false;
  272.       }
  273.    }
  274. }
  275.