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

  1. package sun.awt.motif;
  2.  
  3. import java.awt.AWTEvent;
  4. import java.awt.Button;
  5. import java.awt.Canvas;
  6. import java.awt.Checkbox;
  7. import java.awt.CheckboxMenuItem;
  8. import java.awt.Choice;
  9. import java.awt.Component;
  10. import java.awt.Container;
  11. import java.awt.Dialog;
  12. import java.awt.EventQueue;
  13. import java.awt.FileDialog;
  14. import java.awt.Font;
  15. import java.awt.FontMetrics;
  16. import java.awt.Frame;
  17. import java.awt.Image;
  18. import java.awt.Label;
  19. import java.awt.List;
  20. import java.awt.Menu;
  21. import java.awt.MenuBar;
  22. import java.awt.MenuItem;
  23. import java.awt.Panel;
  24. import java.awt.PopupMenu;
  25. import java.awt.PrintJob;
  26. import java.awt.ScrollPane;
  27. import java.awt.Scrollbar;
  28. import java.awt.TextArea;
  29. import java.awt.TextField;
  30. import java.awt.Toolkit;
  31. import java.awt.Window;
  32. import java.awt.datatransfer.Clipboard;
  33. import java.awt.image.ColorModel;
  34. import java.awt.image.ImageObserver;
  35. import java.awt.image.ImageProducer;
  36. import java.awt.peer.ButtonPeer;
  37. import java.awt.peer.CanvasPeer;
  38. import java.awt.peer.CheckboxMenuItemPeer;
  39. import java.awt.peer.CheckboxPeer;
  40. import java.awt.peer.ChoicePeer;
  41. import java.awt.peer.DialogPeer;
  42. import java.awt.peer.FileDialogPeer;
  43. import java.awt.peer.FontPeer;
  44. import java.awt.peer.FramePeer;
  45. import java.awt.peer.LabelPeer;
  46. import java.awt.peer.ListPeer;
  47. import java.awt.peer.MenuBarPeer;
  48. import java.awt.peer.MenuItemPeer;
  49. import java.awt.peer.MenuPeer;
  50. import java.awt.peer.PanelPeer;
  51. import java.awt.peer.PopupMenuPeer;
  52. import java.awt.peer.ScrollPanePeer;
  53. import java.awt.peer.ScrollbarPeer;
  54. import java.awt.peer.TextAreaPeer;
  55. import java.awt.peer.TextFieldPeer;
  56. import java.awt.peer.WindowPeer;
  57. import java.util.EventObject;
  58. import java.util.Properties;
  59. import sun.awt.ObjectPeer;
  60. import sun.awt.SunToolkit;
  61. import sun.awt.image.ImageRepresentation;
  62.  
  63. public class MToolkit extends SunToolkit implements Runnable {
  64.    static final boolean useMotifChoiceWidget = true;
  65.    X11Clipboard clipboard;
  66.    static ColorModel screenmodel;
  67.  
  68.    public MToolkit() {
  69.       this.init();
  70.       new InputThread();
  71.       Thread var1 = new Thread(this, "AWT-Motif");
  72.       var1.setDaemon(false);
  73.       var1.start();
  74.    }
  75.  
  76.    public native void init();
  77.  
  78.    public native void run();
  79.  
  80.    public ButtonPeer createButton(Button var1) {
  81.       MButtonPeer var2 = new MButtonPeer(var1);
  82.       SunToolkit.peerMap.put(var1, var2);
  83.       return var2;
  84.    }
  85.  
  86.    public TextFieldPeer createTextField(TextField var1) {
  87.       MTextFieldPeer var2 = new MTextFieldPeer(var1);
  88.       SunToolkit.peerMap.put(var1, var2);
  89.       return var2;
  90.    }
  91.  
  92.    public LabelPeer createLabel(Label var1) {
  93.       MLabelPeer var2 = new MLabelPeer(var1);
  94.       SunToolkit.peerMap.put(var1, var2);
  95.       return var2;
  96.    }
  97.  
  98.    public ListPeer createList(List var1) {
  99.       MListPeer var2 = new MListPeer(var1);
  100.       SunToolkit.peerMap.put(var1, var2);
  101.       return var2;
  102.    }
  103.  
  104.    public CheckboxPeer createCheckbox(Checkbox var1) {
  105.       MCheckboxPeer var2 = new MCheckboxPeer(var1);
  106.       SunToolkit.peerMap.put(var1, var2);
  107.       return var2;
  108.    }
  109.  
  110.    public ScrollbarPeer createScrollbar(Scrollbar var1) {
  111.       MScrollbarPeer var2 = new MScrollbarPeer(var1);
  112.       SunToolkit.peerMap.put(var1, var2);
  113.       return var2;
  114.    }
  115.  
  116.    public ScrollPanePeer createScrollPane(ScrollPane var1) {
  117.       MScrollPanePeer var2 = new MScrollPanePeer(var1);
  118.       SunToolkit.peerMap.put(var1, var2);
  119.       return var2;
  120.    }
  121.  
  122.    public TextAreaPeer createTextArea(TextArea var1) {
  123.       MTextAreaPeer var2 = new MTextAreaPeer(var1);
  124.       SunToolkit.peerMap.put(var1, var2);
  125.       return var2;
  126.    }
  127.  
  128.    public ChoicePeer createChoice(Choice var1) {
  129.       Object var2 = null;
  130.       MChoicePeer var3 = new MChoicePeer(var1);
  131.       SunToolkit.peerMap.put(var1, var3);
  132.       return var3;
  133.    }
  134.  
  135.    public FramePeer createFrame(Frame var1) {
  136.       MFramePeer var2 = new MFramePeer(var1);
  137.       SunToolkit.peerMap.put(var1, var2);
  138.       return var2;
  139.    }
  140.  
  141.    public CanvasPeer createCanvas(Canvas var1) {
  142.       MCanvasPeer var2 = new MCanvasPeer(var1);
  143.       SunToolkit.peerMap.put(var1, var2);
  144.       return var2;
  145.    }
  146.  
  147.    public PanelPeer createPanel(Panel var1) {
  148.       MPanelPeer var2 = new MPanelPeer(var1);
  149.       SunToolkit.peerMap.put(var1, var2);
  150.       return var2;
  151.    }
  152.  
  153.    public WindowPeer createWindow(Window var1) {
  154.       MWindowPeer var2 = new MWindowPeer(var1);
  155.       SunToolkit.peerMap.put(var1, var2);
  156.       return var2;
  157.    }
  158.  
  159.    public DialogPeer createDialog(Dialog var1) {
  160.       MDialogPeer var2 = new MDialogPeer(var1);
  161.       SunToolkit.peerMap.put(var1, var2);
  162.       return var2;
  163.    }
  164.  
  165.    public FileDialogPeer createFileDialog(FileDialog var1) {
  166.       MFileDialogPeer var2 = new MFileDialogPeer(var1);
  167.       SunToolkit.peerMap.put(var1, var2);
  168.       return var2;
  169.    }
  170.  
  171.    public MenuBarPeer createMenuBar(MenuBar var1) {
  172.       MMenuBarPeer var2 = new MMenuBarPeer(var1);
  173.       SunToolkit.peerMap.put(var1, var2);
  174.       return var2;
  175.    }
  176.  
  177.    public MenuPeer createMenu(Menu var1) {
  178.       MMenuPeer var2 = new MMenuPeer(var1);
  179.       SunToolkit.peerMap.put(var1, var2);
  180.       return var2;
  181.    }
  182.  
  183.    public PopupMenuPeer createPopupMenu(PopupMenu var1) {
  184.       MPopupMenuPeer var2 = new MPopupMenuPeer(var1);
  185.       SunToolkit.peerMap.put(var1, var2);
  186.       return var2;
  187.    }
  188.  
  189.    public MenuItemPeer createMenuItem(MenuItem var1) {
  190.       MMenuItemPeer var2 = new MMenuItemPeer(var1);
  191.       SunToolkit.peerMap.put(var1, var2);
  192.       return var2;
  193.    }
  194.  
  195.    public CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem var1) {
  196.       MCheckboxMenuItemPeer var2 = new MCheckboxMenuItemPeer(var1);
  197.       SunToolkit.peerMap.put(var1, var2);
  198.       return var2;
  199.    }
  200.  
  201.    public MEmbeddedFramePeer createEmbeddedFrame(MEmbeddedFrame var1, int var2) {
  202.       MEmbeddedFramePeer var3 = new MEmbeddedFramePeer(var1, var2);
  203.       SunToolkit.peerMap.put(var1, var3);
  204.       return var3;
  205.    }
  206.  
  207.    public FontPeer getFontPeer(String var1, int var2) {
  208.       return new MFontPeer(var1, var2);
  209.    }
  210.  
  211.    static native ColorModel makeColorModel();
  212.  
  213.    static ColorModel getStaticColorModel() {
  214.       if (screenmodel == null) {
  215.          screenmodel = makeColorModel();
  216.       }
  217.  
  218.       return screenmodel;
  219.    }
  220.  
  221.    public ColorModel getColorModel() {
  222.       return getStaticColorModel();
  223.    }
  224.  
  225.    public native int getScreenResolution();
  226.  
  227.    protected native int getScreenWidth();
  228.  
  229.    protected native int getScreenHeight();
  230.  
  231.    public FontMetrics getFontMetrics(Font var1) {
  232.       return X11FontMetrics.getFontMetrics(var1);
  233.    }
  234.  
  235.    public native void sync();
  236.  
  237.    static boolean prepareScrImage(Image var0, int var1, int var2, ImageObserver var3) {
  238.       if (var1 != 0 && var2 != 0) {
  239.          X11Image var4 = (X11Image)var0;
  240.          if (((sun.awt.image.Image)var4).hasError()) {
  241.             if (var3 != null) {
  242.                var3.imageUpdate(var0, 192, -1, -1, -1, -1);
  243.             }
  244.  
  245.             return false;
  246.          } else {
  247.             ImageRepresentation var5 = var4.getImageRep();
  248.             return var5.prepare(var3);
  249.          }
  250.       } else {
  251.          return true;
  252.       }
  253.    }
  254.  
  255.    static int checkScrImage(Image var0, int var1, int var2, ImageObserver var3) {
  256.       X11Image var4 = (X11Image)var0;
  257.       int var5;
  258.       if (var1 != 0 && var2 != 0) {
  259.          var5 = var4.getImageRep().check(var3);
  260.       } else {
  261.          var5 = 32;
  262.       }
  263.  
  264.       return ((sun.awt.image.Image)var4).check(var3) | var5;
  265.    }
  266.  
  267.    public int checkImage(Image var1, int var2, int var3, ImageObserver var4) {
  268.       return checkScrImage(var1, var2, var3, var4);
  269.    }
  270.  
  271.    public boolean prepareImage(Image var1, int var2, int var3, ImageObserver var4) {
  272.       return prepareScrImage(var1, var2, var3, var4);
  273.    }
  274.  
  275.    public Image createImage(ImageProducer var1) {
  276.       return new X11Image(var1);
  277.    }
  278.  
  279.    public PrintJob getPrintJob(Frame var1, String var2, Properties var3) {
  280.       SecurityManager var4 = System.getSecurityManager();
  281.       if (var4 != null) {
  282.          var4.checkPrintJobAccess();
  283.       }
  284.  
  285.       PSPrintControl var5 = new PSPrintControl(var1);
  286.       return var5.initJob(var2, var3, true);
  287.    }
  288.  
  289.    public native void beep();
  290.  
  291.    public Clipboard getSystemClipboard() {
  292.       SecurityManager var1 = System.getSecurityManager();
  293.       if (var1 != null) {
  294.          var1.checkSystemClipboardAccess();
  295.       }
  296.  
  297.       if (this.clipboard == null) {
  298.          this.clipboard = new X11Clipboard("System");
  299.       }
  300.  
  301.       return this.clipboard;
  302.    }
  303.  
  304.    public native void loadSystemColors(int[] var1);
  305.  
  306.    public static Container getNativeContainer(Component var0) {
  307.       return Toolkit.getNativeContainer(var0);
  308.    }
  309.  
  310.    static void postEvent(AWTEvent var0) {
  311.       EventQueue var1 = SunToolkit.theEventQueue;
  312.       Object var2 = ((EventObject)var0).getSource();
  313.       if (var2 != null) {
  314.          Object var3 = SunToolkit.targetToPeer(var2);
  315.          if (var3 != null && ((ObjectPeer)var3).getEventQueue() != null) {
  316.             var1 = ((ObjectPeer)var3).getEventQueue();
  317.          }
  318.       }
  319.  
  320.       var1.postEvent(var0);
  321.    }
  322.  
  323.    public static final Object targetToPeer(Object var0) {
  324.       return SunToolkit.targetToPeer(var0);
  325.    }
  326.  
  327.    public static final void targetDisposedPeer(Object var0, Object var1) {
  328.       SunToolkit.targetDisposedPeer(var0, var1);
  329.    }
  330.  
  331.    protected static native boolean awtInMozilla();
  332.  
  333.    static {
  334.       SecurityManager.enablePrivilege("UniversalLinkAccess");
  335.       System.loadLibrary("awt");
  336.       SecurityManager.revertPrivilege();
  337.    }
  338. }
  339.