X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fremote%2Fremote.cpp;h=dbcb7e4a166de4f252658dc0aad7931b3360d7c0;hb=862d8bea6d31e6fe9a60747e0b9559f77e72bf44;hp=830a06d05a2f3fc07eb624718629c45772a1f5aa;hpb=1ff06c5bc46a677fa389ef86c6b26664368f1653;p=r2c2.git diff --git a/source/remote/remote.cpp b/source/remote/remote.cpp index 830a06d..dbcb7e4 100644 --- a/source/remote/remote.cpp +++ b/source/remote/remote.cpp @@ -1,27 +1,21 @@ -/* $Id$ - -This file is part of R²C² -Copyright © 2009-2010 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"); @@ -38,8 +32,15 @@ Remote::Remote(int argc, char **argv): 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(); } @@ -52,13 +53,11 @@ void Remote::tick() void Remote::train_added(R2C2::NetTrain &t) { + Gtk::HSeparator *sep = new Gtk::HSeparator; + panel_box->pack_start(*manage(sep), false, true); + sep->show(); + TrainPanel *panel = new TrainPanel(*this, client, t); - if(!train_panels.empty()) - { - Gtk::HSeparator *sep = new Gtk::HSeparator; - train_box->pack_start(*manage(sep), false, true); - sep->show(); - } - train_box->pack_start(*manage(panel), false, true); + panel_box->pack_start(*manage(panel), false, true); train_panels.push_back(panel); }