root/trunk/gtk/dfl/form.d

Revision 92, 1.4 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.form;
7
8 import dfl.internal.dlib;
9 import dfl.control, dfl.base, dfl.drawing;
10 import dfl.internal.gtk;
11
12
13 ///
14 class Form: Control
15 {
16     protected override void createParams(inout CreateParams cp)
17     {
18         super.createParams(cp);
19        
20         with(cp)
21         {
22             type = gtk_window_get_type();
23         }
24     }
25    
26    
27     protected override void createHandle()
28     {
29         if(isHandleCreated)
30             return;
31        
32         // wowner..?
33        
34         // This is here because wparent.createHandle() might create me.
35         //if(created)
36         if(isHandleCreated)
37             return;
38        
39         CreateParams cp;
40        
41         createParams(cp);
42         assert(!isHandleCreated); // Make sure the handle wasn't created in createParams().
43        
44         wid = gtk_window_new(GtkWindowType.GTK_WINDOW_TOPLEVEL);
45         if(!wid)
46         {
47             create_err:
48             throw new DflException("Form creation failure");
49         }
50         auto win = cast(GtkWindow*)wid;
51        
52         gtk_window_set_default_size(win, 300, 300);
53        
54         postcreateinit(cp);
55     }
56    
57    
58     // Used internally
59     protected override void gtkSetTextCore(char[] txt) // package
60     {
61         gtk_window_set_title(cast(GtkWindow*)wid, stringToStringz(txt));
62     }
63    
64     // Used internally
65     protected override char[] gtkGetTextCore() // package
66     {
67         char[] result;
68         result = stringFromStringz(gtk_window_get_title(cast(GtkWindow*)wid));
69         if(!result.length)
70             return "";
71         return result.dup;
72     }
73 }
Note: See TracBrowser for help on using the browser.