root/trunk/gtk/dfl/label.d

Revision 92, 1.8 kB (checked in by Chris Miller, 2 years ago)

DFL GTK updates

Line 
1 // Copyright (C) 2007 Christopher E. Miller
2 // See the included license.txt for license details.
3
4
5 ///
6 module dfl.label;
7
8 import dfl.internal.dlib;
9 import dfl.control, dfl.base, dfl.drawing;
10 import dfl.internal.gtk;
11
12
13 //version = DFLGTK_LABEL_BOX;
14
15
16 ///
17 class Label: Control
18 {
19     protected override Size defaultSize() // getter
20     {
21         return Size(100, 23);
22     }
23    
24    
25     protected override void createParams(inout CreateParams cp)
26     {
27         super.createParams(cp);
28        
29         with(cp)
30         {
31             version(DFLGTK_LABEL_BOX)
32             {
33                 type = gtk_hbox_get_type();
34             }
35             else
36             {
37                 type = gtk_label_get_type();
38             }
39         }
40     }
41    
42    
43     protected override void gtkSetTextCore(char[] txt)
44     {
45         gtk_label_set_text(cast(GtkLabel*)labelwid, stringToStringz(txt));
46     }
47    
48     protected override char[] gtkGetTextCore()
49     {
50         char[] result;
51         result = stringFromStringz(gtk_label_get_text(cast(GtkLabel*)labelwid));
52         if(!result.length)
53             return "";
54         return result.dup;
55     }
56    
57     package override void postcreateinit(inout CreateParams cp)
58     {
59         version(DFLGTK_LABEL_BOX)
60         {
61             labelwid = gtk_widget_new(gtk_label_get_type(), null);
62             if(!labelwid)
63             {
64                 throw new DflException("Control creation failure");
65             }
66         }
67        
68         //gtk_label_set_justify(cast(GtkLabel*)labelwid, GtkJustification.GTK_JUSTIFY_LEFT);
69        
70         //gtk_misc_set_alignment(pmisc, xalign, yalign)
71         // 0.5 is centered, 0 is left, 1 is right.
72         gtk_misc_set_alignment(cast(GtkMisc*)labelwid, 0.0, 0.0);
73        
74         super.postcreateinit(cp);
75        
76         version(DFLGTK_LABEL_BOX)
77         {
78             //gtk_container_add(cast(GtkContainer*)wid, labelwid);
79             gtk_box_pack_start(cast(GtkBox*)wid, labelwid, false, false, 0);
80            
81             gtk_widget_realize(labelwid);
82             gtk_widget_show(labelwid);
83         }
84     }
85    
86     version(DFLGTK_LABEL_BOX)
87     {
88         GtkWidget* labelwid;
89     }
90     else
91     {
92         alias wid labelwid;
93     }
94    
95 }
Note: See TracBrowser for help on using the browser.