hegyi@10: #include hegyi@10: #include hegyi@10: hegyi@10: bool EditWin::close_if_escape_is_pressed(GdkEventKey* e) hegyi@10: { hegyi@10: if(e->keyval==GDK_Escape) hegyi@10: { hegyi@10: hide(); hegyi@10: } hegyi@10: return true; hegyi@10: } hegyi@10: hegyi@10: EditWin::EditWin(const std::string& title, GraphDisplayerCanvas & grdispc):gdc(grdispc),table(2, 2, true) hegyi@10: { hegyi@10: set_title(title); hegyi@10: set_default_size(200, 50); hegyi@10: hegyi@10: signal_key_press_event().connect(sigc::mem_fun(*this, &EditWin::close_if_escape_is_pressed)); hegyi@10: hegyi@10: //New node button hegyi@10: button=new Gtk::Button("New Node"); hegyi@10: button->signal_clicked().connect hegyi@10: ( hegyi@10: sigc::bind hegyi@10: ( hegyi@10: sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged), hegyi@10: 1 hegyi@10: ) hegyi@10: ); hegyi@10: table.attach(*button,0,1,0,1); hegyi@10: hegyi@10: //New edge button hegyi@10: button=new Gtk::Button("New Edge"); hegyi@10: button->signal_clicked().connect hegyi@10: ( hegyi@10: sigc::bind hegyi@10: ( hegyi@10: sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged), hegyi@10: 2 hegyi@10: ) hegyi@10: ); hegyi@10: table.attach(*button,1,2,0,1); hegyi@10: hegyi@10: //Move button hegyi@10: button=new Gtk::Button("Move"); hegyi@10: button->signal_clicked().connect hegyi@10: ( hegyi@10: sigc::bind hegyi@10: ( hegyi@10: sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged), hegyi@10: 0 hegyi@10: ) hegyi@10: ); hegyi@10: table.attach(*button,0,1,1,2); hegyi@10: hegyi@10: add(table); hegyi@10: hegyi@10: show_all_children(); hegyi@10: hegyi@10: } hegyi@10: hegyi@10: void EditWin::makeEditorialToolChanged(int newtool) hegyi@10: { hegyi@10: gdc.changeEditorialTool(newtool); hegyi@10: }