Changeset 22
- Timestamp:
- 11/29/06 01:25:56 (2 years ago)
- Files:
-
- trunk/luigi/example1.d (modified) (3 diffs)
- trunk/luigi/example1_gld.d (modified) (3 diffs)
- trunk/luigi/gui.d (modified) (2 diffs)
- trunk/luigi/themes/dxut.d (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/luigi/example1.d
r21 r22 112 112 alias Alignment A; 113 113 114 auto eastGroup = 115 arranged(gui.add_widget(new GridPanel(1,0, Gaps(2))), Region.East); 116 auto westGroup = 117 arranged(gui.add_widget(new GridPanel(2,0, Gaps(2))), Region.West); 118 auto northGroup = arranged(gui.add_widget(new FlowPanel), Region.North); 119 auto southGroup = arranged(gui.add_widget(new FlowPanel), Region.South); 114 auto eastGroup = gui.add_arranged(new GridPanel(1,0, Gaps(2)), Region.East); 115 auto westGroup = gui.add_arranged(new GridPanel(2,0, Gaps(2)), Region.West); 116 auto northGroup = gui.add_arranged(new FlowPanel, Region.North); 117 auto southGroup = gui.add_arranged(new FlowPanel, Region.South); 120 118 121 119 with(eastGroup) { … … 143 141 144 142 c15.value_changed.connect( (Widget w, bool onoff) 145 { 143 { 146 144 writefln(onoff?"checked!":"unchecked!"); 147 145 }); … … 161 159 with (westGroup) { 162 160 alias westGroup g; // workaround for http://tinyurl.com/u5eal 163 auto b20 = arranged( g.add_widget(new Button("Tool0")));164 auto b21 = arranged( g.add_widget(new Button("Tool1")));165 auto b22 = arranged( g.add_widget(new Button("Tool2")));166 auto b23 = arranged( g.add_widget(new Button("Tool3")));167 auto b24 = arranged( g.add_widget(new Button("LongNameTool4")));168 auto b25 = arranged( g.add_widget(new Button("Tool5")));169 auto b26 = arranged( g.add_widget(new Button("Tool6")));170 auto b27 = arranged( g.add_widget(new Button("Tool7")));171 auto b28 = arranged( g.add_widget(new Button("Tool8")));172 auto b29 = arranged( g.add_widget(new Button("Tool9")));173 auto s01 = arranged( g.add_widget(new Slider("Thingy")));174 auto s02 = arranged( g.add_widget(new Slider("Thingy")));161 auto b20 = g.add_arranged(new Button("Tool0")); 162 auto b21 = g.add_arranged(new Button("Tool1")); 163 auto b22 = g.add_arranged(new Button("Tool2")); 164 auto b23 = g.add_arranged(new Button("Tool3")); 165 auto b24 = g.add_arranged(new Button("LongNameTool4")); 166 auto b25 = g.add_arranged(new Button("Tool5")); 167 auto b26 = g.add_arranged(new Button("Tool6")); 168 auto b27 = g.add_arranged(new Button("Tool7")); 169 auto b28 = g.add_arranged(new Button("Tool8")); 170 auto b29 = g.add_arranged(new Button("Tool9")); 171 auto s01 = g.add_arranged(new Slider("Thingy")); 172 auto s02 = g.add_arranged(new Slider("Thingy")); 175 173 s02.vertical = true; 176 174 s01.precision = 0.1; trunk/luigi/example1_gld.d
r18 r22 70 70 { 71 71 bool dosync = true; 72 char[] theme = " std";72 char[] theme = "dxut"; 73 73 74 74 //---------------- PARSE ARGS ----------------------- … … 116 116 alias Alignment A; 117 117 118 auto eastGroup = 119 arranged(gui.add_widget(new GridPanel(1,0, Gaps(2))), Region.East); 120 auto westGroup = 121 arranged(gui.add_widget(new GridPanel(2,0, Gaps(2))), Region.West); 122 auto northGroup = arranged(gui.add_widget(new FlowPanel), Region.North); 123 auto southGroup = arranged(gui.add_widget(new FlowPanel), Region.South); 118 auto eastGroup = gui.add_arranged(new GridPanel(1,0, Gaps(2)), Region.East); 119 auto westGroup = gui.add_arranged(new GridPanel(2,0, Gaps(2)), Region.West); 120 auto northGroup = gui.add_arranged(new FlowPanel, Region.North); 121 auto southGroup = gui.add_arranged(new FlowPanel, Region.South); 124 122 125 123 with(eastGroup) { … … 165 163 with (westGroup) { 166 164 alias westGroup g; // workaround for http://tinyurl.com/u5eal 167 auto b20 = arranged( g.add_widget(new Button("Tool0")));168 auto b21 = arranged( g.add_widget(new Button("Tool1")));169 auto b22 = arranged( g.add_widget(new Button("Tool2")));170 auto b23 = arranged( g.add_widget(new Button("Tool3")));171 auto b24 = arranged( g.add_widget(new Button("LongNameTool4")));172 auto b25 = arranged( g.add_widget(new Button("Tool5")));173 auto b26 = arranged( g.add_widget(new Button("Tool6")));174 auto b27 = arranged( g.add_widget(new Button("Tool7")));175 auto b28 = arranged( g.add_widget(new Button("Tool8")));176 auto b29 = arranged( g.add_widget(new Button("Tool9")));177 auto s01 = arranged( g.add_widget(new Slider("Thingy")));178 auto s02 = arranged( g.add_widget(new Slider("Thingy")));165 auto b20 = g.add_arranged(new Button("Tool0")); 166 auto b21 = g.add_arranged(new Button("Tool1")); 167 auto b22 = g.add_arranged(new Button("Tool2")); 168 auto b23 = g.add_arranged(new Button("Tool3")); 169 auto b24 = g.add_arranged(new Button("LongNameTool4")); 170 auto b25 = g.add_arranged(new Button("Tool5")); 171 auto b26 = g.add_arranged(new Button("Tool6")); 172 auto b27 = g.add_arranged(new Button("Tool7")); 173 auto b28 = g.add_arranged(new Button("Tool8")); 174 auto b29 = g.add_arranged(new Button("Tool9")); 175 auto s01 = g.add_arranged(new Slider("Thingy")); 176 auto s02 = g.add_arranged(new Slider("Thingy")); 179 177 s02.vertical = true; 180 178 s01.precision = 0.1; trunk/luigi/gui.d
r21 r22 135 135 136 136 137 T arranged(T, VArg...)(T w, VArg varg) 137 /** arranged() adds the specified widget to its parent's arranger 138 */ 139 T arranged(T, VArg...)(T widget, VArg varg) 138 140 { 139 141 static assert(is(T:Widget), "arranger_add requires a Widget as argument 0"); 142 assert(widget.parent, "arranged called on widget with no parent"); 143 assert(widget.parent.arranger, "arranged called on widget with parent.arranger"); 140 144 // Not really necessary to use the fancy DMD 0.173 feature here 141 145 // but I might as well. A classic '...'/valist would have worked, but 142 146 // I hate looking at _argptrs and _arguments. 143 if (w .parent && w.parent.arranger && !w.parent.arranger.auto_add) {144 w .parent.arranger.add(w, varg);145 } 146 return w ;147 if (widget.parent && widget.parent.arranger && !widget.parent.arranger.auto_add) { 148 widget.parent.arranger.add(widget, varg); 149 } 150 return widget; 147 151 } 148 152 … … 200 204 return the object created/added with it's full derived type. 201 205 */ 202 203 S make(S, VArg...)() 204 { 205 static assert(is(S:Widget), "make requires a Widget as argument"); 206 S newwidget = new S(VArg); 207 this.add(newwidget); 208 return newwidget; 209 } 210 // This works but you have to specify ALL the template arguments 211 // IFTI shuts down 212 S make_better(S,VArg...)(VArg v) 213 { 214 return new S(this, v); 215 } 216 S make(S)() 217 { 218 static assert(is(S:Widget), "make requires a Widget as argument"); 219 S newwidget = new S(); 220 this.add(newwidget); 221 return newwidget; 222 } 223 S add_widget(S)(S w) 224 { 225 static assert(is(S:Widget), "add_widget requires a Widget as argument"); 226 add(w); 227 return w; 206 W add_widget(W)(W widget) 207 { 208 static assert(is(W:Widget), "add_widget requires a Widget as argument"); 209 add(widget); 210 return widget; 211 } 212 W add_arranged(W, Varg...)(W widget, Varg args) 213 { 214 static assert(is(W:Widget), "add_arranged requires a Widget as argument"); 215 add(widget); 216 assert(arranger, "add_arranged called with no arranger set"); 217 if (arranger && !arranger.auto_add) arranger.add(widget, args); 218 return widget; 228 219 } 229 220 } trunk/luigi/themes/dxut.d
r21 r22 118 118 glBindTexture(GL_TEXTURE_2D,m_texid); 119 119 glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); 120 //glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND); 120 121 121 122 glMatrixMode(GL_TEXTURE);
