ladanyi@1606: #include "map_win.h" ladanyi@1442: #include ladanyi@1442: hegyi@1524: bool MapWin::closeIfEscapeIsPressed(GdkEventKey* e) ladanyi@1442: { hegyi@1446: if(e->keyval==GDK_Escape) hegyi@1446: { hegyi@1849: mytab.closeMapWin(); hegyi@1838: // hide(); hegyi@1446: } hegyi@1446: return true; hegyi@1446: } ladanyi@1442: hegyi@1849: MapWin::MapWin(const std::string& title, std::vector eml, std::vector nml, NoteBookTab & mw):mytab(mw) hegyi@1446: { hegyi@1446: set_title(title); hegyi@1446: set_default_size(200, 50); ladanyi@1442: hegyi@1524: signal_key_press_event().connect(sigc::mem_fun(*this, &MapWin::closeIfEscapeIsPressed)); ladanyi@1442: hegyi@1731: e_combo_array=new MapSelector * [EDGE_PROPERTY_NUM]; hegyi@1446: hegyi@1731: table=new Gtk::Table(EDGE_PROPERTY_NUM, 1, false); hegyi@1512: hegyi@1512: for(int i=0;isignal_cbt_ch().connect(sigc::bind(sigc::mem_fun(*this, &MapWin::edgeMapChanged), i)); hegyi@1891: e_combo_array[i]->signal_newmapwin_needed().connect(sigc::mem_fun(*this, &MapWin::newMapWinNeeded)); ladanyi@1442: } ladanyi@1442: hegyi@1512: vbox.pack_start(*(new Gtk::Label("Edge properties"))); hegyi@1446: hegyi@1512: vbox.pack_start(*table); hegyi@1512: hegyi@1512: vbox.pack_start(*(new Gtk::HSeparator)); hegyi@1512: hegyi@1731: n_combo_array=new MapSelector * [NODE_PROPERTY_NUM]; hegyi@1512: hegyi@1731: table=new Gtk::Table(NODE_PROPERTY_NUM, 1, false); hegyi@1512: hegyi@1512: for(int i=0;isignal_cbt_ch().connect(sigc::bind(sigc::mem_fun(*this, &MapWin::nodeMapChanged), i)); hegyi@1891: n_combo_array[i]->signal_newmapwin_needed().connect(sigc::mem_fun(*this, &MapWin::newMapWinNeeded)); hegyi@1512: } hegyi@1512: hegyi@1512: add(vbox); hegyi@1512: hegyi@1512: vbox.pack_start(*(new Gtk::Label("Node properties"))); hegyi@1512: hegyi@1512: vbox.pack_start(*table); ladanyi@1442: ladanyi@1442: show_all_children(); ladanyi@1442: ladanyi@1442: } ladanyi@1442: hegyi@1837: void MapWin::nodeMapChanged(std::string mapname, int prop) hegyi@1837: { hegyi@1849: mytab.propertyChange(false, prop, mapname); hegyi@1837: } hegyi@1837: hegyi@1837: void MapWin::edgeMapChanged(std::string mapname, int prop) hegyi@1837: { hegyi@1849: mytab.propertyChange(true, prop, mapname); hegyi@1837: } hegyi@1837: hegyi@1891: void MapWin::newMapWinNeeded(bool itisedge) hegyi@1837: { hegyi@1891: mytab.popupNewMapWin(itisedge); hegyi@1837: } hegyi@1837: hegyi@1837: void MapWin::update(std::vector eml, std::vector nml) ladanyi@1606: { ladanyi@1606: for(int i=0;iupdate_list(eml); hegyi@1731: } ladanyi@1606: ladanyi@1606: for(int i=0;iupdate_list(nml); ladanyi@1606: } ladanyi@1606: } ladanyi@1606: hegyi@1589: void MapWin::registerNewEdgeMap(std::string newmapname) hegyi@1586: { hegyi@1589: for(int i=0;iappend_text((Glib::ustring)newmapname); hegyi@1589: } hegyi@1586: } hegyi@1586: hegyi@1589: void MapWin::registerNewNodeMap(std::string newmapname) hegyi@1586: { hegyi@1592: for(int i=0;iappend_text((Glib::ustring)newmapname); hegyi@1589: } hegyi@1586: } hegyi@1838: hegyi@1838: bool MapWin::on_delete_event(GdkEventAny * event) hegyi@1838: { hegyi@1838: event=event; hegyi@1849: mytab.closeMapWin(); hegyi@1838: return true; hegyi@1838: }