mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			264 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			264 lines
		
	
	
		
			7.5 KiB
		
	
	
	
		
			Java
		
	
	
	
/* Copyright (C) 1999, 2000  Free Software Foundation
 | 
						|
 | 
						|
   This file is part of libjava.
 | 
						|
 | 
						|
This software is copyrighted work licensed under the terms of the
 | 
						|
Libjava License.  Please consult the file "LIBJAVA_LICENSE" for
 | 
						|
details.  */
 | 
						|
 | 
						|
package java.awt;
 | 
						|
import java.awt.peer.*;
 | 
						|
import java.awt.event.*;
 | 
						|
import java.net.URL;
 | 
						|
import java.beans.*;
 | 
						|
import java.awt.image.*;
 | 
						|
import java.awt.datatransfer.Clipboard;
 | 
						|
import java.util.Hashtable;
 | 
						|
import gnu.gcj.awt.GLightweightPeer;
 | 
						|
 | 
						|
/* A very incomplete placeholder. */
 | 
						|
 | 
						|
public abstract class Toolkit
 | 
						|
{
 | 
						|
  static Toolkit defaultToolkit;
 | 
						|
  PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
 | 
						|
  Hashtable desktopProperties = new Hashtable();
 | 
						|
 | 
						|
  public static Toolkit getDefaultToolkit()
 | 
						|
  {
 | 
						|
    if (defaultToolkit != null)
 | 
						|
      return defaultToolkit;
 | 
						|
    
 | 
						|
    Class toolkit_class;
 | 
						|
    String tk_class_name = System.getProperty("awt.toolkit");
 | 
						|
    if (tk_class_name == null)
 | 
						|
      tk_class_name = "gnu.awt.gtk.GtkToolkit";
 | 
						|
 | 
						|
    try
 | 
						|
    {
 | 
						|
      toolkit_class = Class.forName(tk_class_name);
 | 
						|
      defaultToolkit = (Toolkit) toolkit_class.newInstance();
 | 
						|
    }
 | 
						|
    catch (Exception x)
 | 
						|
    {
 | 
						|
      throw new AWTError("Toolkit class " + tk_class_name + 
 | 
						|
        		 " could not be initialized:\n  " + x);
 | 
						|
    }
 | 
						|
 | 
						|
    return defaultToolkit;
 | 
						|
  }
 | 
						|
 | 
						|
  protected abstract ButtonPeer createButton(Button target);
 | 
						|
  protected abstract TextFieldPeer createTextField(TextField target);
 | 
						|
  protected abstract LabelPeer createLabel(Label target);
 | 
						|
  protected abstract ListPeer createList(List target);
 | 
						|
  protected abstract CheckboxPeer createCheckbox(Checkbox target);
 | 
						|
  protected abstract ScrollbarPeer createScrollbar(Scrollbar target);
 | 
						|
  protected abstract ScrollPanePeer createScrollPane(ScrollPane target);
 | 
						|
  protected abstract TextAreaPeer createTextArea(TextArea target);
 | 
						|
  protected abstract ChoicePeer createChoice(Choice target);
 | 
						|
  protected abstract FramePeer createFrame(Frame target);
 | 
						|
  protected abstract CanvasPeer createCanvas(Canvas target);
 | 
						|
  protected abstract PanelPeer createPanel(Panel target);
 | 
						|
  protected abstract WindowPeer createWindow(Window target);
 | 
						|
  protected abstract DialogPeer createDialog(Dialog target);
 | 
						|
  protected abstract MenuBarPeer createMenuBar(MenuBar target);
 | 
						|
  protected abstract MenuPeer createMenu(Menu target);
 | 
						|
  protected abstract PopupMenuPeer createPopupMenu(PopupMenu target);
 | 
						|
  protected abstract MenuItemPeer createMenuItem(MenuItem target);
 | 
						|
  protected abstract FileDialogPeer createFileDialog(FileDialog target);
 | 
						|
  protected abstract CheckboxMenuItemPeer 
 | 
						|
    createCheckboxMenuItem(CheckboxMenuItem target);
 | 
						|
 | 
						|
  protected LightweightPeer createComponent(Component target)
 | 
						|
  {
 | 
						|
    return GLightweightPeer.INSTANCE;
 | 
						|
  }
 | 
						|
  
 | 
						|
  /* @deprecated Use GraphicsEnvironment.getAllFonts() */
 | 
						|
  protected abstract java.awt.peer.FontPeer getFontPeer(String name, int style);
 | 
						|
  
 | 
						|
  /*
 | 
						|
  public abstract DragSourceContextPeer 
 | 
						|
    createDragSourceContextPeer(DragGestureEvent dge)
 | 
						|
    throws InvalidDnDOperationException;
 | 
						|
  */
 | 
						|
  
 | 
						|
  protected void loadSystemColors(int[] systemColors)
 | 
						|
  {
 | 
						|
    // FIXME
 | 
						|
  }
 | 
						|
 | 
						|
  public abstract Dimension getScreenSize();
 | 
						|
  public abstract int getScreenResolution();
 | 
						|
  public abstract ColorModel getColorModel();
 | 
						|
  /* @deprecated Use GraphicsEnvironment.getAvailableFontFamilyNames() */
 | 
						|
  public abstract String[] getFontList();
 | 
						|
  public abstract FontMetrics getFontMetrics(Font font);
 | 
						|
  public abstract void sync();
 | 
						|
  public abstract Image getImage(String filename);
 | 
						|
  public abstract Image getImage(URL url);
 | 
						|
  public abstract Image createImage(String filename);
 | 
						|
  public abstract Image createImage(URL url);
 | 
						|
  public abstract boolean prepareImage(Image image, int width, int height,
 | 
						|
                                       ImageObserver observer);
 | 
						|
  public abstract int checkImage(Image image, int width, int height,
 | 
						|
                        	 ImageObserver observer);
 | 
						|
  public abstract Image createImage(ImageProducer producer);
 | 
						|
 | 
						|
  public Image createImage(byte[] imagedata)
 | 
						|
  {
 | 
						|
    return createImage (imagedata, 0, imagedata.length);
 | 
						|
  }
 | 
						|
  
 | 
						|
  public abstract Image createImage(byte[] imagedata, int imageoffset,
 | 
						|
                                    int imagelength);
 | 
						|
  /*
 | 
						|
  public abstract PrintJob getPrintJob(Frame frame, String jobtitle,
 | 
						|
                                       Properties props);
 | 
						|
  public PrintJob getPrintJob(Frame frame, String jobtitle,
 | 
						|
                              JobAttributes jobAttributes,
 | 
						|
			      PageAttributes pageAttributes)
 | 
						|
  {
 | 
						|
    
 | 
						|
  }
 | 
						|
  */
 | 
						|
  
 | 
						|
  public abstract void beep();
 | 
						|
  public abstract Clipboard getSystemClipboard();
 | 
						|
 | 
						|
  public int getMenuShortcutKeyMask()
 | 
						|
  {
 | 
						|
    return InputEvent.CTRL_MASK;
 | 
						|
  }
 | 
						|
 | 
						|
  public boolean getLockingKeyState(int keyCode)
 | 
						|
  {
 | 
						|
    if (keyCode != KeyEvent.VK_CAPS_LOCK
 | 
						|
	&& keyCode != KeyEvent.VK_NUM_LOCK
 | 
						|
	&& keyCode != KeyEvent.VK_SCROLL_LOCK)
 | 
						|
      throw new IllegalArgumentException();
 | 
						|
 | 
						|
    throw new UnsupportedOperationException();
 | 
						|
  }
 | 
						|
 | 
						|
  public void setLockingKeyState(int keyCode, boolean on)
 | 
						|
  {
 | 
						|
    if (keyCode != KeyEvent.VK_CAPS_LOCK
 | 
						|
	&& keyCode != KeyEvent.VK_NUM_LOCK
 | 
						|
	&& keyCode != KeyEvent.VK_SCROLL_LOCK)
 | 
						|
      throw new IllegalArgumentException();
 | 
						|
 | 
						|
    throw new UnsupportedOperationException();
 | 
						|
  }
 | 
						|
 | 
						|
  protected static Container getNativeContainer(Component c)
 | 
						|
  {
 | 
						|
    while (c != null) 
 | 
						|
    {
 | 
						|
      if (!c.isLightweight ())
 | 
						|
	return (Container) c;
 | 
						|
 | 
						|
      c = c.getParent();
 | 
						|
    }
 | 
						|
    return null;
 | 
						|
  }
 | 
						|
 | 
						|
  public Cursor createCustomCursor(Image cursor, Point hotSpot, String name)
 | 
						|
    throws IndexOutOfBoundsException
 | 
						|
  {
 | 
						|
    // Presumably the only reason this isn't abstract is for backwards
 | 
						|
    // compatibility? FIXME?
 | 
						|
    return null;
 | 
						|
  }
 | 
						|
 | 
						|
  public Dimension getBestCursorSize(int preferredWidth, int preferredHeight)
 | 
						|
  {
 | 
						|
    return new Dimension (0,0);
 | 
						|
  }
 | 
						|
 | 
						|
  public int getMaximumCursorColors()
 | 
						|
  {
 | 
						|
    return 0;
 | 
						|
  }
 | 
						|
 | 
						|
  public static String getProperty(String key, String defaultValue)
 | 
						|
  {
 | 
						|
    // FIXME
 | 
						|
    return defaultValue;
 | 
						|
  }
 | 
						|
 | 
						|
  public final EventQueue getSystemEventQueue()
 | 
						|
  {
 | 
						|
      return getSystemEventQueueImpl();
 | 
						|
  }
 | 
						|
 | 
						|
  protected abstract EventQueue getSystemEventQueueImpl();
 | 
						|
 | 
						|
  /*
 | 
						|
  public DragGestureRecognizer 
 | 
						|
    createDragGestureRecognizer(Class abstractRecognizerClass, DragSource ds,
 | 
						|
                        	Component c, int srcActions,
 | 
						|
				DragGestureListener dgl)
 | 
						|
  {
 | 
						|
    // err... FIXME
 | 
						|
    return null;
 | 
						|
  }
 | 
						|
  */
 | 
						|
 | 
						|
  public final Object getDesktopProperty(String propertyName)
 | 
						|
  {
 | 
						|
    return desktopProperties.get(propertyName);
 | 
						|
  }
 | 
						|
 | 
						|
  protected final void setDesktopProperty(String name, Object newValue)
 | 
						|
  {
 | 
						|
    Object oldValue = getDesktopProperty(name);
 | 
						|
    desktopProperties.put(name, newValue);
 | 
						|
    changeSupport.firePropertyChange(name, oldValue, newValue);
 | 
						|
  }
 | 
						|
 | 
						|
  protected Object lazilyLoadDesktopProperty(String name)
 | 
						|
  {
 | 
						|
    // FIXME - what is this??
 | 
						|
    return null;
 | 
						|
  }
 | 
						|
 | 
						|
  protected void initializeDesktopProperties()
 | 
						|
  {
 | 
						|
    // Overridden by toolkit implementation?
 | 
						|
  }
 | 
						|
 | 
						|
  public void addPropertyChangeListener(String name,
 | 
						|
                                	PropertyChangeListener pcl)
 | 
						|
  {
 | 
						|
    changeSupport.addPropertyChangeListener(name, pcl);
 | 
						|
  }
 | 
						|
  
 | 
						|
  public void removePropertyChangeListener(String name,
 | 
						|
                                           PropertyChangeListener pcl)
 | 
						|
  {
 | 
						|
    changeSupport.removePropertyChangeListener(name, pcl);
 | 
						|
  }
 | 
						|
 | 
						|
  public void addAWTEventListener(AWTEventListener listener, long eventMask)
 | 
						|
  {
 | 
						|
    // SecurityManager s = System.getSecurityManager();
 | 
						|
    // if (s != null)
 | 
						|
    //  s.checkPermission(AWTPermission("listenToAllAWTEvents"));
 | 
						|
 | 
						|
    // FIXME
 | 
						|
  }
 | 
						|
 | 
						|
  public void removeAWTEventListener(AWTEventListener listener)
 | 
						|
  {
 | 
						|
    // FIXME
 | 
						|
  }
 | 
						|
  
 | 
						|
  /*
 | 
						|
  public abstract Map mapInputMethodHighlight(InputMethodHighlight highlight)
 | 
						|
  {
 | 
						|
  }  
 | 
						|
  */
 | 
						|
}
 |