natGtkButtonPeer.cc [plain text]
#include <config.h>
#include <gcj/cni.h>
#include "gtkcommon.h"
#include <gnu/awt/gtk/GtkButtonPeer.h>
#include <java/awt/Button.h>
void
gnu::awt::gtk::GtkButtonPeer::setLabel (java::lang::String *label)
{
_Jv_GdkThreadLock sync;
jsize len = 0;
if (label)
len = JvGetStringUTFLength (label);
char buf[len + 1];
if (label)
JvGetStringUTFRegion (label, 0, len, buf);
buf[len] = '\0';
GtkBin *bin = GTK_BIN (ptr);
gtk_label_set_text (GTK_LABEL (bin->child), buf);
}
void
gnu::awt::gtk::GtkButtonPeer::create ()
{
if (! ptr)
{
_Jv_GdkThreadLock sync;
ptr = (gnu::gcj::RawData *) gtk_button_new_with_label ("");
using namespace ::java::awt;
Button *button = reinterpret_cast<Button *> (awtComponent);
setLabel (button->getLabel ());
}
gnu::awt::gtk::GtkComponentPeer::create ();
}