home *** CD-ROM | disk | FTP | other *** search
/ PC-X 1997 June / pcx11_9706.iso / shutils / internet / browser / p32e40b5.exe / nav40.z / java40.jar / sun / awt / motif / MComponentPeer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-05-23  |  7.0 KB  |  380 lines

  1. package sun.awt.motif;
  2.  
  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.Font;
  9. import java.awt.FontMetrics;
  10. import java.awt.Graphics;
  11. import java.awt.Image;
  12. import java.awt.Rectangle;
  13. import java.awt.Toolkit;
  14. import java.awt.image.ColorModel;
  15. import java.awt.image.ImageObserver;
  16. import java.awt.image.ImageProducer;
  17. import java.awt.peer.ComponentPeer;
  18. import netscape.applet.EventQueue;
  19. import sun.awt.ObjectPeer;
  20. import sun.awt.ScreenUpdater;
  21. import sun.awt.UpdateClient;
  22.  
  23. public abstract class MComponentPeer extends ObjectPeer implements ComponentPeer, UpdateClient {
  24.    Component target;
  25.    int pData;
  26.  
  27.    abstract void create(MComponentPeer var1);
  28.  
  29.    void create(MComponentPeer var1, Object var2) {
  30.       this.create(var1);
  31.    }
  32.  
  33.    native void disposeEvent(Event var1);
  34.  
  35.    native void pInitialize();
  36.  
  37.    native void pShow();
  38.  
  39.    native void pHide();
  40.  
  41.    native void pEnable();
  42.  
  43.    native void pDisable();
  44.  
  45.    native void pReshape(int var1, int var2, int var3, int var4);
  46.  
  47.    native void pAddRepaint(int var1, int var2, int var3, int var4);
  48.  
  49.    native void pTriggerRepaint();
  50.  
  51.    native void pDispose();
  52.  
  53.    void initialize() {
  54.       if (this.target.isVisible()) {
  55.          this.show();
  56.       } else {
  57.          this.hide();
  58.       }
  59.  
  60.       Color var1;
  61.       if ((var1 = this.target.getForeground()) != null) {
  62.          this.setForeground(var1);
  63.       }
  64.  
  65.       if ((var1 = this.target.getBackground()) != null) {
  66.          this.setBackground(var1);
  67.       }
  68.  
  69.       Font var2;
  70.       if ((var2 = this.target.getFont()) != null) {
  71.          this.setFont(var2);
  72.       }
  73.  
  74.       if (!this.target.isEnabled()) {
  75.          this.disable();
  76.       }
  77.  
  78.       Rectangle var3 = this.target.bounds();
  79.       this.reshape(var3.x, var3.y, var3.width, var3.height);
  80.       this.pInitialize();
  81.    }
  82.  
  83.    MComponentPeer(Component var1, Object var2) {
  84.       this.target = var1;
  85.       Container var3 = var1.getParent();
  86.       this.create((MComponentPeer)(var3 != null ? ((Component)var3).getPeer() : null), var2);
  87.       this.initialize();
  88.    }
  89.  
  90.    MComponentPeer(Component var1) {
  91.       this.target = var1;
  92.       Container var2 = var1.getParent();
  93.       this.create((MComponentPeer)(var2 != null ? ((Component)var2).getPeer() : null));
  94.       this.initialize();
  95.    }
  96.  
  97.    public native void setForeground(Color var1);
  98.  
  99.    public native void setBackground(Color var1);
  100.  
  101.    public native void setFont(Font var1);
  102.  
  103.    public ColorModel getColorModel() {
  104.       return MToolkit.getStaticColorModel();
  105.    }
  106.  
  107.    public void show() {
  108.       this.pShow();
  109.    }
  110.  
  111.    public void hide() {
  112.       this.pHide();
  113.    }
  114.  
  115.    public void enable() {
  116.       this.pEnable();
  117.    }
  118.  
  119.    public void disable() {
  120.       this.pDisable();
  121.    }
  122.  
  123.    public int updatePriority() {
  124.       return 5;
  125.    }
  126.  
  127.    public void updateClient(Object var1) {
  128.       this.pTriggerRepaint();
  129.    }
  130.  
  131.    public void repaint(long var1, int var3, int var4, int var5, int var6) {
  132.       this.pAddRepaint(var3, var4, var5, var6);
  133.       SecurityManager.enablePrivilege("SuperUser");
  134.       ScreenUpdater.updater.notify(this, var1);
  135.    }
  136.  
  137.    public void paint(Graphics var1) {
  138.       var1.setColor(this.target.getForeground());
  139.       var1.setFont(this.target.getFont());
  140.       this.target.paint(var1);
  141.    }
  142.  
  143.    public void update(Graphics var1) {
  144.       var1.setColor(this.target.getForeground());
  145.       var1.setFont(this.target.getFont());
  146.       this.target.update(var1);
  147.    }
  148.  
  149.    public void print(Graphics var1) {
  150.       Dimension var2 = this.target.size();
  151.       var1.setColor(this.target.getForeground());
  152.       var1.setFont(this.target.getFont());
  153.       var1.drawRect(0, 0, var2.width - 1, var2.height - 1);
  154.       this.target.print(var1);
  155.    }
  156.  
  157.    public void reshape(int var1, int var2, int var3, int var4) {
  158.       this.pReshape(var1, var2, var3, var4);
  159.    }
  160.  
  161.    public native boolean handleEvent(Event var1);
  162.  
  163.    public Dimension minimumSize() {
  164.       return this.target.size();
  165.    }
  166.  
  167.    public Dimension preferredSize() {
  168.       return this.minimumSize();
  169.    }
  170.  
  171.    public Toolkit getToolkit() {
  172.       return Toolkit.getDefaultToolkit();
  173.    }
  174.  
  175.    public Graphics getGraphics() {
  176.       X11Graphics var1 = new X11Graphics(this);
  177.       ((Graphics)var1).setColor(this.target.getForeground());
  178.       ((Graphics)var1).setFont(this.target.getFont());
  179.       return var1;
  180.    }
  181.  
  182.    public Image createImage(ImageProducer var1) {
  183.       return new X11Image(var1);
  184.    }
  185.  
  186.    public Image createImage(int var1, int var2) {
  187.       return new X11OffScreenImage(this.target, var1, var2);
  188.    }
  189.  
  190.    public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
  191.       return MToolkit.prepareScrImage(var1, var2, var3, var4);
  192.    }
  193.  
  194.    public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
  195.       return MToolkit.checkScrImage(var1, var2, var3, var4);
  196.    }
  197.  
  198.    public FontMetrics getFontMetrics(Font var1) {
  199.       return X11FontMetrics.getFontMetrics(var1);
  200.    }
  201.  
  202.    public void dispose() {
  203.       if (super.applet != null) {
  204.          EventQueue var1 = super.applet.getEventQueue();
  205.          var1.removeEventsForObject(this);
  206.       }
  207.  
  208.       this.pDispose();
  209.    }
  210.  
  211.    public native void requestFocus();
  212.  
  213.    public native void nextFocus();
  214.  
  215.    protected void gotFocus() {
  216.       if (super.applet != null) {
  217.          XEvent var1 = new XEvent(new Event(this.target, 1004, (Object)null), this);
  218.          super.applet.sendGUIEvent(var1);
  219.       } else {
  220.          this.target.postEvent(new Event(this.target, 1004, (Object)null));
  221.       }
  222.    }
  223.  
  224.    protected void lostFocus() {
  225.       if (super.applet != null) {
  226.          XEvent var1 = new XEvent(new Event(this.target, 1005, (Object)null), this);
  227.          super.applet.sendGUIEvent(var1);
  228.       } else {
  229.          this.target.postEvent(new Event(this.target, 1005, (Object)null));
  230.       }
  231.    }
  232.  
  233.    protected void handleActionKey(long var1, int var3, int var4, int var5, int var6, int var7) {
  234.       Event var8 = this.setData(var3, new Event(this.target, var1, 403, var4, var5, var6, var7, (Object)null));
  235.       if (super.applet != null) {
  236.          XEvent var9 = new XEvent(var8, this);
  237.          super.applet.sendGUIEvent(var9);
  238.       } else {
  239.          this.target.postEvent(var8);
  240.          this.disposeEvent(var8);
  241.       }
  242.    }
  243.  
  244.    protected void handleActionKeyRelease(long var1, int var3, int var4, int var5, int var6, int var7) {
  245.       Event var8 = this.setData(var3, new Event(this.target, var1, 404, var4, var5, var6, var7, (Object)null));
  246.       if (super.applet != null) {
  247.          XEvent var9 = new XEvent(var8, this);
  248.          super.applet.sendGUIEvent(var9);
  249.       } else {
  250.          this.target.postEvent(var8);
  251.          this.disposeEvent(var8);
  252.       }
  253.    }
  254.  
  255.    protected void handleKeyPress(long var1, int var3, int var4, int var5, int var6, int var7) {
  256.       Event var8 = this.setData(var3, new Event(this.target, var1, 401, var4, var5, var6, var7, (Object)null));
  257.       if (super.applet != null) {
  258.          XEvent var9 = new XEvent(var8, this);
  259.          super.applet.sendGUIEvent(var9);
  260.       } else {
  261.          this.target.postEvent(var8);
  262.          this.disposeEvent(var8);
  263.       }
  264.    }
  265.  
  266.    protected void handleKeyRelease(long var1, int var3, int var4, int var5, int var6, int var7) {
  267.       Event var8 = this.setData(var3, new Event(this.target, var1, 402, var4, var5, var6, var7, (Object)null));
  268.       if (super.applet != null) {
  269.          XEvent var9 = new XEvent(var8, this);
  270.          super.applet.sendGUIEvent(var9);
  271.       } else {
  272.          this.target.postEvent(var8);
  273.          this.disposeEvent(var8);
  274.       }
  275.    }
  276.  
  277.    protected void handleMouseEnter(long var1, int var3, int var4) {
  278.       if (super.applet != null) {
  279.          XEvent var5 = new XEvent(new Event(this.target, var1, 504, var3, var4, 0, 0, (Object)null), this);
  280.          super.applet.sendGUIEvent(var5);
  281.       } else {
  282.          this.target.postEvent(new Event(this.target, var1, 504, var3, var4, 0, 0, (Object)null));
  283.       }
  284.    }
  285.  
  286.    protected void handleMouseExit(long var1, int var3, int var4) {
  287.       if (super.applet != null) {
  288.          XEvent var5 = new XEvent(new Event(this.target, var1, 505, var3, var4, 0, 0, (Object)null), this);
  289.          super.applet.sendGUIEvent(var5);
  290.       } else {
  291.          this.target.postEvent(new Event(this.target, var1, 505, var3, var4, 0, 0, (Object)null));
  292.       }
  293.    }
  294.  
  295.    protected void handleMouseDown(long var1, int var3, int var4, int var5, int var6, int var7, int var8, int var9) {
  296.       Event var10 = this.setData(var3, new Event(this.target, var1, 501, var4, var5, 0, var9, (Object)null));
  297.       var10.clickCount = var8;
  298.       if (super.applet != null) {
  299.          XEvent var11 = new XEvent(var10, this);
  300.          super.applet.sendGUIEvent(var11);
  301.       } else {
  302.          this.target.postEvent(var10);
  303.       }
  304.    }
  305.  
  306.    protected void handleMouseUp(long var1, int var3, int var4, int var5, int var6, int var7, int var8) {
  307.       Event var9 = this.setData(var3, new Event(this.target, var1, 502, var4, var5, 0, var8, (Object)null));
  308.       if (super.applet != null) {
  309.          XEvent var10 = new XEvent(var9, this);
  310.          super.applet.sendGUIEvent(var10);
  311.       } else {
  312.          this.target.postEvent(var9);
  313.       }
  314.    }
  315.  
  316.    protected void handleMouseMoved(long var1, int var3, int var4, int var5, int var6, int var7, int var8) {
  317.       Event var9 = this.setData(var3, new Event(this.target, var1, 503, var4, var5, 0, var8, (Object)null));
  318.       if (super.applet != null) {
  319.          XEvent var10 = new XEvent(var9, this);
  320.          super.applet.sendGUIEvent(var10);
  321.       } else {
  322.          this.target.postEvent(var9);
  323.       }
  324.    }
  325.  
  326.    protected void handleMouseDrag(long var1, int var3, int var4, int var5, int var6, int var7, int var8) {
  327.       Event var9 = this.setData(var3, new Event(this.target, var1, 506, var4, var5, 0, var8, (Object)null));
  328.       if (super.applet != null) {
  329.          XEvent var10 = new XEvent(var9, this);
  330.          super.applet.sendGUIEvent(var10);
  331.       } else {
  332.          this.target.postEvent(var9);
  333.       }
  334.    }
  335.  
  336.    native Event setData(int var1, Event var2);
  337.  
  338.    void handleExpose(int var1, int var2, int var3, int var4) {
  339.       if (super.applet != null) {
  340.          Rectangle var10 = new Rectangle(var1, var2, var3, var4);
  341.          Event var6 = new Event(this.target, 202, var10);
  342.          XEvent var7 = new XEvent(var6, this);
  343.          super.applet.sendGUIEvent(var7);
  344.       } else {
  345.          Graphics var5 = this.getGraphics();
  346.  
  347.          try {
  348.             var5.clipRect(var1, var2, var3, var4);
  349.             this.paint(var5);
  350.          } finally {
  351.             var5.dispose();
  352.          }
  353.  
  354.       }
  355.    }
  356.  
  357.    void handleRepaint(int var1, int var2, int var3, int var4) {
  358.       if (super.applet != null) {
  359.          Rectangle var10 = new Rectangle(var1, var2, var3, var4);
  360.          Event var6 = new Event(this.target, 206, var10);
  361.          XEvent var7 = new XEvent(var6, this);
  362.          super.applet.sendGUIEvent(var7);
  363.       } else {
  364.          Graphics var5 = this.getGraphics();
  365.  
  366.          try {
  367.             var5.clipRect(var1, var2, var3, var4);
  368.             this.update(var5);
  369.          } finally {
  370.             var5.dispose();
  371.          }
  372.  
  373.       }
  374.    }
  375.  
  376.    public String toString() {
  377.       return this.getClass().getName() + "[" + this.target + "]";
  378.    }
  379. }
  380.