diff options
Diffstat (limited to 'libjava/gnu/awt/gtk/GtkToolkit.java')
-rw-r--r-- | libjava/gnu/awt/gtk/GtkToolkit.java | 314 |
1 files changed, 314 insertions, 0 deletions
diff --git a/libjava/gnu/awt/gtk/GtkToolkit.java b/libjava/gnu/awt/gtk/GtkToolkit.java new file mode 100644 index 00000000000..18833b8f911 --- /dev/null +++ b/libjava/gnu/awt/gtk/GtkToolkit.java @@ -0,0 +1,314 @@ +/* GtkToolkit.java -- Implements an AWT Toolkit using GTK for peers + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. + +This file is part of the peer AWT libraries of GNU Classpath. + +This library is free software; you can redistribute it and/or modify +it under the terms of the GNU Library General Public License as published +by the Free Software Foundation, either version 2 of the License, or +(at your option) any later verion. + +This library is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Library General Public License for more details. + +You should have received a copy of the GNU Library General Public License +along with this library; if not, write to the Free Software Foundation +Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA. */ + + +package gnu.awt.gtk; + +import java.awt.*; +import java.net.*; +import java.util.Hashtable; +import java.util.Properties; +import java.util.MissingResourceException; +import java.awt.datatransfer.*; +import java.awt.image.*; +import java.awt.peer.*; + +public class GtkToolkit extends java.awt.Toolkit +{ + static GtkMainThread gtkthread; + static EventQueue evtqueue; + static Hashtable containers = new Hashtable(); + static Clipboard systemClipboard; + static GtkToolkit instance = null; + + public GtkToolkit () + { + gtkInit(); + instance = this; + //systemClipboard = new GtkClipboard (); + } + + // Start the thread to run the GTK event loop. This is called from + // a GtkComponentPeer static initializer. + void init () + { + gtkthread = new GtkMainThread (); + gtkthread.start(); + } + + static native void gtkInit(); + + native public void beep (); + + public int checkImage (Image image, int width, int height, + ImageObserver observer) + { + return ImageObserver.ALLBITS; + +// GtkImage i = (GtkImage) image; +// return i.checkImage (); + } + + public Image createImage(String filename) + { + return null; + } + + public Image createImage(URL url) + { + return null; + } + + public Image createImage (ImageProducer producer) + { +// return new GtkImage (producer, null); + return null; + } + + public Image createImage (byte[] imagedata, int imageoffset, + int imagelength) + { + System.out.println ("createImage byte[] NOT SUPPORTED"); + return null; + } + + public ColorModel getColorModel () + { + return ColorModel.getRGBdefault (); + } + + public String[] getFontList () + { + return (new String[] { "Dialog", + "DialogInput", + "Monospaced", + "Serif", + "SansSerif" }); + } + + public FontMetrics getFontMetrics (Font font) + { +// return new GdkFontMetrics (font); + return null; + } + + public Image getImage (String filename) + { +// return new GtkImage (new GdkPixbufDecoder (filename), null); + return null; + } + + public Image getImage (URL url) + { +// return new GtkImage (new GdkPixbufDecoder (url), null); + return null; + } + + /* + public PrintJob getPrintJob (Frame frame, String jobtitle, Properties props) + { + return null; + } + */ + native public int getScreenResolution(); + + native public Dimension getScreenSize (); + + public Clipboard getSystemClipboard() + { + return systemClipboard; + } + + public boolean prepareImage (Image image, int width, int height, + ImageObserver observer) + { + return false; + } + + native public void sync (); + + protected void setComponentState (Component c, GtkComponentPeer cp) + { + /* Make the Peer reflect the state of the Component */ + if (! (c instanceof Window)) + { + cp.setCursor (c.getCursor ()); + + Rectangle bounds = c.getBounds (); + cp.setBounds (bounds.x, bounds.y, bounds.width, bounds.height); + if (c instanceof Canvas) + System.out.println ("width " + bounds.width + " height " + bounds.height); + + cp.setVisible (c.isVisible ()); + } + } + + protected ButtonPeer createButton (Button b) + { + return null; + /* + GtkButtonPeer bp = new GtkButtonPeer (b); + Rectangle bounds = b.getBounds (); + bp.setBounds (bounds.x, bounds.y, bounds.width, bounds.height); + return bp; + */ + } + + protected CanvasPeer createCanvas (Canvas c) + { +// return new GtkCanvasPeer (c); + return null; + } + + protected CheckboxPeer createCheckbox (Checkbox cb) + { + return null; + /* + if (cb.getCheckboxGroup () != null) + return new GtkRadioButtonPeer (cb); + else + return new GtkCheckButtonPeer (cb); + */ + } + + protected CheckboxMenuItemPeer createCheckboxMenuItem (CheckboxMenuItem cmi) + { + return null; + //return new GtkCheckboxMenuItemPeer (cmi); + } + + protected ChoicePeer createChoice (Choice c) + { + return null; + //return new GtkChoicePeer (c); + } + + protected DialogPeer createDialog (Dialog d) + { + return null; + //return new GtkDialogPeer (d); + } + + protected FileDialogPeer createFileDialog (FileDialog fd) + { + return null; + //return new GtkFileDialogPeer (fd); + } + + protected FramePeer createFrame (Frame f) + { + return new GtkFramePeer (f); + } + + protected LabelPeer createLabel (Label label) + { + return null; + //return new GtkLabelPeer (label); + } + + protected ListPeer createList (List list) + { + return null; + //return new GtkListPeer (list); + } + + protected MenuPeer createMenu (Menu m) + { + return null; + //return new GtkMenuPeer (m); + } + + protected MenuBarPeer createMenuBar (MenuBar mb) + { + return null; + //return new GtkMenuBarPeer (mb); + } + + protected MenuItemPeer createMenuItem (MenuItem mi) + { + return null; + //return new GtkMenuItemPeer (mi); + } + + protected PanelPeer createPanel (Panel p) + { + return null; + //return new GtkPanelPeer (p); + } + + protected PopupMenuPeer createPopupMenu (PopupMenu target) + { + return null; + //return new GtkPopupMenuPeer (target); + } + + protected ScrollPanePeer createScrollPane (ScrollPane sp) + { + return null; + //return new GtkScrollPanePeer (sp); + } + + protected ScrollbarPeer createScrollbar (Scrollbar sb) + { + return null; + //return new GtkScrollbarPeer (sb); + } + + protected TextAreaPeer createTextArea (TextArea ta) + { + return null; + //return new GtkTextAreaPeer (ta); + } + + protected TextFieldPeer createTextField (TextField tf) + { + return null; + //return new GtkTextFieldPeer (tf); + } + + protected WindowPeer createWindow (Window w) + { + return new GtkWindowPeer (w); + } + + protected FontPeer getFontPeer (String name, int style) + { + return null; + /* + try + { + GtkFontPeer fp = new GtkFontPeer (name, style); + return fp; + } + catch (MissingResourceException ex) + { + return null; + } + */ + } + + protected EventQueue getSystemEventQueueImpl() + { + return GtkComponentPeer.eventQueue; + } + + protected void loadSystemColors (int[] systemColors) + { + } +} |