Changeset 22

Show
Ignore:
Timestamp:
11/29/06 01:25:56 (2 years ago)
Author:
baxissimo
Message:

Made a few changes to the add/arranger template macros.
instead of

arranged(panel.add_widget(new Button))

it now becomes

panel.add_arranged(new Button)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/luigi/example1.d

    r21 r22  
    112112        alias Alignment A; 
    113113 
    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); 
    120118 
    121119        with(eastGroup) { 
     
    143141 
    144142            c15.value_changed.connect( (Widget w, bool onoff) 
    145             {  
     143            { 
    146144                writefln(onoff?"checked!":"unchecked!");  
    147145            }); 
     
    161159        with (westGroup) { 
    162160            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")); 
    175173            s02.vertical = true; 
    176174            s01.precision = 0.1; 
  • trunk/luigi/example1_gld.d

    r18 r22  
    7070{ 
    7171    bool dosync = true; 
    72     char[] theme = "std"; 
     72    char[] theme = "dxut"; 
    7373     
    7474    //---------------- PARSE ARGS ----------------------- 
     
    116116        alias Alignment A; 
    117117 
    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); 
    124122 
    125123        with(eastGroup) { 
     
    165163        with (westGroup) { 
    166164            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")); 
    179177            s02.vertical = true; 
    180178            s01.precision = 0.1; 
  • trunk/luigi/gui.d

    r21 r22  
    135135 
    136136 
    137 T arranged(T, VArg...)(T w, VArg varg) 
     137/** arranged() adds the specified widget to its parent's arranger 
     138 */ 
     139T arranged(T, VArg...)(T widget, VArg varg) 
    138140{ 
    139141    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"); 
    140144    // Not really necessary to use the fancy DMD 0.173 feature here 
    141145    // but I might as well.  A classic '...'/valist would have worked, but 
    142146    // 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
    147151} 
    148152 
     
    200204       return the object created/added with it's full derived type. 
    201205     */        
    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; 
    228219    } 
    229220} 
  • trunk/luigi/themes/dxut.d

    r21 r22  
    118118        glBindTexture(GL_TEXTURE_2D,m_texid); 
    119119        glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); 
     120        //glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND); 
    120121 
    121122        glMatrixMode(GL_TEXTURE);