nbtab.cc
changeset 194 6b2b718420eb
parent 191 af2ed974ab68
child 195 125c56c1efda
     1.1 --- a/nbtab.cc	Wed Feb 28 15:19:20 2007 +0000
     1.2 +++ b/nbtab.cc	Wed Feb 28 18:20:28 2007 +0000
     1.3 @@ -17,39 +17,47 @@
     1.4   */
     1.5  
     1.6  #include <nbtab.h>
     1.7 +#include <mapstorage.h>
     1.8  #include <eps_win.h>
     1.9 +#include <map_win.h>
    1.10 +#include <design_win.h>
    1.11 +#include <graph_displayer_canvas.h>
    1.12  
    1.13 -NoteBookTab::NoteBookTab():mapwinexists(false), designwinexists(false), mapstorage(*this)
    1.14 +
    1.15 +
    1.16 +NoteBookTab::NoteBookTab():mapwinexists(false), designwinexists(false)
    1.17  {
    1.18 +  mapstorage=new MapStorage(*this);
    1.19 +
    1.20    Gtk::ScrolledWindow *pScrolledWindow = manage(new Gtk::ScrolledWindow);
    1.21    gd_canvas=new GraphDisplayerCanvas(*this);
    1.22    pScrolledWindow->add(*gd_canvas);
    1.23    add(*pScrolledWindow);
    1.24  
    1.25    //connecting signals - controller character
    1.26 -  mapstorage.signal_prop_ch().connect(sigc::mem_fun(*gd_canvas, &GraphDisplayerCanvas::propertyChange));
    1.27 -  mapstorage.signal_node_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewNodeMap));
    1.28 -  mapstorage.signal_edge_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewEdgeMap));
    1.29 +  mapstorage->signal_prop_ch().connect(sigc::mem_fun(*gd_canvas, &GraphDisplayerCanvas::propertyChange));
    1.30 +  mapstorage->signal_node_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewNodeMap));
    1.31 +  mapstorage->signal_edge_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewEdgeMap));
    1.32    show_all_children();
    1.33    show();
    1.34  }
    1.35  
    1.36  void NoteBookTab::readFile(const std::string &file)
    1.37  {
    1.38 -  mapstorage.readFromFile(file);
    1.39 -  mapstorage.file_name = file;
    1.40 -  mapstorage.modified = false;
    1.41 +  mapstorage->readFromFile(file);
    1.42 +  mapstorage->file_name = file;
    1.43 +  mapstorage->modified = false;
    1.44    gd_canvas->drawGraph();
    1.45    if(mapwinexists)
    1.46      {
    1.47 -      mapwin->update(mapstorage.getEdgeMapList(), mapstorage.getNodeMapList());
    1.48 +      mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList());
    1.49      }
    1.50    signal_title.emit(Glib::filename_display_basename(file));
    1.51  }
    1.52  
    1.53  void NoteBookTab::newFile()
    1.54  {
    1.55 -  if (mapstorage.modified)
    1.56 +  if (mapstorage->modified)
    1.57    {
    1.58      Gtk::MessageDialog mdialog("<b>Save changes before closing?</b>", true,
    1.59          Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE);
    1.60 @@ -68,17 +76,17 @@
    1.61      }
    1.62    }
    1.63    gd_canvas->clear();
    1.64 -  mapstorage.clear();
    1.65 +  mapstorage->clear();
    1.66    if(mapwinexists)
    1.67      {
    1.68 -      mapwin->update(mapstorage.getEdgeMapList(), mapstorage.getNodeMapList());
    1.69 +      mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList());
    1.70      }
    1.71    signal_title.emit("unsaved file");
    1.72  }
    1.73  
    1.74  void NoteBookTab::openFile()
    1.75  {
    1.76 -  if (mapstorage.modified)
    1.77 +  if (mapstorage->modified)
    1.78    {
    1.79      Gtk::MessageDialog mdialog("<b>Save changes before closing?</b>", true, 
    1.80          Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE);
    1.81 @@ -102,16 +110,16 @@
    1.82    if (fcdialog.run() == Gtk::RESPONSE_ACCEPT)
    1.83    {
    1.84      gd_canvas->clear();
    1.85 -    mapstorage.clear();
    1.86 +    mapstorage->clear();
    1.87      Glib::ustring filename = fcdialog.get_filename();
    1.88 -    if (!mapstorage.readFromFile(filename))
    1.89 +    if (!mapstorage->readFromFile(filename))
    1.90      {
    1.91 -      mapstorage.file_name = filename;
    1.92 -      mapstorage.modified = false;
    1.93 +      mapstorage->file_name = filename;
    1.94 +      mapstorage->modified = false;
    1.95        gd_canvas->drawGraph();
    1.96        if(mapwinexists)
    1.97  	{
    1.98 -	  mapwin->update(mapstorage.getEdgeMapList(), mapstorage.getNodeMapList());
    1.99 +	  mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList());
   1.100  	}
   1.101        signal_title.emit(Glib::filename_display_basename(filename));
   1.102      }
   1.103 @@ -120,14 +128,14 @@
   1.104  
   1.105  void NoteBookTab::saveFile()
   1.106  {
   1.107 -  if (mapstorage.file_name == "") {
   1.108 +  if (mapstorage->file_name == "") {
   1.109      saveFileAs();
   1.110    }
   1.111    else
   1.112    {
   1.113 -    mapstorage.writeToFile(mapstorage.file_name);
   1.114 -    mapstorage.modified = false;
   1.115 -    signal_title.emit(Glib::filename_display_basename(mapstorage.file_name));
   1.116 +    mapstorage->writeToFile(mapstorage->file_name);
   1.117 +    mapstorage->modified = false;
   1.118 +    signal_title.emit(Glib::filename_display_basename(mapstorage->file_name));
   1.119    }
   1.120  }
   1.121  
   1.122 @@ -139,16 +147,16 @@
   1.123    if (fcdialog.run() == Gtk::RESPONSE_ACCEPT)
   1.124    {
   1.125      Glib::ustring filename = fcdialog.get_filename();
   1.126 -    mapstorage.file_name = filename;
   1.127 -    mapstorage.writeToFile(filename);
   1.128 -    mapstorage.modified = false;
   1.129 +    mapstorage->file_name = filename;
   1.130 +    mapstorage->writeToFile(filename);
   1.131 +    mapstorage->modified = false;
   1.132      signal_title.emit(Glib::filename_display_basename(filename));
   1.133    }
   1.134  }
   1.135  
   1.136  void NoteBookTab::close()
   1.137  {
   1.138 -  if (mapstorage.modified)
   1.139 +  if (mapstorage->modified)
   1.140    {
   1.141      Gtk::MessageDialog mdialog("<b>Save changes before closing?</b>", true,
   1.142          Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE);
   1.143 @@ -167,17 +175,17 @@
   1.144      }
   1.145    }
   1.146    gd_canvas->clear();
   1.147 -  mapstorage.clear();
   1.148 +  mapstorage->clear();
   1.149    if(mapwinexists)
   1.150      {
   1.151 -      mapwin->update(mapstorage.getEdgeMapList(), mapstorage.getNodeMapList());
   1.152 +      mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList());
   1.153      }
   1.154    signal_title.emit("unsaved file");
   1.155  }
   1.156  
   1.157  void NoteBookTab::propertyChange(bool itisedge, int prop, std::string mapname)
   1.158  {
   1.159 -  mapstorage.changeActiveMap(itisedge, prop, mapname);
   1.160 +  mapstorage->changeActiveMap(itisedge, prop, mapname);
   1.161  }
   1.162  
   1.163  sigc::signal<void, NoteBookTab *, bool> NoteBookTab::signal_newmap_needed()
   1.164 @@ -192,12 +200,12 @@
   1.165  
   1.166  std::string NoteBookTab::getActiveEdgeMap(int prop)
   1.167  {
   1.168 -  return mapstorage.getActiveEdgeMap(prop);
   1.169 +  return mapstorage->getActiveEdgeMap(prop);
   1.170  }
   1.171  
   1.172  std::string NoteBookTab::getActiveNodeMap(int prop)
   1.173  {
   1.174 -  return mapstorage.getActiveNodeMap(prop);
   1.175 +  return mapstorage->getActiveNodeMap(prop);
   1.176  }
   1.177  
   1.178  void NoteBookTab::registerNewEdgeMap(std::string mapname)
   1.179 @@ -220,8 +228,8 @@
   1.180  {
   1.181    if(!mapwinexists)
   1.182      {
   1.183 -      mapwin=new MapWin("Map Setup - "+name, mapstorage.getEdgeMapList(), mapstorage.getNodeMapList(), *this);
   1.184 -      mapst2mapwin=mapstorage.signal_map_win_ch().connect(sigc::mem_fun(*mapwin, &MapWin::changeEntry));
   1.185 +      mapwin=new MapWin("Map Setup - "+name, mapstorage->getEdgeMapList(), mapstorage->getNodeMapList(), *this);
   1.186 +      mapst2mapwin=mapstorage->signal_map_win_ch().connect(sigc::mem_fun(*mapwin, &MapWin::changeEntry));
   1.187        mapwin->show();
   1.188        mapwinexists=true;
   1.189      }
   1.190 @@ -244,7 +252,7 @@
   1.191      {
   1.192        double attraction, propulsation;
   1.193        int iterations;
   1.194 -      mapstorage.get_design_data(attraction, propulsation, iterations);
   1.195 +      mapstorage->get_design_data(attraction, propulsation, iterations);
   1.196        designwin=new DesignWin("Design Setup - "+name, attraction, propulsation, iterations, *this);
   1.197  
   1.198        designwin->signal_attraction().connect(sigc::mem_fun(mapstorage, &MapStorage::set_attraction));
   1.199 @@ -254,7 +262,7 @@
   1.200  
   1.201        designwin->signal_delete_event().connect(sigc::mem_fun(*this, &NoteBookTab::closeDesignWin));
   1.202  
   1.203 -      mapst2designwin=mapstorage.signal_design_win_ch().connect(sigc::mem_fun(*designwin, &DesignWin::set_data));
   1.204 +      mapst2designwin=mapstorage->signal_design_win_ch().connect(sigc::mem_fun(*designwin, &DesignWin::set_data));
   1.205  
   1.206        designwin->show();
   1.207        designwinexists=true;
   1.208 @@ -306,10 +314,10 @@
   1.209  
   1.210  void NoteBookTab::active_maps_needed()
   1.211  {
   1.212 -  mapstorage.broadcastActiveMaps();
   1.213 +  mapstorage->broadcastActiveMaps();
   1.214  }
   1.215  
   1.216  void NoteBookTab::exportGraphToEPS(std::vector<bool> options, std::string filename)
   1.217  {
   1.218 -  mapstorage.exportGraphToEPS(options, filename);
   1.219 +  mapstorage->exportGraphToEPS(options, filename);
   1.220  }