ladanyi@53: #include "map_win.h" ladanyi@6: #include ladanyi@6: hegyi@30: bool MapWin::closeIfEscapeIsPressed(GdkEventKey* e) ladanyi@6: { hegyi@8: if(e->keyval==GDK_Escape) hegyi@8: { hegyi@96: mytab.closeMapWin(); hegyi@95: // hide(); hegyi@8: } hegyi@8: return true; hegyi@8: } ladanyi@6: hegyi@96: MapWin::MapWin(const std::string& title, std::vector eml, std::vector nml, NoteBookTab & mw):mytab(mw) hegyi@8: { hegyi@8: set_title(title); hegyi@8: set_default_size(200, 50); ladanyi@6: hegyi@30: signal_key_press_event().connect(sigc::mem_fun(*this, &MapWin::closeIfEscapeIsPressed)); ladanyi@6: hegyi@81: e_combo_array=new MapSelector * [EDGE_PROPERTY_NUM]; hegyi@8: hegyi@81: table=new Gtk::Table(EDGE_PROPERTY_NUM, 1, false); hegyi@28: hegyi@28: for(int i=0;isignal_cbt_ch().connect(sigc::bind(sigc::mem_fun(*this, &MapWin::edgeMapChanged), i)); hegyi@121: e_combo_array[i]->signal_newmapwin_needed().connect(sigc::mem_fun(*this, &MapWin::newMapWinNeeded)); ladanyi@6: } ladanyi@6: hegyi@28: vbox.pack_start(*(new Gtk::Label("Edge properties"))); hegyi@8: hegyi@28: vbox.pack_start(*table); hegyi@28: hegyi@28: vbox.pack_start(*(new Gtk::HSeparator)); hegyi@28: hegyi@81: n_combo_array=new MapSelector * [NODE_PROPERTY_NUM]; hegyi@28: hegyi@81: table=new Gtk::Table(NODE_PROPERTY_NUM, 1, false); hegyi@28: hegyi@28: for(int i=0;isignal_cbt_ch().connect(sigc::bind(sigc::mem_fun(*this, &MapWin::nodeMapChanged), i)); hegyi@121: n_combo_array[i]->signal_newmapwin_needed().connect(sigc::mem_fun(*this, &MapWin::newMapWinNeeded)); hegyi@28: } hegyi@28: hegyi@28: add(vbox); hegyi@28: hegyi@28: vbox.pack_start(*(new Gtk::Label("Node properties"))); hegyi@28: hegyi@28: vbox.pack_start(*table); ladanyi@6: ladanyi@6: show_all_children(); ladanyi@6: ladanyi@6: } ladanyi@6: hegyi@94: void MapWin::nodeMapChanged(std::string mapname, int prop) hegyi@94: { hegyi@96: mytab.propertyChange(false, prop, mapname); hegyi@94: } hegyi@94: hegyi@94: void MapWin::edgeMapChanged(std::string mapname, int prop) hegyi@94: { hegyi@96: mytab.propertyChange(true, prop, mapname); hegyi@94: } hegyi@94: hegyi@121: void MapWin::newMapWinNeeded(bool itisedge) hegyi@94: { hegyi@121: mytab.popupNewMapWin(itisedge); hegyi@94: } hegyi@94: hegyi@94: void MapWin::update(std::vector eml, std::vector nml) ladanyi@53: { ladanyi@53: for(int i=0;iupdate_list(eml); hegyi@81: } ladanyi@53: ladanyi@53: for(int i=0;iupdate_list(nml); ladanyi@53: } ladanyi@53: } ladanyi@53: hegyi@40: void MapWin::registerNewEdgeMap(std::string newmapname) hegyi@38: { hegyi@40: for(int i=0;iappend_text((Glib::ustring)newmapname); hegyi@40: } hegyi@38: } hegyi@38: hegyi@40: void MapWin::registerNewNodeMap(std::string newmapname) hegyi@38: { hegyi@41: for(int i=0;iappend_text((Glib::ustring)newmapname); hegyi@40: } hegyi@38: } hegyi@95: hegyi@95: bool MapWin::on_delete_event(GdkEventAny * event) hegyi@95: { hegyi@95: event=event; hegyi@96: mytab.closeMapWin(); hegyi@95: return true; hegyi@95: }