-
- toolbar = new Toolbar(*this);
- root.add(*toolbar);
- toolbar->set_position(0, window.get_height()-toolbar->get_geometry().h);
- toolbar->set_focusable(false);
+ root_layout = new GLtk::Layout;
+ root_layout->set_margin(0);
+ root.set_layout(root_layout);
+
+ toolbars.push_back(new Layoutbar(*this));
+ toolbars.push_back(new Trackbar(*this));
+ toolbars.push_back(new Routebar(*this));
+ toolbars.push_back(new Zonebar(*this));
+ Toolbar *prev = 0;
+ for(vector<Toolbar *>::iterator i=toolbars.begin(); i!=toolbars.end(); ++i)
+ {
+ root.add(**i);
+ if(i!=toolbars.begin())
+ (*i)->expand(false);
+ (*i)->signal_expanded.connect(sigc::hide(sigc::mem_fun(root_layout, &GLtk::Layout::update)));
+ if(prev)
+ {
+ root_layout->add_constraint(**i, GLtk::Layout::RIGHT_OF, *prev, 0);
+ root_layout->add_constraint(**i, GLtk::Layout::COPY_HEIGHT, *prev);
+ }
+ prev = *i;
+ }