nbtab.cc
changeset 160 14a76109b561
parent 157 7e6ad28aeb9e
child 172 fc1e478697d3
     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 +