Changeset 92
- Timestamp:
- 07/18/10 02:58:32 (2 years ago)
- Files:
-
- trunk/gtk/dfl/control.d (modified) (6 diffs)
- trunk/gtk/dfl/form.d (modified) (3 diffs)
- trunk/gtk/dfl/label.d (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/gtk/dfl/control.d
r91 r92 92 92 93 93 94 protected void gtkRequest(GtkWidget* w, GtkRequisition* req) 95 { 96 printf("GTKREQUEST\n"); 97 98 req.width = 100; 99 req.height = 100; 100 } 101 102 private void _gtkRequest(GtkWidget* w, GtkRequisition* req) 103 { 104 return gtkRequest(w, req); 105 } 106 107 108 protected void gtkAllocate(GtkWidget* w, GtkAllocation* a) 109 { 110 // GTK reporting the position... 111 112 printf("GTKALLOCATE x=%d; y=%d; width=%d; height=%d\n", a.x, a.y, a.width, a.height); 113 114 //w.allocation.width = 200; 115 //w.allocation.height = 200; 116 } 117 118 private void _gtkAllocate(GtkWidget* w, GtkAllocation* a) 119 { 120 return gtkAllocate(w, a); 121 } 122 123 124 package void _createcontainer() 94 protected GtkContainer* gtkGetContainer(bool autoCreate = true) 125 95 { 126 96 if(wcontainer) 127 return; 128 129 assert(wid); 97 return wcontainer; 98 if(!autoCreate) 99 return null; 100 101 if(!isHandleCreated) 102 throw new DflException("Handle must be created before getting container (gtkGetContainer)"); 130 103 131 104 wcontainer = cast(GtkContainer*)gtk_fixed_new(); … … 134 107 gtk_widget_realize(cast(GtkWidget*)wcontainer); 135 108 gtk_widget_show(cast(GtkWidget*)wcontainer); 109 110 return wcontainer; 136 111 } 137 112 … … 149 124 if(wparent) 150 125 { 151 wparent._createcontainer(); 152 parent = wparent.wcontainer; 126 parent = wparent.gtkGetContainer(); 153 127 } 154 128 text = wtext; … … 186 160 } 187 161 188 //gtk_widget_set_size_request(wid, defaultSize.width, defaultSize.height); // ... 189 //gtk_fixed_put 162 gtk_widget_set_size_request(wid, defaultSize.width, defaultSize.height); 190 163 191 164 postcreateinit(cp); … … 201 174 if(cp.parent) 202 175 { 203 //gtk_container_add(cast(GtkContainer*)cp.parent, wid);204 176 gtk_container_add(cp.parent, wid); 205 177 } 206 178 207 gtk_widget_realize(wid); // ...208 gtk_widget_show(wid); // ...179 gtk_widget_realize(wid); 180 gtk_widget_show(wid); // if visible... 209 181 } 210 182 … … 227 199 if(isHandleCreated) 228 200 { 201 gtkSetTextCore(txt); 202 229 203 if(ctrlStyle & ControlStyles.CACHE_TEXT) 230 {231 //if(wtext == txt)232 // return;233 204 wtext = txt; 234 }235 236 gtkSetTextCore(txt);237 205 } 238 206 else trunk/gtk/dfl/form.d
r8 r92 42 42 assert(!isHandleCreated); // Make sure the handle wasn't created in createParams(). 43 43 44 wid = gtk_window_new(GtkWindowType.GTK_WINDOW_TOPLEVEL); // ...44 wid = gtk_window_new(GtkWindowType.GTK_WINDOW_TOPLEVEL); 45 45 if(!wid) 46 46 { … … 50 50 auto win = cast(GtkWindow*)wid; 51 51 52 gtk_window_set_default_size(win, 300, 300); // ...52 gtk_window_set_default_size(win, 300, 300); 53 53 54 54 postcreateinit(cp); … … 67 67 char[] result; 68 68 result = stringFromStringz(gtk_window_get_title(cast(GtkWindow*)wid)); 69 if( result.length)70 re sult = result.dup;71 return result ;69 if(!result.length) 70 return ""; 71 return result.dup; 72 72 } 73 73 } trunk/gtk/dfl/label.d
r8 r92 9 9 import dfl.control, dfl.base, dfl.drawing; 10 10 import dfl.internal.gtk; 11 12 13 //version = DFLGTK_LABEL_BOX; 11 14 12 15 … … 26 29 with(cp) 27 30 { 28 type = gtk_label_get_type(); 31 version(DFLGTK_LABEL_BOX) 32 { 33 type = gtk_hbox_get_type(); 34 } 35 else 36 { 37 type = gtk_label_get_type(); 38 } 29 39 } 30 40 } … … 33 43 protected override void gtkSetTextCore(char[] txt) 34 44 { 35 gtk_label_set_text(cast(GtkLabel*) wid, stringToStringz(txt));45 gtk_label_set_text(cast(GtkLabel*)labelwid, stringToStringz(txt)); 36 46 } 37 47 … … 39 49 { 40 50 char[] result; 41 result = stringFromStringz(gtk_label_get_text(cast(GtkLabel*) wid));42 if( result.length)43 re sult = result.dup;44 return result ;51 result = stringFromStringz(gtk_label_get_text(cast(GtkLabel*)labelwid)); 52 if(!result.length) 53 return ""; 54 return result.dup; 45 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 46 95 } 47 96
