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