X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fdesigner%2Ftrackproperties.cpp;h=59ce75111c25a0c5e001f77d1da7c38711b63f5a;hb=b28062f2dc88e082ee5a28b2e1f7c4c8bd989023;hp=b85a99ae76e6459247f2f2719a0c17e287c0802d;hpb=d32eab21ebacb78500dc46af5b5a6354a9a37fe2;p=r2c2.git diff --git a/source/designer/trackproperties.cpp b/source/designer/trackproperties.cpp index b85a99a..59ce751 100644 --- a/source/designer/trackproperties.cpp +++ b/source/designer/trackproperties.cpp @@ -1,6 +1,7 @@ #include +#include #include -#include +#include #include "libr2c2/track.h" #include "libr2c2/tracktype.h" #include "selection.h" @@ -13,57 +14,62 @@ using namespace R2C2; TrackProperties::TrackProperties(const Selection &s): selection(s) { - GLtk::MixedRows *rows = new GLtk::MixedRows; - set_layout(rows); + set_layout(new GLtk::Layout); + GLtk::Column col(*layout); GLtk::Label *lbl1, *lbl2; add(*(lbl1 = new GLtk::Label("Track properties"))); - layout->set_expand(*lbl1, true, false); lbl1->set_style("title"); - rows->start_row(); - add(*(lbl1 = new GLtk::Label("Turnout ID"))); - add(*(ent_turnout_id = new GLtk::Entry)); - ent_turnout_id->set_edit_size(5, 1); + { + GLtk::Row row(*layout); + add(*(lbl1 = new GLtk::Label("Turnout address"))); + add(*(ent_turnout_addr = new GLtk::Entry)); + ent_turnout_addr->set_edit_size(5, 1); + } - rows->start_row(); - add(*(lbl2 = new GLtk::Label("Sensor ID"))); - rows->add_constraint(*lbl1, GLtk::Layout::COPY_WIDTH, *lbl2); - add(*(ent_sensor_id = new GLtk::Entry)); - ent_sensor_id->set_edit_size(5, 1); + { + GLtk::Row row(*layout); + add(*(lbl2 = new GLtk::Label("Sensor address"))); + layout->add_constraint(*lbl1, GLtk::Layout::COPY_WIDTH, *lbl2); + add(*(ent_sensor_addr = new GLtk::Entry)); + ent_sensor_addr->set_edit_size(5, 1); + } GLtk::Button *btn; - rows->start_row(); - rows->split_columns(); - add_button(*(btn = new GLtk::Button("Cncl")), 0); - btn->set_style("red"); + { + GLtk::Row row(*layout); + row.split(); + add_button(*(btn = new GLtk::Button("Cncl")), 0); + btn->set_style("red"); - add_button(*(btn = new GLtk::Button("OK")), 1); - btn->set_style("green"); + add_button(*(btn = new GLtk::Button("OK")), 1); + btn->set_style("green"); + } if(selection.size()==1) { - if(unsigned tid = selection.get_object()->get_turnout_id()) - ent_turnout_id->set_text(lexical_cast(tid)); + if(unsigned taddr = selection.get_object()->get_turnout_address()) + ent_turnout_addr->set_text(lexical_cast(taddr)); } const set &tracks = selection.get_objects(); - int sensor_id = -1; + int sensor_addr = -1; for(set::const_iterator i=tracks.begin(); i!=tracks.end(); ++i) { - if(static_cast((*i)->get_sensor_id())!=sensor_id) + if(static_cast((*i)->get_sensor_address())!=sensor_addr) { - if(sensor_id==-1) - sensor_id = (*i)->get_sensor_id(); + if(sensor_addr==-1) + sensor_addr = (*i)->get_sensor_address(); else - sensor_id = -2; + sensor_addr = -2; } } - if(sensor_id>=0) - ent_sensor_id->set_text(lexical_cast(sensor_id)); + if(sensor_addr>=0) + ent_sensor_addr->set_text(lexical_cast(sensor_addr)); } void TrackProperties::on_response(int code) @@ -74,17 +80,17 @@ void TrackProperties::on_response(int code) { Track *track = selection.get_object(); if(track->get_type().is_turnout()) - track->set_turnout_id(lexical_cast(ent_turnout_id->get_text())); + track->set_turnout_address(lexical_cast(ent_turnout_addr->get_text())); } - string sensor_id_text = ent_sensor_id->get_text(); - if(!sensor_id_text.empty()) + string sensor_addr_text = ent_sensor_addr->get_text(); + if(!sensor_addr_text.empty()) { - unsigned sensor_id = lexical_cast(sensor_id_text); + unsigned sensor_addr = lexical_cast(sensor_addr_text); const set &tracks = selection.get_objects(); for(set::const_iterator i=tracks.begin(); i!=tracks.end(); ++i) if(!(*i)->get_type().is_turnout()) - (*i)->set_sensor_id(sensor_id); + (*i)->set_sensor_address(sensor_addr); } } }