[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] FYI: Merge GtkArgs removal from libgcj gui branch
From: |
Mark Wielaard |
Subject: |
[cp-patches] FYI: Merge GtkArgs removal from libgcj gui branch |
Date: |
Sat, 31 Jul 2004 01:15:06 +0200 |
Hi,
This merges the patch that refactors some of the peers so that we can
remove the GtkArg-based APIs. Using GTK functions directly is more
straight-forward for debugging, and more consistent with what the rest
of the peers do.
jni headers have been regenerated for these classes.
And while I was at it I also regenerated gnu_java_nio_VMPipe.h.
Cheers,
Mark
2004-07-30 Mark Wielaard <address@hidden>
* include/gnu_java_awt_peer_gtk_GtkButtonPeer.h: Regenerated.
* include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h: Likewise.
* include/gnu_java_awt_peer_gtk_GtkComponentPeer.h: Likewise.
* include/gnu_java_awt_peer_gtk_GtkWindowPeer.h: Likewise.
* include/gnu_java_nio_VMPipe.h: Regenerated.
2004-07-30 Thomas Fitzsimmons <address@hidden>
* gnu/java/awt/peer/gtk/GtkArg.java: Remove file.
* gnu/java/awt/peer/gtk/GtkArgList.java: Remove file.
* gnu/java/awt/peer/gtk/GtkButtonPeer.java,
native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
(create(String)): New method.
(create): Call new create method.
(getArgs): Remove method.
* gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,
native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
(nativeCreate): Rename to create.
(gtkSetLabel): Rename to gtkButtonSetLabel.
(gtkToggleButtonSetActive): New method.
(create): Call gtkToggleButtonSetActive and gtkButtonSetLabel.
(setState): Replace set call with gtkToggleButtonSetActive.
(setLabel): Replace gtkSetLabel call with gtkButtonSetLabel.
(getArgs): Remove method.
* gnu/java/awt/peer/gtk/GtkComponentPeer.java,
native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
(gtkWidgetSetSensitive): New method.
(gtkWidgetSetParent): Likewise.
(GtkComponentPeer): Call setParent, setComponentBounds and
setVisibleAndEnabled.
(setParent): New method.
(setComponentBounds): New method.
(setVisibleAndEnabled): New method.
(setEnabled): Call gtkWidgetSetSensitive.
(getArgs): Remove method.
Remove all set methods.
* gnu/java/awt/peer/gtk/GtkDialogPeer.java (create): Call
gtkWindowSetModal, setTitle and setResizable.
(getArgs): Remove method.
* gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
(setComponentBounds): New method.
* gnu/java/awt/peer/gtk/GtkFramePeer.java (setResizable):
Replace set call with gtkWindowSetResizable.
(getArgs): Remove method.
(create): Call setTitle and setResizable.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java,
native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(gtkWindowSetTitle): New method.
(gtkWindowSetResizable): New method.
(gtkWindowSetModal): New method.
(setParent): New method.
(setVisibleAndEnabled): New method.
(getArgs): Remove method.
(setTitle): Call gtkWindowSetTitle.
(setResizable): Call gtkWindowSetResizable.
* native/jni/gtk-peer/gtkpeer.h [DEBUG_LOCKING]: New define to turn on
and off locking instrumentation.
Index: gnu/java/awt/peer/gtk/GtkButtonPeer.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkButtonPeer.java,v
retrieving revision 1.28
diff -u -r1.28 GtkButtonPeer.java
--- gnu/java/awt/peer/gtk/GtkButtonPeer.java 31 May 2004 21:11:40 -0000
1.28
+++ gnu/java/awt/peer/gtk/GtkButtonPeer.java 30 Jul 2004 23:10:01 -0000
@@ -50,12 +50,13 @@
public class GtkButtonPeer extends GtkComponentPeer
implements ButtonPeer
{
- native void create ();
+ native void create (String label);
+
public native void connectJObject ();
public native void connectSignals ();
native void gtkSetFont (String name, int style, int size);
- native void gtkSetLabel(String label);
+ native void gtkSetLabel (String label);
native void gtkWidgetSetForeground (int red, int green, int blue);
native void gtkActivate ();
@@ -64,6 +65,11 @@
super (b);
}
+ void create ()
+ {
+ create (((Button) awtComponent).getLabel ());
+ }
+
public void setLabel (String label)
{
gtkSetLabel(label);
@@ -97,11 +103,4 @@
super.handleEvent (e);
}
-
- public void getArgs (Component component, GtkArgList args)
- {
- super.getArgs (component, args);
-
- args.add ("label", ((Button)component).getLabel ());
- }
}
Index: gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkCheckboxPeer.java,v
retrieving revision 1.17
diff -u -r1.17 GtkCheckboxPeer.java
--- gnu/java/awt/peer/gtk/GtkCheckboxPeer.java 31 May 2004 21:11:40 -0000
1.17
+++ gnu/java/awt/peer/gtk/GtkCheckboxPeer.java 30 Jul 2004 23:10:01 -0000
@@ -52,39 +52,39 @@
// The current state of the GTK checkbox.
private boolean currentState;
- public native void nativeCreate (GtkCheckboxGroupPeer group,
- boolean state);
+ public native void create (GtkCheckboxGroupPeer group);
public native void nativeSetCheckboxGroup (GtkCheckboxGroupPeer group);
public native void connectSignals ();
native void gtkSetFont (String name, int style, int size);
- public native void gtkSetLabel (String label);
+ native void gtkButtonSetLabel (String label);
+ native void gtkToggleButtonSetActive (boolean is_active);
public GtkCheckboxPeer (Checkbox c)
{
super (c);
}
- // We can't fully use the ordinary getArgs code here, due to
- // oddities of this particular widget. In particular we must be
- // able to switch between a checkbutton and a radiobutton
- // dynamically.
+ // FIXME: we must be able to switch between a checkbutton and a
+ // radiobutton dynamically.
public void create ()
{
- CheckboxGroup g = ((Checkbox) awtComponent).getCheckboxGroup ();
+ Checkbox checkbox = (Checkbox) awtComponent;
+ CheckboxGroup g = checkbox.getCheckboxGroup ();
old_group = GtkCheckboxGroupPeer.getCheckboxGroupPeer (g);
- currentState = ((Checkbox)awtComponent).getState();
- nativeCreate (old_group, currentState);
+ create (old_group);
+ gtkToggleButtonSetActive (checkbox.getState ());
+ gtkButtonSetLabel (checkbox.getLabel ());
}
public void setState (boolean state)
{
if (currentState != state)
- set ("active", state);
+ gtkToggleButtonSetActive (state);
}
public void setLabel (String label)
{
- gtkSetLabel (label);
+ gtkButtonSetLabel (label);
}
public void setCheckboxGroup (CheckboxGroup group)
@@ -100,13 +100,6 @@
}
}
- public void getArgs (Component component, GtkArgList args)
- {
- super.getArgs (component, args);
- args.add ("active", ((Checkbox) component).getState ());
- args.add ("label", ((Checkbox) component).getLabel ());
- }
-
// Override the superclass postItemEvent so that the peer doesn't
// need information that we have.
public void postItemEvent (Object item, int stateChange)
Index: gnu/java/awt/peer/gtk/GtkComponentPeer.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java,v
retrieving revision 1.67
diff -u -r1.67 GtkComponentPeer.java
--- gnu/java/awt/peer/gtk/GtkComponentPeer.java 29 Jul 2004 06:12:04 -0000
1.67
+++ gnu/java/awt/peer/gtk/GtkComponentPeer.java 30 Jul 2004 23:10:01 -0000
@@ -92,6 +92,8 @@
native void gtkWidgetSetCursor (int type);
native void gtkWidgetSetBackground (int red, int green, int blue);
native void gtkWidgetSetForeground (int red, int green, int blue);
+ native void gtkWidgetSetSensitive (boolean sensitive);
+ native void gtkWidgetSetParent (ComponentPeer parent);
native void gtkWidgetRequestFocus ();
native void gtkWidgetDispatchKeyEvent (int id, long when, int mods,
int keyCode, int keyLocation);
@@ -114,37 +116,59 @@
this.awtComponent = awtComponent;
insets = new Insets (0, 0, 0, 0);
- create ();
-
- GtkArgList args = new GtkArgList ();
- getArgs (awtComponent, args);
- args.setArgs (this);
-
- connectJObject ();
- connectSignals ();
-
- if (awtComponent.getForeground () != null)
- setForeground (awtComponent.getForeground ());
- if (awtComponent.getBackground () != null)
- setBackground (awtComponent.getBackground ());
- if (awtComponent.getFont() != null)
- setFont(awtComponent.getFont());
-
- setCursor (awtComponent.getCursor ());
- if (this instanceof GtkFileDialogPeer && awtComponent.getHeight() == 0
- && awtComponent.getWidth() == 0)
+ create ();
+
+ setParent ();
+
+ connectJObject ();
+ connectSignals ();
+
+ if (awtComponent.getForeground () != null)
+ setForeground (awtComponent.getForeground ());
+ if (awtComponent.getBackground () != null)
+ setBackground (awtComponent.getBackground ());
+ if (awtComponent.getFont() != null)
+ setFont(awtComponent.getFont());
+
+ setCursor (awtComponent.getCursor ());
+
+ setComponentBounds ();
+
+ Rectangle bounds = awtComponent.getBounds ();
+ setBounds (bounds.x, bounds.y, bounds.width, bounds.height);
+ setVisibleAndEnabled ();
+ }
+
+ void setParent ()
+ {
+ ComponentPeer p;
+ Component component = awtComponent;
+ do
{
- int[] dims = new int[2];
- gtkWidgetGetDimensions(dims);
- ((GtkFileDialogPeer) this).setBoundsCallback((Window)awtComponent,
- awtComponent.getX(),
- awtComponent.getY(),
- dims[0], dims[1]);
+ component = component.getParent ();
+ p = component.getPeer ();
}
+ while (p instanceof java.awt.peer.LightweightPeer);
+
+ if (p != null)
+ gtkWidgetSetParent (p);
+ }
+
+ /*
+ * Set the bounds of this peer's AWT Component based on dimensions
+ * returned by the native windowing system. Most Components impose
+ * their dimensions on the peers so the default implementation does
+ * nothing. However some peers, like GtkFileDialogPeer, need to
+ * pass their size back to the AWT Component.
+ */
+ void setComponentBounds ()
+ {
+ }
- Rectangle bounds = awtComponent.getBounds ();
- setBounds (bounds.x, bounds.y, bounds.width, bounds.height);
+ void setVisibleAndEnabled ()
+ {
setVisible (awtComponent.isVisible ());
+ setEnabled (awtComponent.isEnabled ());
}
public int checkImage (Image image, int width, int height,
@@ -416,7 +440,7 @@
public void setEnabled (boolean b)
{
- set ("sensitive", b);
+ gtkWidgetSetSensitive (b);
}
public void setFont (Font f)
@@ -505,45 +529,6 @@
item, stateChange));
}
- 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);
- }
-
public GraphicsConfiguration getGraphicsConfiguration ()
{
// FIXME: just a stub for now.
Index: gnu/java/awt/peer/gtk/GtkDialogPeer.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkDialogPeer.java,v
retrieving revision 1.20
diff -u -r1.20 GtkDialogPeer.java
--- gnu/java/awt/peer/gtk/GtkDialogPeer.java 31 May 2004 21:11:40 -0000
1.20
+++ gnu/java/awt/peer/gtk/GtkDialogPeer.java 30 Jul 2004 23:10:01 -0000
@@ -85,17 +85,11 @@
{
// Create a decorated dialog window.
create (GDK_WINDOW_TYPE_HINT_DIALOG, true);
- }
-
- public void getArgs (Component component, GtkArgList args)
- {
- super.getArgs (component, args);
- Dialog dialog = (Dialog) component;
+ Dialog dialog = (Dialog) awtComponent;
- args.add ("title", dialog.getTitle ());
- args.add ("modal", dialog.isModal ());
- args.add ("allow_shrink", dialog.isResizable ());
- args.add ("allow_grow", dialog.isResizable ());
+ gtkWindowSetModal (dialog.isModal ());
+ setTitle (dialog.getTitle ());
+ setResizable (dialog.isResizable ());
}
}
Index: gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java,v
retrieving revision 1.15
diff -u -r1.15 GtkFileDialogPeer.java
--- gnu/java/awt/peer/gtk/GtkFileDialogPeer.java 22 Jul 2004 19:45:38
-0000 1.15
+++ gnu/java/awt/peer/gtk/GtkFileDialogPeer.java 30 Jul 2004 23:10:01
-0000
@@ -42,6 +42,7 @@
import java.awt.Dialog;
import java.awt.FileDialog;
import java.awt.Graphics;
+import java.awt.Window;
import java.awt.event.WindowEvent;
import java.awt.peer.FileDialogPeer;
import java.io.FilenameFilter;
@@ -81,6 +82,20 @@
super (fd);
}
+ void setComponentBounds ()
+ {
+ if (awtComponent.getHeight () == 0
+ && awtComponent.getWidth () == 0)
+ {
+ int[] dims = new int[2];
+ gtkWidgetGetPreferredDimensions (dims);
+ ((GtkFileDialogPeer) this).setBoundsCallback ((Window) awtComponent,
+ awtComponent.getX (),
+ awtComponent.getY (),
+ dims[0], dims[1]);
+ }
+ }
+
public void setFile (String fileName)
{
/* If nothing changed do nothing. This usually happens because
Index: gnu/java/awt/peer/gtk/GtkFramePeer.java
===================================================================
RCS file: /cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java,v
retrieving revision 1.24
diff -u -r1.24 GtkFramePeer.java
--- gnu/java/awt/peer/gtk/GtkFramePeer.java 29 Jan 2004 14:51:50 -0000
1.24
+++ gnu/java/awt/peer/gtk/GtkFramePeer.java 30 Jul 2004 23:10:01 -0000
@@ -115,10 +115,9 @@
setSize (awtComponent.getWidth() - insets.left - insets.right,
awtComponent.getHeight() - insets.top - insets.bottom
+ menuBarHeight);
- set ("allow_shrink", resizable);
- set ("allow_grow", resizable);
- }
-
+ gtkWindowSetResizable (resizable);
+ }
+
protected void postInsetsChangedEvent (int top, int left,
int bottom, int right)
{
@@ -137,19 +136,13 @@
{
// Create a normal decorated window.
create (GDK_WINDOW_TYPE_HINT_NORMAL, true);
- setMenuBar(((Frame) awtComponent).getMenuBar());
- awtComponent.setForeground(java.awt.SystemColor.windowText);
- }
- public void getArgs (Component component, GtkArgList args)
- {
- super.getArgs (component, args);
+ Frame frame = (Frame) awtComponent;
- Frame frame = (Frame) component;
+ setMenuBar (frame.getMenuBar ());
- args.add ("title", frame.getTitle ());
- args.add ("allow_shrink", frame.isResizable ());
- args.add ("allow_grow", frame.isResizable ());
+ setTitle (frame.getTitle ());
+ setResizable (frame.isResizable ());
}
public void setIconImage (Image image)
Index: gnu/java/awt/peer/gtk/GtkWindowPeer.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java,v
retrieving revision 1.26
diff -u -r1.26 GtkWindowPeer.java
--- gnu/java/awt/peer/gtk/GtkWindowPeer.java 13 Jan 2004 22:29:35 -0000
1.26
+++ gnu/java/awt/peer/gtk/GtkWindowPeer.java 30 Jul 2004 23:10:01 -0000
@@ -60,6 +60,10 @@
private boolean hasBeenShown = false;
private int oldState = Frame.NORMAL;
+ native void gtkWindowSetTitle (String title);
+ native void gtkWindowSetResizable (boolean resizable);
+ native void gtkWindowSetModal (boolean modal);
+
native void create (int type, boolean decorated,
int width, int height,
GtkWindowPeer parent,
@@ -92,6 +96,16 @@
create (GDK_WINDOW_TYPE_HINT_NORMAL, false);
}
+ void setParent ()
+ {
+ setVisible (awtComponent.isVisible ());
+ setEnabled (awtComponent.isEnabled ());
+ }
+
+ void setVisibleAndEnabled ()
+ {
+ }
+
native void connectJObject ();
native void connectSignals ();
@@ -100,12 +114,6 @@
super (window);
}
- public void getArgs (Component component, GtkArgList args)
- {
- args.add ("visible", component.isVisible ());
- args.add ("sensitive", component.isEnabled ());
- }
-
native public void toBack ();
native public void toFront ();
@@ -120,7 +128,7 @@
public void setTitle (String title)
{
- set ("title", title);
+ gtkWindowSetTitle (title);
}
native void setSize (int width, int height);
@@ -132,8 +140,7 @@
// was resizable.
setSize (awtComponent.getWidth() - insets.left - insets.right,
awtComponent.getHeight() - insets.top - insets.bottom);
- set ("allow_shrink", resizable);
- set ("allow_grow", resizable);
+ gtkWindowSetResizable (resizable);
}
native void setBoundsCallback (Window window,
Index: include/gnu_java_awt_peer_gtk_GtkButtonPeer.h
===================================================================
RCS file:
/cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkButtonPeer.h,v
retrieving revision 1.8
diff -u -r1.8 gnu_java_awt_peer_gtk_GtkButtonPeer.h
--- include/gnu_java_awt_peer_gtk_GtkButtonPeer.h 31 May 2004 21:11:43
-0000 1.8
+++ include/gnu_java_awt_peer_gtk_GtkButtonPeer.h 30 Jul 2004 23:10:01
-0000
@@ -10,7 +10,7 @@
{
#endif
-JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_create (JNIEnv
*env, jobject);
+JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_create (JNIEnv
*env, jobject, jstring);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_connectJObject
(JNIEnv *env, jobject);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_connectSignals
(JNIEnv *env, jobject);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkButtonPeer_gtkSetFont
(JNIEnv *env, jobject, jstring, jint, jint);
Index: include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h
===================================================================
RCS file:
/cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h,v
retrieving revision 1.6
diff -u -r1.6 gnu_java_awt_peer_gtk_GtkCheckboxPeer.h
--- include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h 28 May 2004 17:27:52
-0000 1.6
+++ include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h 30 Jul 2004 23:10:01
-0000
@@ -10,11 +10,12 @@
{
#endif
-JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeCreate
(JNIEnv *env, jobject, jobject, jboolean);
+JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_create
(JNIEnv *env, jobject, jobject);
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeSetCheckboxGroup (JNIEnv *env,
jobject, jobject);
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_connectSignals (JNIEnv *env,
jobject);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkSetFont
(JNIEnv *env, jobject, jstring, jint, jint);
-JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkSetLabel
(JNIEnv *env, jobject, jstring);
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkButtonSetLabel (JNIEnv *env,
jobject, jstring);
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkToggleButtonSetActive (JNIEnv
*env, jobject, jboolean);
#ifdef __cplusplus
}
Index: include/gnu_java_awt_peer_gtk_GtkComponentPeer.h
===================================================================
RCS file:
/cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkComponentPeer.h,v
retrieving revision 1.13
diff -u -r1.13 gnu_java_awt_peer_gtk_GtkComponentPeer.h
--- include/gnu_java_awt_peer_gtk_GtkComponentPeer.h 22 Jul 2004 19:45:38
-0000 1.13
+++ include/gnu_java_awt_peer_gtk_GtkComponentPeer.h 30 Jul 2004 23:10:01
-0000
@@ -21,6 +21,8 @@
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetCursor (JNIEnv *env,
jobject, jint);
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetBackground (JNIEnv
*env, jobject, jint, jint, jint);
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetForeground (JNIEnv
*env, jobject, jint, jint, jint);
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetSensitive (JNIEnv *env,
jobject, jboolean);
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetParent (JNIEnv *env,
jobject, jobject);
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetRequestFocus (JNIEnv *env,
jobject);
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetDispatchKeyEvent (JNIEnv
*env, jobject, jint, jlong, jint, jint, jint);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkSetFont
(JNIEnv *env, jobject, jstring, jint, jint);
@@ -32,11 +34,6 @@
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_setNativeBounds (JNIEnv *env,
jobject, jint, jint, jint, jint);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkComponentPeer_hide
(JNIEnv *env, jobject);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkComponentPeer_show
(JNIEnv *env, jobject);
-JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2Ljava_lang_String_2
(JNIEnv *env, jobject, jstring, jstring);
-JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2Z (JNIEnv
*env, jobject, jstring, jboolean);
-JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2I (JNIEnv
*env, jobject, jstring, jint);
-JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2F (JNIEnv
*env, jobject, jstring, jfloat);
-JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkComponentPeer_set__Ljava_lang_String_2Ljava_lang_Object_2
(JNIEnv *env, jobject, jstring, jobject);
#ifdef __cplusplus
}
Index: include/gnu_java_awt_peer_gtk_GtkWindowPeer.h
===================================================================
RCS file:
/cvsroot/classpath/classpath/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h,v
retrieving revision 1.10
diff -u -r1.10 gnu_java_awt_peer_gtk_GtkWindowPeer.h
--- include/gnu_java_awt_peer_gtk_GtkWindowPeer.h 28 May 2004 17:27:53
-0000 1.10
+++ include/gnu_java_awt_peer_gtk_GtkWindowPeer.h 30 Jul 2004 23:10:01
-0000
@@ -10,6 +10,9 @@
{
#endif
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkWindowPeer_gtkWindowSetTitle (JNIEnv *env,
jobject, jstring);
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkWindowPeer_gtkWindowSetResizable (JNIEnv *env,
jobject, jboolean);
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkWindowPeer_gtkWindowSetModal (JNIEnv *env,
jobject, jboolean);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkWindowPeer_create (JNIEnv
*env, jobject, jint, jboolean, jint, jint, jobject, jintArray);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkWindowPeer_connectJObject
(JNIEnv *env, jobject);
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkWindowPeer_connectSignals
(JNIEnv *env, jobject);
Index: include/gnu_java_nio_VMPipe.h
===================================================================
RCS file: /cvsroot/classpath/classpath/include/gnu_java_nio_VMPipe.h,v
retrieving revision 1.1
diff -u -r1.1 gnu_java_nio_VMPipe.h
--- include/gnu_java_nio_VMPipe.h 21 Jul 2004 20:35:30 -0000 1.1
+++ include/gnu_java_nio_VMPipe.h 30 Jul 2004 23:10:01 -0000
@@ -1,7 +1,7 @@
/* DO NOT EDIT THIS FILE - it is machine generated */
-#ifndef __gnu_java_nio_VMPipe
-#define __gnu_java_nio_VMPipe
+#ifndef __gnu_java_nio_VMPipe__
+#define __gnu_java_nio_VMPipe__
#include <jni.h>
@@ -10,7 +10,7 @@
{
#endif
-JNIEXPORT void JNICALL Java_gnu_java_nio_VMPipe_init (JNIEnv *env, jobject,
jobject, jobject);
+JNIEXPORT void JNICALL Java_gnu_java_nio_VMPipe_init (JNIEnv *env, jclass,
jobject, jobject);
#ifdef __cplusplus
}
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
===================================================================
RCS file:
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c,v
retrieving revision 1.15
diff -u -r1.15 gnu_java_awt_peer_gtk_GtkButtonPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c 26 Jun 2004
16:07:03 -0000 1.15
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c 30 Jul 2004
23:10:02 -0000
@@ -42,20 +42,23 @@
JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkButtonPeer_create
- (JNIEnv *env, jobject obj)
+ (JNIEnv *env, jobject obj, jstring label)
{
+ const char *c_label;
GtkWidget *button;
- /* Create global reference and save it for future use */
NSA_SET_GLOBAL_REF (env, obj);
+ c_label = (*env)->GetStringUTFChars (env, label, NULL);
+
gdk_threads_enter ();
-
- button = gtk_button_new();
+
+ button = gtk_button_new_with_label (c_label);
gtk_widget_show (button);
gdk_threads_leave ();
+ (*env)->ReleaseStringUTFChars (env, label, c_label);
NSA_SET_PTR (env, obj, button);
}
@@ -102,7 +105,7 @@
gdk_threads_enter ();
label = gtk_bin_get_child (GTK_BIN (ptr));
- gtk_label_set_text (GTK_LABEL(label), text);
+ gtk_label_set_text (GTK_LABEL (label), text);
gdk_threads_leave ();
@@ -126,9 +129,6 @@
label = gtk_bin_get_child (GTK_BIN (ptr));
- if (!label)
- return;
-
font_desc = pango_font_description_from_string (font_name);
pango_font_description_set_size (font_desc, size * dpi_conversion_factor);
@@ -165,9 +165,6 @@
label = gtk_bin_get_child (GTK_BIN(ptr));
- if (!label)
- return;
-
gtk_widget_modify_fg (label, GTK_STATE_NORMAL, &color);
gtk_widget_modify_fg (label, GTK_STATE_ACTIVE, &color);
gtk_widget_modify_fg (label, GTK_STATE_PRELIGHT, &color);
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
===================================================================
RCS file:
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c,v
retrieving revision 1.13
diff -u -r1.13 gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c 26 Jun 2004
16:07:03 -0000 1.13
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c 30 Jul 2004
23:10:02 -0000
@@ -43,12 +43,11 @@
static void item_toggled (GtkToggleButton *item, jobject peer);
JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeCreate
- (JNIEnv *env, jobject obj, jobject group, jboolean state)
+Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_create
+ (JNIEnv *env, jobject obj, jobject group)
{
GtkWidget *button;
- /* Create global reference and save it for future use */
NSA_SET_GLOBAL_REF (env, obj);
gdk_threads_enter ();
@@ -66,7 +65,6 @@
NSA_SET_PTR (env, group, button);
}
}
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), state);
gdk_threads_leave ();
@@ -131,6 +129,21 @@
}
JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkToggleButtonSetActive
+ (JNIEnv *env, jobject obj, jboolean is_active)
+{
+ void *ptr;
+
+ ptr = NSA_GET_PTR (env, obj);
+
+ gdk_threads_enter ();
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ptr), is_active);
+
+ gdk_threads_leave ();
+}
+
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkSetFont
(JNIEnv *env, jobject obj, jstring name, jint style, jint size)
{
@@ -171,26 +184,25 @@
}
JNIEXPORT void JNICALL
-Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkSetLabel
+Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_gtkButtonSetLabel
(JNIEnv *env, jobject obj, jstring label)
{
- const char *str;
- void *ptr;
+ const char *c_label;
GtkWidget *label_widget;
+ void *ptr;
ptr = NSA_GET_PTR (env, obj);
- label_widget = gtk_bin_get_child (GTK_BIN(ptr));
-
- str = (*env)->GetStringUTFChars (env, label, 0);
+ c_label = (*env)->GetStringUTFChars (env, label, NULL);
gdk_threads_enter ();
- gtk_label_set_label (GTK_LABEL (label_widget), str);
+ label_widget = gtk_bin_get_child (GTK_BIN (ptr));
+ gtk_label_set_text (GTK_LABEL (label_widget), c_label);
gdk_threads_leave ();
- (*env)->ReleaseStringUTFChars (env, label, str);
+ (*env)->ReleaseStringUTFChars (env, label, c_label);
}
static void
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
===================================================================
RCS file:
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c,v
retrieving revision 1.9
diff -u -r1.9 gnu_java_awt_peer_gtk_GtkChoicePeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c 29 Mar 2004
07:07:26 -0000 1.9
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c 30 Jul 2004
23:10:02 -0000
@@ -52,7 +52,6 @@
GtkOptionMenu *option_menu;
GtkRequisition child_requisition;
- /* Create global reference and save it for future use */
NSA_SET_GLOBAL_REF (env, obj);
gdk_threads_enter ();
@@ -292,3 +291,60 @@
GTK_SIGNAL_FUNC (item_activate), ie,
(GClosureNotify) item_removed, 0);
}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetParent
+(JNIEnv *env, jobject obj, jobject parent)
+{
+ void *ptr;
+ void *parent_ptr;
+ GtkWidget *widget;
+ GtkWidget *parent_widget;
+
+ ptr = NSA_GET_PTR (env, obj);
+ parent_ptr = NSA_GET_PTR (env, parent);
+
+ gdk_threads_enter ();
+
+ widget = GTK_WIDGET (ptr);
+ parent_widget = GTK_WIDGET (parent_ptr);
+
+ if (GTK_IS_WINDOW (parent_widget))
+ {
+ GList *children = gtk_container_children
+ (GTK_CONTAINER (GTK_BIN (parent_widget)->child));
+
+ if (GTK_IS_MENU_BAR (children->data))
+ gtk_layout_put (GTK_LAYOUT (children->next->data), widget, 0, 0);
+ else
+ gtk_layout_put (GTK_LAYOUT (children->data), widget, 0, 0);
+ }
+ else
+ if (GTK_IS_SCROLLED_WINDOW (parent_widget))
+ {
+ gtk_scrolled_window_add_with_viewport
+ (GTK_SCROLLED_WINDOW (parent_widget), widget);
+ gtk_viewport_set_shadow_type (GTK_VIEWPORT (widget->parent),
+ GTK_SHADOW_NONE);
+
+ }
+ else
+ gtk_layout_put (GTK_LAYOUT (parent_widget), widget, 0, 0);
+
+ gdk_threads_leave ();
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GtkComponentPeer_gtkWidgetSetSensitive
+(JNIEnv *env, jobject obj, jboolean sensitive)
+{
+ void *ptr;
+
+ ptr = NSA_GET_PTR (env, obj);
+
+ gdk_threads_enter ();
+
+ gtk_widget_set_sensitive (GTK_WIDGET (ptr), sensitive);
+
+ gdk_threads_leave ();
+}
Index: native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
===================================================================
RCS file:
/cvsroot/classpath/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c,v
retrieving revision 1.30
diff -u -r1.30 gnu_java_awt_peer_gtk_GtkWindowPeer.c
--- native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c 22 Jul 2004
19:45:39 -0000 1.30
+++ native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c 30 Jul 2004
23:10:02 -0000
@@ -104,7 +104,6 @@
insets = (*env)->GetIntArrayElements (env, jinsets, 0);
insets[0] = insets[1] = insets[2] = insets[3] = 0;
- /* Create global reference and save it for future use */
NSA_SET_GLOBAL_REF (env, obj);
gdk_threads_enter ();
@@ -163,6 +162,56 @@
}
JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GtkWindowPeer_gtkWindowSetTitle
+ (JNIEnv *env, jobject obj, jstring title)
+{
+ const char *c_title;
+ void *ptr;
+
+ ptr = NSA_GET_PTR (env, obj);
+
+ c_title = (*env)->GetStringUTFChars (env, title, NULL);
+
+ gdk_threads_enter ();
+
+ gtk_window_set_title (GTK_WINDOW (ptr), c_title);
+
+ gdk_threads_leave ();
+
+ (*env)->ReleaseStringUTFChars (env, title, c_title);
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GtkWindowPeer_gtkWindowSetResizable
+ (JNIEnv *env, jobject obj, jboolean resizable)
+{
+ void *ptr;
+
+ ptr = NSA_GET_PTR (env, obj);
+
+ gdk_threads_enter ();
+
+ gtk_window_set_policy (GTK_WINDOW (ptr), resizable, resizable, FALSE);
+
+ gdk_threads_leave ();
+}
+
+JNIEXPORT void JNICALL
+Java_gnu_java_awt_peer_gtk_GtkWindowPeer_gtkWindowSetModal
+ (JNIEnv *env, jobject obj, jboolean modal)
+{
+ void *ptr;
+
+ ptr = NSA_GET_PTR (env, obj);
+
+ gdk_threads_enter ();
+
+ gtk_window_set_modal (GTK_WINDOW (ptr), modal);
+
+ gdk_threads_leave ();
+}
+
+JNIEXPORT void JNICALL
Java_gnu_java_awt_peer_gtk_GtkWindowPeer_nativeSetVisible
(JNIEnv *env, jobject obj, jboolean visible)
{
Index: native/jni/gtk-peer/gtkpeer.h
===================================================================
RCS file: /cvsroot/classpath/classpath/native/jni/gtk-peer/gtkpeer.h,v
retrieving revision 1.17
diff -u -r1.17 gtkpeer.h
--- native/jni/gtk-peer/gtkpeer.h 26 Jun 2004 16:07:03 -0000 1.17
+++ native/jni/gtk-peer/gtkpeer.h 30 Jul 2004 23:10:02 -0000
@@ -459,4 +459,19 @@
const char *label;
};
+#define DEBUG_LOCKING 0
+
+#if DEBUG_LOCKING
+#define gdk_threads_enter() \
+{ \
+ g_print ("lock: %s, %d\n", __FILE__, __LINE__); \
+ gdk_threads_enter (); \
+}
+#define gdk_threads_leave() \
+{ \
+ g_print ("unlock: %s, %d\n", __FILE__, __LINE__); \
+ gdk_threads_leave (); \
+}
+#endif
+
#endif /* __GTKPEER_H */
signature.asc
Description: This is a digitally signed message part
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [cp-patches] FYI: Merge GtkArgs removal from libgcj gui branch,
Mark Wielaard <=