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 }