COIN-OR::LEMON - Graph Library

source: glemon-0.x/edit_win.cc @ 17:c95aff79e893

gui
Last change on this file since 17:c95aff79e893 was 15:e8c21454f125, checked in by Alpar Juttner, 19 years ago

gcc-4.0 compatibility changes
coloring.cc still generates warnings. Don't know why.

  • Property exe set to *
File size: 2.2 KB
RevLine 
[10]1#include <edit_win.h>
2#include <set>
3
4bool EditWin::close_if_escape_is_pressed(GdkEventKey* e)
5{
6  if(e->keyval==GDK_Escape)
7  {
8    hide();
9  }
10  return true;
11}
12
13EditWin::EditWin(const std::string& title, GraphDisplayerCanvas & grdispc):gdc(grdispc),table(2, 2, true)
14{
15  set_title(title);
16  set_default_size(200, 50);
[12]17  set_keep_above(true);
[10]18  signal_key_press_event().connect(sigc::mem_fun(*this, &EditWin::close_if_escape_is_pressed));
19 
[12]20  //buttons array
[15]21  buttons=new Gtk::RadioButton * [TOOL_NUM];
[12]22  for(int i=0;i<TOOL_NUM;i++)
23    {
24      buttons[i]=NULL;
25    }
26
27  Gtk::RadioButton::Group group;//=buttons[MOVE]->get_group();
28
[10]29  //New node button
[12]30  buttons[CREATE_NODE]=new Gtk::RadioButton("New Node");
31  buttons[CREATE_NODE]->set_mode(false);
32  buttons[CREATE_NODE]->set_group(group);
33  buttons[CREATE_NODE]->signal_clicked().connect
[10]34    (
35     sigc::bind
36     (
37      sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged),
38      1
39      )
40     );
[12]41  table.attach(*buttons[CREATE_NODE],0,1,0,1);
[10]42
43  //New edge button
[12]44  buttons[CREATE_EDGE]=new Gtk::RadioButton("New Edge");
45  buttons[CREATE_EDGE]->set_mode(false);
46  buttons[CREATE_EDGE]->set_group(group);
47  buttons[CREATE_EDGE]->signal_clicked().connect
[10]48    (
49     sigc::bind
50     (
51      sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged),
52      2
53      )
54     );
[12]55  table.attach(*buttons[CREATE_EDGE],1,2,0,1);
[10]56   
57  //Move button
[12]58  buttons[MOVE]=new Gtk::RadioButton("Move");
59  buttons[MOVE]->set_mode(false);
60  buttons[MOVE]->set_group(group);
61  buttons[MOVE]->signal_clicked().connect
[10]62    (
63     sigc::bind
64     (
65      sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged),
66      0
67      )
68     );
[12]69  table.attach(*buttons[MOVE],0,1,1,2);
70     
[13]71  //New edge button
72  buttons[ERASER]=new Gtk::RadioButton("Erase Item");
73  buttons[ERASER]->set_mode(false);
74  buttons[ERASER]->set_group(group);
75  buttons[ERASER]->signal_clicked().connect
76    (
77     sigc::bind
78     (
79      sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged),
80      3
81      )
82     );
83  table.attach(*buttons[ERASER],1,2,1,2);
84   
[10]85  add(table);
86
87  show_all_children();
88
89}
90
91void EditWin::makeEditorialToolChanged(int newtool)
92{
93  gdc.changeEditorialTool(newtool);
94}
Note: See TracBrowser for help on using the repository browser.