home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIPHEFT062001.ISO / browser / nc32lyc / comm.z / java40.jar / sun / awt / macos / MFramePeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-08-15  |  5.2 KB  |  237 lines

  1. package sun.awt.macos;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Font;
  7. import java.awt.Frame;
  8. import java.awt.Image;
  9. import java.awt.MenuBar;
  10. import java.awt.Rectangle;
  11. import java.awt.Window;
  12. import java.awt.event.ComponentEvent;
  13. import java.awt.event.KeyEvent;
  14. import java.awt.event.WindowEvent;
  15. import java.awt.peer.ComponentPeer;
  16. import java.awt.peer.FramePeer;
  17. import java.awt.peer.LightweightPeer;
  18. import netscape.applet.AppletServices;
  19. import sun.awt.ScreenUpdater;
  20.  
  21. class MFramePeer extends MPanelPeer implements FramePeer {
  22.    boolean mFrameIsSecure;
  23.    boolean mFrameIsEmbedded;
  24.    boolean mIsWindow;
  25.    MFramePeer mHostPeer;
  26.  
  27.    MFramePeer(Frame var1) {
  28.       super(var1);
  29.       this.mIsWindow = false;
  30.       AppletServices.addTopLevelWindow(var1, Thread.currentThread().getThreadGroup());
  31.       if (var1.getTitle() != null) {
  32.          this.setTitle(var1.getTitle());
  33.       }
  34.  
  35.       Font var2 = ((Component)var1).getFont();
  36.       if (var2 == null) {
  37.          var2 = new Font("Dialog", 0, 9);
  38.          ((Component)var1).setFont(var2);
  39.          ((MComponentPeer)this).setFont(var2);
  40.       }
  41.  
  42.       Color var3 = ((Component)var1).getBackground();
  43.       if (var3 == null) {
  44.          ((Component)var1).setBackground(Color.lightGray);
  45.          ((MComponentPeer)this).setBackground(Color.lightGray);
  46.       }
  47.  
  48.       var3 = ((Component)var1).getForeground();
  49.       if (var3 == null) {
  50.          ((Component)var1).setForeground(Color.black);
  51.          ((MComponentPeer)this).setForeground(Color.black);
  52.       }
  53.  
  54.       Image var4 = var1.getIconImage();
  55.       if (var4 != null) {
  56.          this.setIconImage(var4);
  57.       }
  58.  
  59.       this.setResizable(var1.isResizable());
  60.       Rectangle var5 = ((Component)var1).bounds();
  61.       this.reshape(var5.x, var5.y, var5.width, var5.height);
  62.    }
  63.  
  64.    MFramePeer(Window var1) {
  65.       super(var1);
  66.       this.mIsWindow = true;
  67.       AppletServices.addTopLevelWindow(var1, Thread.currentThread().getThreadGroup());
  68.       Font var2 = ((Component)var1).getFont();
  69.       if (var2 == null) {
  70.          var2 = new Font("Dialog", 0, 9);
  71.          ((Component)var1).setFont(var2);
  72.          ((MComponentPeer)this).setFont(var2);
  73.       }
  74.  
  75.       Color var3 = ((Component)var1).getBackground();
  76.       if (var3 == null) {
  77.          ((Component)var1).setBackground(Color.lightGray);
  78.          ((MComponentPeer)this).setBackground(Color.lightGray);
  79.       }
  80.  
  81.       var3 = ((Component)var1).getForeground();
  82.       if (var3 == null) {
  83.          ((Component)var1).setForeground(Color.black);
  84.          ((MComponentPeer)this).setForeground(Color.black);
  85.       }
  86.  
  87.       this.setResizable(false);
  88.       Rectangle var4 = ((Component)var1).bounds();
  89.       this.reshape(var4.x, var4.y, var4.width, var4.height);
  90.    }
  91.  
  92.    native void create(MComponentPeer var1);
  93.  
  94.    ComponentPeer getFocusPeer() {
  95.       for(Object var1 = ((Window)super.target).getFocusOwner(); var1 != null; var1 = ((Component)var1).getParent()) {
  96.          ComponentPeer var2 = ((Component)var1).getPeer();
  97.          if (var2 != null) {
  98.             return var2;
  99.          }
  100.       }
  101.  
  102.       return null;
  103.    }
  104.  
  105.    MComponentPeer setDefaultFocus() {
  106.       Component var1 = this.setDefaultFocus((Container)super.target);
  107.       Component var2;
  108.       if (var1 == null) {
  109.          for(var1 = super.target; var1 instanceof Container && ((Container)var1).getComponentCount() > 0 && var1.getPeer() != null; var1 = var2) {
  110.             var2 = ((Container)var1).getComponent(0);
  111.             if (!var2.isVisible() || !var2.isEnabled()) {
  112.                break;
  113.             }
  114.          }
  115.       }
  116.  
  117.       ComponentPeer var3 = var1.getPeer();
  118.       if (var3 instanceof LightweightPeer) {
  119.          var1.requestFocus();
  120.          return null;
  121.       } else {
  122.          return (MComponentPeer)var3;
  123.       }
  124.    }
  125.  
  126.    private Component setDefaultFocus(Container var1) {
  127.       int var2 = var1.getComponentCount();
  128.  
  129.       for(int var3 = 0; var3 < var2; ++var3) {
  130.          Component var4 = var1.getComponent(var3);
  131.          if (var4.isVisible() && var4.isEnabled() && var4.isFocusTraversable()) {
  132.             return var4;
  133.          }
  134.  
  135.          if (var4 instanceof Container && var4.isVisible() && var4.isEnabled()) {
  136.             Component var5 = this.setDefaultFocus((Container)var4);
  137.             if (var5 != null) {
  138.                return var5;
  139.             }
  140.          }
  141.       }
  142.  
  143.       return null;
  144.    }
  145.  
  146.    protected void sendKeyEvent(int var1, int var2, int var3, int var4, int var5, boolean var6, int var7) {
  147.       Component var8 = ((Window)super.target).getFocusOwner();
  148.       if (var8 != null) {
  149.          long var9 = 0L;
  150.          int var11 = MComponentPeer.modifiersToJavaFlags(var5);
  151.          char var14 = (char)var4;
  152.          var9 = System.currentTimeMillis();
  153.          short var12;
  154.          if (var6) {
  155.             var12 = 401;
  156.          } else {
  157.             var12 = 402;
  158.          }
  159.  
  160.          KeyEvent var15 = new KeyEvent(var8, var12, var9, var11, var3, var14);
  161.          MToolkit.addNativeEventInfo(var15, var7);
  162.          MToolkit.postEvent(var15);
  163.          if (var6 && var14 != 0) {
  164.             var12 = 400;
  165.             var15 = new KeyEvent(var8, var12, var9, var11, 0, var14);
  166.             MToolkit.addNativeEventInfo(var15, var7);
  167.             MToolkit.postEvent(var15);
  168.          }
  169.       }
  170.  
  171.    }
  172.  
  173.    public native void setTitle(String var1);
  174.  
  175.    public void show() {
  176.       super.show();
  177.       this.pShow();
  178.    }
  179.  
  180.    public void reshape(int var1, int var2, int var3, int var4) {
  181.       this.pReshape(var1, var2, var3, var4);
  182.    }
  183.  
  184.    public void setIconImage(Image var1) {
  185.    }
  186.  
  187.    public void setMenuBar(MenuBar var1) {
  188.    }
  189.  
  190.    public void setResizable(boolean var1) {
  191.    }
  192.  
  193.    public void dispose() {
  194.       AppletServices.removeTopLevelWindow((Window)super.target, Thread.currentThread().getThreadGroup());
  195.       MToolkit.targetDisposedPeer(super.target, this);
  196.       ScreenUpdater.updater.removeClient(this);
  197.       this.pDispose();
  198.    }
  199.  
  200.    private native void pReshape(int var1, int var2, int var3, int var4);
  201.  
  202.    private native void pDispose();
  203.  
  204.    private native void pShow();
  205.  
  206.    protected void handleFrameReshape(int var1, int var2, int var3, int var4) {
  207.       super.target.reshape(var1, var2, var3, var4);
  208.       super.target.invalidate();
  209.       super.target.validate();
  210.       super.target.repaint();
  211.    }
  212.  
  213.    protected void handleWindowClose() {
  214.       MToolkit.postEvent(new WindowEvent((Window)super.target, 201));
  215.    }
  216.  
  217.    protected void handleWindowClosed() {
  218.       MToolkit.postEvent(new WindowEvent((Window)super.target, 202));
  219.    }
  220.  
  221.    protected void handleWindowActivate() {
  222.       MToolkit.postEvent(new WindowEvent((Window)super.target, 205));
  223.    }
  224.  
  225.    protected void handleWindowDeactivate() {
  226.       MToolkit.postEvent(new WindowEvent((Window)super.target, 206));
  227.    }
  228.  
  229.    protected void handleWindowMoved(int var1, int var2) {
  230.       MToolkit.postEvent(new ComponentEvent(super.target, 100));
  231.    }
  232.  
  233.    public native void toFront();
  234.  
  235.    public native void toBack();
  236. }
  237.