1.1 --- a/nbtab.cc Mon Oct 09 08:06:31 2006 +0000
1.2 +++ b/nbtab.cc Thu Oct 12 11:39:29 2006 +0000
1.3 @@ -1,6 +1,6 @@
1.4 #include <nbtab.h>
1.5
1.6 -NoteBookTab::NoteBookTab():mapwinexists(false)
1.7 +NoteBookTab::NoteBookTab():mapwinexists(false), designwinexists(false)
1.8 {
1.9 Gtk::ScrolledWindow *pScrolledWindow = manage(new Gtk::ScrolledWindow);
1.10 gd_canvas=new GraphDisplayerCanvas(*this);
1.11 @@ -207,12 +207,42 @@
1.12 }
1.13 }
1.14
1.15 +void NoteBookTab::createDesignWin(std::string name)
1.16 +{
1.17 + if(!designwinexists)
1.18 + {
1.19 + double attraction, propulsation;
1.20 + int iterations;
1.21 + gd_canvas->get_design_data(attraction, propulsation, iterations);
1.22 + designwin=new DesignWin("Design Setup - "+name, attraction, propulsation, iterations);
1.23 +
1.24 + designwin->signal_attraction().connect(sigc::mem_fun(*this, &NoteBookTab::attraction_ch));
1.25 + designwin->signal_propulsation().connect(sigc::mem_fun(*this, &NoteBookTab::propulsation_ch));
1.26 + designwin->signal_iteration().connect(sigc::mem_fun(*gd_canvas, &GraphDisplayerCanvas::set_iteration));
1.27 + designwin->close_run().connect(sigc::mem_fun(*gd_canvas, &GraphDisplayerCanvas::reDesignGraph));
1.28 +
1.29 + designwin->signal_delete_event().connect(sigc::mem_fun(*this, &NoteBookTab::closeDesignWin));
1.30 +
1.31 + designwin->show();
1.32 + designwinexists=true;
1.33 + }
1.34 +}
1.35 +
1.36 void NoteBookTab::closeMapWin()
1.37 {
1.38 mapwinexists=false;
1.39 delete mapwin;
1.40 }
1.41
1.42 +bool NoteBookTab::closeDesignWin(GdkEventAny * e)
1.43 +{
1.44 + if(e->type==GDK_DELETE)
1.45 + {
1.46 + designwinexists=false;
1.47 + delete designwin;
1.48 + }
1.49 +}
1.50 +
1.51 sigc::signal<void, std::string> NoteBookTab::signal_title_ch()
1.52 {
1.53 return signal_title;
1.54 @@ -227,3 +257,24 @@
1.55 {
1.56 gd_canvas->getView(autoscale, zoomtrack, width, radius);
1.57 }
1.58 +
1.59 +void NoteBookTab::reDesignGraph()
1.60 +{
1.61 + gd_canvas->reDesignGraph();
1.62 +}
1.63 +
1.64 +void NoteBookTab::attraction_ch(double v)
1.65 +{
1.66 + gd_canvas->set_attraction(v);
1.67 +}
1.68 +
1.69 +void NoteBookTab::propulsation_ch(double v)
1.70 +{
1.71 + gd_canvas->set_propulsation(v);
1.72 +}
1.73 +
1.74 +void NoteBookTab::iteration_ch(int v)
1.75 +{
1.76 + gd_canvas->set_iteration(v);
1.77 +}
1.78 +