diff -r 2a9a5d7f1a16 -r 6b2b718420eb nbtab.cc --- a/nbtab.cc Wed Feb 28 15:19:20 2007 +0000 +++ b/nbtab.cc Wed Feb 28 18:20:28 2007 +0000 @@ -17,39 +17,47 @@ */ #include +#include #include +#include +#include +#include -NoteBookTab::NoteBookTab():mapwinexists(false), designwinexists(false), mapstorage(*this) + + +NoteBookTab::NoteBookTab():mapwinexists(false), designwinexists(false) { + mapstorage=new MapStorage(*this); + Gtk::ScrolledWindow *pScrolledWindow = manage(new Gtk::ScrolledWindow); gd_canvas=new GraphDisplayerCanvas(*this); pScrolledWindow->add(*gd_canvas); add(*pScrolledWindow); //connecting signals - controller character - mapstorage.signal_prop_ch().connect(sigc::mem_fun(*gd_canvas, &GraphDisplayerCanvas::propertyChange)); - mapstorage.signal_node_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewNodeMap)); - mapstorage.signal_edge_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewEdgeMap)); + mapstorage->signal_prop_ch().connect(sigc::mem_fun(*gd_canvas, &GraphDisplayerCanvas::propertyChange)); + mapstorage->signal_node_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewNodeMap)); + mapstorage->signal_edge_map_ch().connect(sigc::mem_fun(*this, &NoteBookTab::registerNewEdgeMap)); show_all_children(); show(); } void NoteBookTab::readFile(const std::string &file) { - mapstorage.readFromFile(file); - mapstorage.file_name = file; - mapstorage.modified = false; + mapstorage->readFromFile(file); + mapstorage->file_name = file; + mapstorage->modified = false; gd_canvas->drawGraph(); if(mapwinexists) { - mapwin->update(mapstorage.getEdgeMapList(), mapstorage.getNodeMapList()); + mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList()); } signal_title.emit(Glib::filename_display_basename(file)); } void NoteBookTab::newFile() { - if (mapstorage.modified) + if (mapstorage->modified) { Gtk::MessageDialog mdialog("Save changes before closing?", true, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE); @@ -68,17 +76,17 @@ } } gd_canvas->clear(); - mapstorage.clear(); + mapstorage->clear(); if(mapwinexists) { - mapwin->update(mapstorage.getEdgeMapList(), mapstorage.getNodeMapList()); + mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList()); } signal_title.emit("unsaved file"); } void NoteBookTab::openFile() { - if (mapstorage.modified) + if (mapstorage->modified) { Gtk::MessageDialog mdialog("Save changes before closing?", true, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE); @@ -102,16 +110,16 @@ if (fcdialog.run() == Gtk::RESPONSE_ACCEPT) { gd_canvas->clear(); - mapstorage.clear(); + mapstorage->clear(); Glib::ustring filename = fcdialog.get_filename(); - if (!mapstorage.readFromFile(filename)) + if (!mapstorage->readFromFile(filename)) { - mapstorage.file_name = filename; - mapstorage.modified = false; + mapstorage->file_name = filename; + mapstorage->modified = false; gd_canvas->drawGraph(); if(mapwinexists) { - mapwin->update(mapstorage.getEdgeMapList(), mapstorage.getNodeMapList()); + mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList()); } signal_title.emit(Glib::filename_display_basename(filename)); } @@ -120,14 +128,14 @@ void NoteBookTab::saveFile() { - if (mapstorage.file_name == "") { + if (mapstorage->file_name == "") { saveFileAs(); } else { - mapstorage.writeToFile(mapstorage.file_name); - mapstorage.modified = false; - signal_title.emit(Glib::filename_display_basename(mapstorage.file_name)); + mapstorage->writeToFile(mapstorage->file_name); + mapstorage->modified = false; + signal_title.emit(Glib::filename_display_basename(mapstorage->file_name)); } } @@ -139,16 +147,16 @@ if (fcdialog.run() == Gtk::RESPONSE_ACCEPT) { Glib::ustring filename = fcdialog.get_filename(); - mapstorage.file_name = filename; - mapstorage.writeToFile(filename); - mapstorage.modified = false; + mapstorage->file_name = filename; + mapstorage->writeToFile(filename); + mapstorage->modified = false; signal_title.emit(Glib::filename_display_basename(filename)); } } void NoteBookTab::close() { - if (mapstorage.modified) + if (mapstorage->modified) { Gtk::MessageDialog mdialog("Save changes before closing?", true, Gtk::MESSAGE_WARNING, Gtk::BUTTONS_NONE); @@ -167,17 +175,17 @@ } } gd_canvas->clear(); - mapstorage.clear(); + mapstorage->clear(); if(mapwinexists) { - mapwin->update(mapstorage.getEdgeMapList(), mapstorage.getNodeMapList()); + mapwin->update(mapstorage->getEdgeMapList(), mapstorage->getNodeMapList()); } signal_title.emit("unsaved file"); } void NoteBookTab::propertyChange(bool itisedge, int prop, std::string mapname) { - mapstorage.changeActiveMap(itisedge, prop, mapname); + mapstorage->changeActiveMap(itisedge, prop, mapname); } sigc::signal NoteBookTab::signal_newmap_needed() @@ -192,12 +200,12 @@ std::string NoteBookTab::getActiveEdgeMap(int prop) { - return mapstorage.getActiveEdgeMap(prop); + return mapstorage->getActiveEdgeMap(prop); } std::string NoteBookTab::getActiveNodeMap(int prop) { - return mapstorage.getActiveNodeMap(prop); + return mapstorage->getActiveNodeMap(prop); } void NoteBookTab::registerNewEdgeMap(std::string mapname) @@ -220,8 +228,8 @@ { if(!mapwinexists) { - mapwin=new MapWin("Map Setup - "+name, mapstorage.getEdgeMapList(), mapstorage.getNodeMapList(), *this); - mapst2mapwin=mapstorage.signal_map_win_ch().connect(sigc::mem_fun(*mapwin, &MapWin::changeEntry)); + mapwin=new MapWin("Map Setup - "+name, mapstorage->getEdgeMapList(), mapstorage->getNodeMapList(), *this); + mapst2mapwin=mapstorage->signal_map_win_ch().connect(sigc::mem_fun(*mapwin, &MapWin::changeEntry)); mapwin->show(); mapwinexists=true; } @@ -244,7 +252,7 @@ { double attraction, propulsation; int iterations; - mapstorage.get_design_data(attraction, propulsation, iterations); + mapstorage->get_design_data(attraction, propulsation, iterations); designwin=new DesignWin("Design Setup - "+name, attraction, propulsation, iterations, *this); designwin->signal_attraction().connect(sigc::mem_fun(mapstorage, &MapStorage::set_attraction)); @@ -254,7 +262,7 @@ designwin->signal_delete_event().connect(sigc::mem_fun(*this, &NoteBookTab::closeDesignWin)); - mapst2designwin=mapstorage.signal_design_win_ch().connect(sigc::mem_fun(*designwin, &DesignWin::set_data)); + mapst2designwin=mapstorage->signal_design_win_ch().connect(sigc::mem_fun(*designwin, &DesignWin::set_data)); designwin->show(); designwinexists=true; @@ -306,10 +314,10 @@ void NoteBookTab::active_maps_needed() { - mapstorage.broadcastActiveMaps(); + mapstorage->broadcastActiveMaps(); } void NoteBookTab::exportGraphToEPS(std::vector options, std::string filename) { - mapstorage.exportGraphToEPS(options, filename); + mapstorage->exportGraphToEPS(options, filename); }