X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpanel.cpp;h=ab8f54fb0cc5471e6a1415ff17add966d51c02a5;hb=d2d5b4c4dedf90a42dd2baff8334318b1d000f64;hp=8c5dd38f26be2d400640258882da93c24a50690a;hpb=8eeb6ee5d40c21150839e24996cc3e9ef308374d;p=libs%2Fgltk.git diff --git a/source/panel.cpp b/source/panel.cpp index 8c5dd38..ab8f54f 100644 --- a/source/panel.cpp +++ b/source/panel.cpp @@ -13,6 +13,7 @@ #include "panel.h" #include "part.h" #include "row.h" +#include "stack.h" #include "toggle.h" #include "vslider.h" @@ -38,10 +39,10 @@ void Panel::set_layout(Layout *l) layout = l; } -void Panel::autosize() +void Panel::autosize_special(const Part &part, Geometry &ageom) { - if(layout) - layout->autosize(); + if(part.get_name()=="children" && layout) + layout->autosize(ageom); } void Panel::render_special(const Part &part, GL::Renderer &renderer) const @@ -90,6 +91,7 @@ Panel::Loader::Loader(Panel &p, map &m): add("dropdown", &Loader::child); add("entry", &Loader::child); add("expand", &Loader::expand); + add("ghost", &Loader::ghost); add("gravity", &Loader::gravity); add("grid", &Loader::grid); add("hslider", &Loader::child); @@ -99,6 +101,7 @@ Panel::Loader::Loader(Panel &p, map &m): add("list", &Loader::child); add("panel", &Loader::panel); add("row", &Loader::arrangement); + add("stack", &Loader::arrangement); add("toggle", &Loader::child); add("vslider", &Loader::child); } @@ -148,6 +151,11 @@ void Panel::Loader::expand(bool h, bool v) get_layout().set_expand(get_last_widget(), h, v); } +void Panel::Loader::ghost(bool g) +{ + get_layout().set_ghost(get_last_widget(), g); +} + void Panel::Loader::gravity(int h, int v) { get_layout().set_gravity(get_last_widget(), h, v);