X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fremote%2Fremote.cpp;h=dbcb7e4a166de4f252658dc0aad7931b3360d7c0;hb=66a30fdf63df6ae092fb3d335c30a37e4e6ef40d;hp=57080c1fd0897ea86ea0527cf974a42f8b836d5d;hpb=010d8321e982d1684fcbff5bf6fc2bdec7cb7bae;p=r2c2.git diff --git a/source/remote/remote.cpp b/source/remote/remote.cpp index 57080c1..dbcb7e4 100644 --- a/source/remote/remote.cpp +++ b/source/remote/remote.cpp @@ -1,26 +1,21 @@ -/* $Id$ - -This file is part of the MSP Märklin suite -Copyright © 2009 Mikkosoft Productions, Mikko Rasa -Distributed under the GPL -*/ - +#include +#include +#include #include #include +#include "mainpanel.h" #include "remote.h" #include "trainpanel.h" using namespace std; using namespace Msp; -Application::RegApp Remote::reg; - Remote::Remote(int argc, char **argv): client(catalogue), gtk(argc, argv) { if(argc<2) - throw UsageError("No address given"); + throw usage_error("No address given"); DataFile::load(catalogue, "locos.dat"); @@ -34,9 +29,19 @@ Remote::Remote(int argc, char **argv): delete addr; window.signal_hide().connect(sigc::bind(sigc::mem_fun(this, &Remote::exit), 0)); + window.set_default_size(300, 200); window.set_border_width(5); - train_box = new Gtk::VBox(false, 5); - window.add(*manage(train_box)); + + Gtk::ScrolledWindow *scroll = new Gtk::ScrolledWindow; + window.add(*manage(scroll)); + scroll->set_policy(Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC); + + panel_box = new Gtk::VBox(false, 5); + scroll->add(*manage(panel_box)); + + main_panel = new MainPanel(*this, client); + panel_box->pack_start(*manage(main_panel), false, true); + window.show_all(); } @@ -46,8 +51,13 @@ void Remote::tick() gtk.iteration(false); } -void Remote::train_added(Marklin::NetTrain &t) +void Remote::train_added(R2C2::NetTrain &t) { - TrainPanel *panel = new TrainPanel(t); - train_box->add(*manage(panel)); + Gtk::HSeparator *sep = new Gtk::HSeparator; + panel_box->pack_start(*manage(sep), false, true); + sep->show(); + + TrainPanel *panel = new TrainPanel(*this, client, t); + panel_box->pack_start(*manage(panel), false, true); + train_panels.push_back(panel); }