1 // Native Gtk AWT button code
8 #include <gnu/awt/gtk/GtkButtonPeer.h>
9 #include <java/awt/Button.h>
12 gnu::awt::gtk::GtkButtonPeer::setLabel (java::lang::String
*label
)
14 _Jv_GdkThreadLock sync
;
17 len
= JvGetStringUTFLength (label
);
19 // FIXME: this can allocate an unbounded amount. Should use heap
20 // even though it is slower.
22 JvGetStringUTFRegion (label
, 0, len
, buf
);
24 // The button child is a label.
25 GtkBin
*bin
= GTK_BIN (ptr
);
26 gtk_label_set_text (GTK_LABEL (bin
->child
), buf
);
30 gnu::awt::gtk::GtkButtonPeer::create ()
34 _Jv_GdkThreadLock sync
;
35 // This is a little inefficient.
36 ptr
= (gnu::gcj::RawData
*) gtk_button_new_with_label ("");
38 using namespace ::java::awt
;
39 Button
*button
= reinterpret_cast<Button
*> (awtComponent
);
40 setLabel (button
->getLabel ());
43 gnu::awt::gtk::GtkComponentPeer::create ();
47 // gnu::awt::gtk::GtkButtonPeer::clicked (::gnu::gcj::RawData *button_wrap,
48 // ::gnu::gcj::RawData *peer_wrap)
50 // GtkButtonPeer *button = reinterpret_cast<GtkButtonPeer *> (peer_wrap);