Last change
on this file was 2, checked in by bird, 22 years ago |
Initial revision
|
-
Property cvs2svn:cvs-rev
set to
1.1
-
Property svn:eol-style
set to
native
-
Property svn:executable
set to
*
|
File size:
1.3 KB
|
Line | |
---|
1 | // Native Gtk AWT label code.
|
---|
2 |
|
---|
3 | #include <config.h>
|
---|
4 |
|
---|
5 | #include <gcj/cni.h>
|
---|
6 |
|
---|
7 | #include "gtkcommon.h"
|
---|
8 |
|
---|
9 | #include <gnu/awt/gtk/GtkLabelPeer.h>
|
---|
10 | #include <java/awt/Label.h>
|
---|
11 |
|
---|
12 | void
|
---|
13 | gnu::awt::gtk::GtkLabelPeer::setText (java::lang::String *text)
|
---|
14 | {
|
---|
15 | _Jv_GdkThreadLock sync;
|
---|
16 | jsize len = 0;
|
---|
17 | if (text)
|
---|
18 | len = JvGetStringUTFLength (text);
|
---|
19 | // FIXME: this can allocate an unbounded amount. Should use heap
|
---|
20 | // even though it is slower.
|
---|
21 | char buf[len + 1];
|
---|
22 | if (text)
|
---|
23 | JvGetStringUTFRegion (text, 0, len, buf);
|
---|
24 | buf[len] = '\0';
|
---|
25 | gtk_label_set_text (GTK_LABEL (ptr), buf);
|
---|
26 | }
|
---|
27 |
|
---|
28 | void
|
---|
29 | gnu::awt::gtk::GtkLabelPeer::setAlignment (jint alignment)
|
---|
30 | {
|
---|
31 | using namespace java::awt;
|
---|
32 |
|
---|
33 | gfloat value = 0.5;
|
---|
34 | if (alignment == Label::LEFT)
|
---|
35 | value = 0.0;
|
---|
36 | else if (alignment == Label::RIGHT)
|
---|
37 | value = 1.0;
|
---|
38 |
|
---|
39 | _Jv_GdkThreadLock sync;
|
---|
40 | gtk_misc_set_alignment (GTK_MISC (ptr), 0.5f, value);
|
---|
41 | }
|
---|
42 |
|
---|
43 | void
|
---|
44 | gnu::awt::gtk::GtkLabelPeer::create ()
|
---|
45 | {
|
---|
46 | if (! ptr)
|
---|
47 | {
|
---|
48 | _Jv_GdkThreadLock sync;
|
---|
49 | // This is a little inefficient.
|
---|
50 | ptr = (gnu::gcj::RawData *) gtk_label_new ("");
|
---|
51 |
|
---|
52 | using namespace ::java::awt;
|
---|
53 | Label *label = reinterpret_cast<Label *> (awtComponent);
|
---|
54 | setText (label->getText ());
|
---|
55 | setAlignment (label->getAlignment ());
|
---|
56 | }
|
---|
57 |
|
---|
58 | gnu::awt::gtk::GtkComponentPeer::create ();
|
---|
59 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.