/[classpath]/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java
ViewVC logotype

Diff of /classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.67 by tromey, Thu Jul 29 06:12:04 2004 UTC revision 1.68 by mark, Fri Jul 30 23:16:58 2004 UTC
# Line 92  public class GtkComponentPeer extends Gt Line 92  public class GtkComponentPeer extends Gt
92    native void gtkWidgetSetCursor (int type);    native void gtkWidgetSetCursor (int type);
93    native void gtkWidgetSetBackground (int red, int green, int blue);    native void gtkWidgetSetBackground (int red, int green, int blue);
94    native void gtkWidgetSetForeground (int red, int green, int blue);    native void gtkWidgetSetForeground (int red, int green, int blue);
95      native void gtkWidgetSetSensitive (boolean sensitive);
96      native void gtkWidgetSetParent (ComponentPeer parent);
97    native void gtkWidgetRequestFocus ();    native void gtkWidgetRequestFocus ();
98    native void gtkWidgetDispatchKeyEvent (int id, long when, int mods,    native void gtkWidgetDispatchKeyEvent (int id, long when, int mods,
99                                           int keyCode, int keyLocation);                                           int keyCode, int keyLocation);
# Line 114  public class GtkComponentPeer extends Gt Line 116  public class GtkComponentPeer extends Gt
116      this.awtComponent = awtComponent;      this.awtComponent = awtComponent;
117      insets = new Insets (0, 0, 0, 0);      insets = new Insets (0, 0, 0, 0);
118    
119        create ();      create ();
120          
121        GtkArgList args = new GtkArgList ();      setParent ();
122        getArgs (awtComponent, args);  
123        args.setArgs (this);      connectJObject ();
124        connectSignals ();
125        connectJObject ();  
126        connectSignals ();      if (awtComponent.getForeground () != null)
127          setForeground (awtComponent.getForeground ());
128        if (awtComponent.getForeground () != null)      if (awtComponent.getBackground () != null)
129          setForeground (awtComponent.getForeground ());        setBackground (awtComponent.getBackground ());
130        if (awtComponent.getBackground () != null)      if (awtComponent.getFont() != null)
131          setBackground (awtComponent.getBackground ());        setFont(awtComponent.getFont());
132        if (awtComponent.getFont() != null)  
133          setFont(awtComponent.getFont());      setCursor (awtComponent.getCursor ());
134    
135        setCursor (awtComponent.getCursor ());      setComponentBounds ();
136        if (this instanceof GtkFileDialogPeer && awtComponent.getHeight() == 0  
137            && awtComponent.getWidth() == 0)      Rectangle bounds = awtComponent.getBounds ();
138        setBounds (bounds.x, bounds.y, bounds.width, bounds.height);
139        setVisibleAndEnabled ();
140      }
141    
142       void setParent ()
143      {
144        ComponentPeer p;
145        Component component = awtComponent;
146        do
147        {        {
148          int[] dims = new int[2];          component = component.getParent ();
149          gtkWidgetGetDimensions(dims);          p = component.getPeer ();
         ((GtkFileDialogPeer) this).setBoundsCallback((Window)awtComponent,  
                                                      awtComponent.getX(),  
                                                      awtComponent.getY(),  
                                                      dims[0], dims[1]);  
150        }        }
151        while (p instanceof java.awt.peer.LightweightPeer);
152        
153        if (p != null)
154          gtkWidgetSetParent (p);
155      }
156      
157      /*
158       * Set the bounds of this peer's AWT Component based on dimensions
159       * returned by the native windowing system.  Most Components impose
160       * their dimensions on the peers so the default implementation does
161       * nothing.  However some peers, like GtkFileDialogPeer, need to
162       * pass their size back to the AWT Component.
163       */
164      void setComponentBounds ()
165      {
166      }
167    
168        Rectangle bounds = awtComponent.getBounds ();    void setVisibleAndEnabled ()
169        setBounds (bounds.x, bounds.y, bounds.width, bounds.height);    {
170      setVisible (awtComponent.isVisible ());      setVisible (awtComponent.isVisible ());
171        setEnabled (awtComponent.isEnabled ());
172    }    }
173    
174    public int checkImage (Image image, int width, int height,    public int checkImage (Image image, int width, int height,
# Line 416  public class GtkComponentPeer extends Gt Line 440  public class GtkComponentPeer extends Gt
440    
441    public void setEnabled (boolean b)    public void setEnabled (boolean b)
442    {    {
443      set ("sensitive", b);      gtkWidgetSetSensitive (b);
444    }    }
445    
446    public void setFont (Font f)    public void setFont (Font f)
# Line 505  public class GtkComponentPeer extends Gt Line 529  public class GtkComponentPeer extends Gt
529                                  item, stateChange));                                  item, stateChange));
530    }    }
531    
   public void getArgs (Component component, GtkArgList args)  
   {  
     args.add ("sensitive", component.isEnabled ());  
   
     ComponentPeer p;  
   
     do  
       {  
         component = component.getParent ();  
         p = component.getPeer ();  
       } while (p instanceof java.awt.peer.LightweightPeer);  
       
     if (p != null)  
       args.add ("parent", p);  
   }  
   
   native void set (String name, String value);  
   native void set (String name, boolean value);  
   native void set (String name, int value);  
   native void set (String name, float value);  
   native void set (String name, Object value);  
   
   void set (GtkArg arg)  
   {  
     String name = arg.getName ();  
     Object value = arg.getValue ();  
   
     if (value instanceof Boolean)  
       set (name, ((Boolean)value).booleanValue ());  
     else if (value instanceof Integer)  
       set (name, ((Integer)value).intValue ());  
     else if (value instanceof Float)  
       set (name, ((Float)value).floatValue ());  
     else if (value instanceof String)  
       set (name, ((String) value));  
     else  
       set (name, value);  
   }  
   
532    public GraphicsConfiguration getGraphicsConfiguration ()    public GraphicsConfiguration getGraphicsConfiguration ()
533    {    {
534      // FIXME: just a stub for now.      // FIXME: just a stub for now.

Legend:
Removed from v.1.67  
changed lines
  Added in v.1.68

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26