/[classpath]/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
ViewVC logotype

Diff of /classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c

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

revision 1.27 by fitzsim, Fri Aug 12 22:49:42 2005 UTC revision 1.28 by fitzsim, Mon Aug 15 04:14:29 2005 UTC
# Line 41  exception statement from your version. * Line 41  exception statement from your version. *
41    
42  static jmethodID beginNativeRepaintID;  static jmethodID beginNativeRepaintID;
43  static jmethodID endNativeRepaintID;  static jmethodID endNativeRepaintID;
44    static jmethodID postActionEventID;
45    
46  void  void
47  cp_gtk_button_init_jni (void)  cp_gtk_button_init_jni (void)
48  {  {
# Line 56  cp_gtk_button_init_jni (void) Line 57  cp_gtk_button_init_jni (void)
57    
58    endNativeRepaintID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), gtkbuttonpeer,    endNativeRepaintID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(), gtkbuttonpeer,
59                                                    "endNativeRepaint", "()V");                                                    "endNativeRepaint", "()V");
60    
61      postActionEventID = (*cp_gtk_gdk_env())->GetMethodID (cp_gtk_gdk_env(),
62                                                            gtkbuttonpeer,
63                                                      "postActionEvent", "(I)V");
64  }  }
65    
66  static void block_expose_event_cb (GtkWidget *widget,  static void block_expose_event_cb (GtkWidget *widget,
67                                     jobject peer);                                     jobject peer);
68    
69    static void clicked_cb (GtkButton *button,
70                            jobject peer);
71    
72  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
73  Java_gnu_java_awt_peer_gtk_GtkButtonPeer_create  Java_gnu_java_awt_peer_gtk_GtkButtonPeer_create
74    (JNIEnv *env, jobject obj, jstring label)    (JNIEnv *env, jobject obj, jstring label)
# Line 158  Java_gnu_java_awt_peer_gtk_GtkButtonPeer Line 166  Java_gnu_java_awt_peer_gtk_GtkButtonPeer
166    g_signal_connect_after (G_OBJECT (button), "released",    g_signal_connect_after (G_OBJECT (button), "released",
167                            G_CALLBACK (block_expose_event_cb), *gref);                            G_CALLBACK (block_expose_event_cb), *gref);
168    
169      g_signal_connect (G_OBJECT (button), "clicked",
170                        G_CALLBACK (clicked_cb), *gref);
171    
172    /* Component signals */    /* Component signals */
173    cp_gtk_component_connect_signals (G_OBJECT (button), gref);    cp_gtk_component_connect_signals (G_OBJECT (button), gref);
174    
# Line 386  block_expose_event_cb (GtkWidget *widget Line 397  block_expose_event_cb (GtkWidget *widget
397    
398    gdk_threads_enter ();    gdk_threads_enter ();
399  }  }
400    
401    static void
402    clicked_cb (GtkButton* button __attribute__((unused)),
403                jobject peer)
404    {
405      GdkEventButton* event;
406    
407      event = (GdkEventButton*) gtk_get_current_event ();
408      g_assert (event);
409    
410      (*cp_gtk_gdk_env())->CallVoidMethod (cp_gtk_gdk_env(), peer,
411                                           postActionEventID,
412                                           cp_gtk_state_to_awt_mods (event->state));
413    
414      gdk_event_free ((GdkEvent*) event);
415    }

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28

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