Commit cecc892a by Graydon Hoare Committed by Graydon Hoare

gnu_java_awt_peer_gtk_GtkScrollBarPeer.c: Handle missing event cases, connect to…

gnu_java_awt_peer_gtk_GtkScrollBarPeer.c: Handle missing event cases, connect to "value-changed" signal.

2003-07-18  Graydon Hoare  <graydon@redhat.com>

	* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c:
	Handle missing event cases, connect to "value-changed" signal.

From-SVN: r69568
parent 9e508cc4
2003-07-18 Graydon Hoare <graydon@redhat.com> 2003-07-18 Graydon Hoare <graydon@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c:
Handle missing event cases, connect to "value-changed" signal.
2003-07-18 Graydon Hoare <graydon@redhat.com>
* java/awt/geom/CubicCurve2D.java, * java/awt/geom/CubicCurve2D.java,
java/awt/geom/Line2D.java, java/awt/geom/Line2D.java,
java/awt/geom/QuadCurve2D.java, java/awt/geom/QuadCurve2D.java,
......
...@@ -46,6 +46,17 @@ struct range_scrollbar ...@@ -46,6 +46,17 @@ struct range_scrollbar
}; };
static void static void
post_change_event (GtkRange *range,
struct range_scrollbar *rs)
{
GtkAdjustment *adj;
adj = gtk_range_get_adjustment (range);
(*gdk_env)->CallVoidMethod (gdk_env, *(rs->scrollbar), postAdjustmentEventID,
AWT_ADJUSTMENT_TRACK, (jint) adj->value);
}
static void
post_adjustment_event (GtkRange *range, GtkScrollType scroll, post_adjustment_event (GtkRange *range, GtkScrollType scroll,
struct range_scrollbar *rs) struct range_scrollbar *rs)
{ {
...@@ -56,15 +67,23 @@ post_adjustment_event (GtkRange *range, GtkScrollType scroll, ...@@ -56,15 +67,23 @@ post_adjustment_event (GtkRange *range, GtkScrollType scroll,
switch (scroll) switch (scroll)
{ {
case GTK_SCROLL_STEP_UP:
case GTK_SCROLL_STEP_RIGHT:
case GTK_SCROLL_STEP_FORWARD: case GTK_SCROLL_STEP_FORWARD:
type = AWT_ADJUSTMENT_UNIT_INCREMENT; type = AWT_ADJUSTMENT_UNIT_INCREMENT;
break; break;
case GTK_SCROLL_STEP_DOWN:
case GTK_SCROLL_STEP_LEFT:
case GTK_SCROLL_STEP_BACKWARD: case GTK_SCROLL_STEP_BACKWARD:
type = AWT_ADJUSTMENT_UNIT_DECREMENT; type = AWT_ADJUSTMENT_UNIT_DECREMENT;
break; break;
case GTK_SCROLL_PAGE_UP:
case GTK_SCROLL_PAGE_RIGHT:
case GTK_SCROLL_PAGE_FORWARD: case GTK_SCROLL_PAGE_FORWARD:
type = AWT_ADJUSTMENT_BLOCK_INCREMENT; type = AWT_ADJUSTMENT_BLOCK_INCREMENT;
break; break;
case GTK_SCROLL_PAGE_DOWN:
case GTK_SCROLL_PAGE_LEFT:
case GTK_SCROLL_PAGE_BACKWARD: case GTK_SCROLL_PAGE_BACKWARD:
type = AWT_ADJUSTMENT_BLOCK_DECREMENT; type = AWT_ADJUSTMENT_BLOCK_DECREMENT;
break; break;
...@@ -118,9 +137,14 @@ Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_connectHooks ...@@ -118,9 +137,14 @@ Java_gnu_java_awt_peer_gtk_GtkScrollbarPeer_connectHooks
rs->scrollbar = (jobject *) malloc (sizeof (jobject)); rs->scrollbar = (jobject *) malloc (sizeof (jobject));
*(rs->scrollbar) = (*env)->NewGlobalRef (env, obj); *(rs->scrollbar) = (*env)->NewGlobalRef (env, obj);
gtk_signal_connect (GTK_OBJECT (GTK_RANGE (ptr)), gtk_signal_connect (GTK_OBJECT (GTK_RANGE (ptr)),
"move_slider", "move-slider",
GTK_SIGNAL_FUNC (post_adjustment_event), rs); GTK_SIGNAL_FUNC (post_adjustment_event), rs);
gtk_signal_connect (GTK_OBJECT (GTK_RANGE (ptr)),
"value-changed",
GTK_SIGNAL_FUNC (post_change_event), rs);
connect_awt_hook (env, obj, 1, GTK_SCROLLBAR (ptr)->range); connect_awt_hook (env, obj, 1, GTK_SCROLLBAR (ptr)->range);
gdk_threads_leave (); gdk_threads_leave ();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment