mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			151 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			2.9 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.FramePeer;
 | |
| 
 | |
| /* A very incomplete placeholder. */
 | |
| 
 | |
| public class Frame extends Window implements MenuContainer
 | |
| {
 | |
|   public static final int NORMAL = 0;
 | |
|   public static final int ICONIFIED = 1;
 | |
| 
 | |
|   MenuBar menuBar = null;
 | |
|   String title;
 | |
| 
 | |
|   private transient Image iconImage;
 | |
|   private transient boolean isResizable = true;
 | |
|   private transient int state = NORMAL;
 | |
| 
 | |
|   public Frame ()
 | |
|   {
 | |
|     super();
 | |
|   }
 | |
| 
 | |
|   public Frame(GraphicsConfiguration gc)
 | |
|   {
 | |
|     super(gc);
 | |
|   }
 | |
| 
 | |
|   public Frame (String title)
 | |
|   {
 | |
|     super();
 | |
|     setTitle(title);
 | |
|   }
 | |
| 
 | |
|   public Frame(String title, GraphicsConfiguration gc)
 | |
|   {
 | |
|     super(gc);
 | |
|     setTitle(title);
 | |
|   }
 | |
| 
 | |
|   public String getTitle()
 | |
|   {
 | |
|     return (title != null) ? title : "";
 | |
|   }
 | |
|     
 | |
|   public void setTitle (String title)
 | |
|   {
 | |
|     this.title = title;
 | |
|     if (peer != null)
 | |
|       ((FramePeer)peer).setTitle(title);
 | |
|   }
 | |
| 
 | |
|   public Image getIconImage()
 | |
|   {
 | |
|     return iconImage;
 | |
|   }
 | |
|   
 | |
|   public void setIconImage(Image image)
 | |
|   {
 | |
|     iconImage = image;
 | |
|     if (peer != null)
 | |
|       ((FramePeer) peer).setIconImage(iconImage);
 | |
|   }
 | |
| 
 | |
|   protected void finalize() throws Throwable
 | |
|   {
 | |
|     //frames.remove(this);
 | |
|     /* FIXME: This won't work. Finalize will never be called if frames
 | |
|        has a reference to the object. We need weak references to
 | |
|        implement this correctly. */
 | |
| 
 | |
|     super.finalize();
 | |
|   }
 | |
| 
 | |
|   public synchronized void setMenuBar (MenuBar menuBar)
 | |
|   { 
 | |
|     if (this.menuBar != menuBar)
 | |
|       {
 | |
| 	//this.menuBar.removeNotify();
 | |
| 	this.menuBar = menuBar;
 | |
| 	//this.menuBar.addNotify();
 | |
|       }	
 | |
| 
 | |
|     if (peer != null)
 | |
|       ((FramePeer) peer).setMenuBar(menuBar);
 | |
|   }
 | |
|   
 | |
|   public boolean isResizable()
 | |
|   {
 | |
|     return isResizable;
 | |
|   }
 | |
| 
 | |
|   public void setResizable(boolean resizable)
 | |
|   {
 | |
|     isResizable = resizable;
 | |
|     if (peer != null)
 | |
|       ((FramePeer) peer).setResizable(isResizable);
 | |
|   }
 | |
| 
 | |
|   public int getState()
 | |
|   {
 | |
|     /* FIXME: State might have changed in the peer... Must check. */
 | |
|     
 | |
|     return state;
 | |
|   }
 | |
| 
 | |
| 
 | |
|   public synchronized void addNotify ()
 | |
|   {
 | |
|     if (peer == null)
 | |
|       peer = getToolkit ().createFrame (this);
 | |
|     super.addNotify();
 | |
|   }
 | |
| 
 | |
|   public boolean postEvent(Event evt) { return false; } // FIXME
 | |
|  
 | |
|   public void remove(MenuComponent m)
 | |
|   {
 | |
|     if (m == menuBar)
 | |
|       {
 | |
| 	setMenuBar(null);
 | |
| 	return;
 | |
|       }
 | |
| 	
 | |
|     super.remove(m);
 | |
|   }
 | |
|   
 | |
|   public void removeNotify()
 | |
|   {
 | |
|     //if ((peer != null) && (menuBar != null)) menuBar.removeNotify();
 | |
|     super.removeNotify();
 | |
|   }
 | |
|     
 | |
|   public static Frame[] getFrames()
 | |
|   {
 | |
|     //Frame[] array = new Frames[frames.size()];
 | |
|     //return frames.toArray(array);
 | |
|     
 | |
|     // see finalize() comment
 | |
|     String msg = "FIXME: can't be implemented without weak references";
 | |
|     throw new UnsupportedOperationException(msg);
 | |
|   }
 | |
| }
 |