#include <msp/gltk/button.h>
#include <msp/gltk/label.h>
+#include <msp/gltk/mixedrows.h>
#include "zoneproperties.h"
using namespace std;
ZoneProperties::ZoneProperties(Zone &z):
zone(z)
{
- set_size(300, 140);
+ GLtk::MixedRows *rows = new GLtk::MixedRows;
+ set_layout(rows);
- GLtk::Label *lbl;
+ GLtk::Label *lbl1, *lbl2;
- add(*(lbl = new GLtk::Label("Zone properties")));
- lbl->set_geometry(GLtk::Geometry(10, geom.h-30, geom.w-20, 20));
-
- add(*(lbl = new GLtk::Label("Group")));
- lbl->set_geometry(GLtk::Geometry(10, geom.h-65, 70, 20));
+ add(*(lbl1 = new GLtk::Label("Zone properties")));
+ layout->set_expand(*lbl1, true, false);
+ lbl1->set_style("title");
+ rows->start_row();
+ add(*(lbl1 = new GLtk::Label("Group")));
add(*(ent_group = new GLtk::Entry(zone.get_group())));
- ent_group->set_geometry(GLtk::Geometry(80, geom.h-65, geom.w-90, 20));
-
- add(*(lbl = new GLtk::Label("Qualifier")));
- lbl->set_geometry(GLtk::Geometry(10, geom.h-95, 70, 20));
+ ent_group->set_edit_size(30, 1);
+
+ rows->start_row();
+ add(*(lbl2 = new GLtk::Label("Qualifier")));
+ rows->add_constraint(*lbl1, GLtk::Layout::COPY_WIDTH, *lbl2);
add(*(drp_qualifier = new GLtk::Dropdown));
- drp_qualifier->set_geometry(GLtk::Geometry(80, geom.h-95, 80, 20));
const char *qualifiers[] = { "track", "platform", "siding", 0 };
for(unsigned i=0; qualifiers[i]; ++i)
{
drp_qualifier->set_selected_index(i);
}
- add(*(lbl = new GLtk::Label("Number")));
- lbl->set_geometry(GLtk::Geometry(170, geom.h-95, 70, 20));
-
+ rows->start_row();
+ add(*(lbl1 = new GLtk::Label("Number")));
+ rows->add_constraint(*lbl1, GLtk::Layout::COPY_WIDTH, *lbl2);
add(*(ent_number = new GLtk::Entry(lexical_cast<string>(zone.get_number()))));
- ent_number->set_geometry(GLtk::Geometry(240, geom.h-95, 50, 20));
+ ent_number->set_edit_size(4, 1);
GLtk::Button *btn;
+ rows->start_row();
+ rows->split_columns();
add_button(*(btn = new GLtk::Button("Cncl")), 0);
- btn->set_geometry(GLtk::Geometry(geom.w-90, 10, 40, 24));
btn->set_style("red");
add_button(*(btn = new GLtk::Button("OK")), 1);
- btn->set_geometry(GLtk::Geometry(geom.w-50, 10, 40, 24));
btn->set_style("green");
}