using namespace Msp;
using namespace R2C2;
-class TrainItem: public GLtk::List::Item
+class TrainItem: public GLtk::List::MultiColumnItem
{
-private:
- GLtk::Label protocol;
- GLtk::Label address;
- GLtk::Label name;
-
-public:
+public:
typedef R2C2::Train *ValueType;
TrainItem(ValueType);
-
-private:
- virtual void on_style_change();
};
}
-TrainItem::TrainItem(ValueType train):
- protocol(train->get_protocol()),
- address(lexical_cast<string>(train->get_address())),
- name(train->get_name())
+TrainItem::TrainItem(ValueType train)
{
- add(protocol);
- add(address);
- add(name);
+ add(*new GLtk::Label(train->get_protocol()));
+ add(*new GLtk::Label(lexical_cast<string>(train->get_address())));
+ add(*new GLtk::Label(train->get_name()));
}
-void TrainItem::on_style_change()
-{
- if(!style)
- return;
-
- protocol.autosize();
- address.autosize();
- name.autosize();
-
- if(const GLtk::Part *part = style->get_part("children"))
- {
- const GLtk::Sides &margin = part->get_margin();
- protocol.set_position(margin.left, margin.bottom);
- address.set_position(margin.left+30, margin.bottom);
- name.set_position(margin.left+60, margin.bottom);
- }
-}