diff -r 09b2a893fc9d -r 1db7a6dd17f8 edit_win.cc --- a/edit_win.cc Mon Jun 13 10:30:08 2005 +0000 +++ b/edit_win.cc Mon Jun 13 19:49:33 2005 +0000 @@ -14,12 +14,23 @@ { set_title(title); set_default_size(200, 50); - + set_keep_above(true); signal_key_press_event().connect(sigc::mem_fun(*this, &EditWin::close_if_escape_is_pressed)); + //buttons array + buttons=new (Gtk::RadioButton *) [TOOL_NUM]; + for(int i=0;iget_group(); + //New node button - button=new Gtk::Button("New Node"); - button->signal_clicked().connect + buttons[CREATE_NODE]=new Gtk::RadioButton("New Node"); + buttons[CREATE_NODE]->set_mode(false); + buttons[CREATE_NODE]->set_group(group); + buttons[CREATE_NODE]->signal_clicked().connect ( sigc::bind ( @@ -27,11 +38,13 @@ 1 ) ); - table.attach(*button,0,1,0,1); + table.attach(*buttons[CREATE_NODE],0,1,0,1); //New edge button - button=new Gtk::Button("New Edge"); - button->signal_clicked().connect + buttons[CREATE_EDGE]=new Gtk::RadioButton("New Edge"); + buttons[CREATE_EDGE]->set_mode(false); + buttons[CREATE_EDGE]->set_group(group); + buttons[CREATE_EDGE]->signal_clicked().connect ( sigc::bind ( @@ -39,11 +52,13 @@ 2 ) ); - table.attach(*button,1,2,0,1); + table.attach(*buttons[CREATE_EDGE],1,2,0,1); //Move button - button=new Gtk::Button("Move"); - button->signal_clicked().connect + buttons[MOVE]=new Gtk::RadioButton("Move"); + buttons[MOVE]->set_mode(false); + buttons[MOVE]->set_group(group); + buttons[MOVE]->signal_clicked().connect ( sigc::bind ( @@ -51,8 +66,8 @@ 0 ) ); - table.attach(*button,0,1,1,2); - + table.attach(*buttons[MOVE],0,1,1,2); + add(table); show_all_children();