edit_win.cc
author hegyi
Mon, 13 Jun 2005 10:30:08 +0000
branchgui
changeset 11 09b2a893fc9d
child 12 1db7a6dd17f8
permissions -rwxr-xr-x
Edge creation is available.
hegyi@10
     1
#include <edit_win.h>
hegyi@10
     2
#include <set>
hegyi@10
     3
hegyi@10
     4
bool EditWin::close_if_escape_is_pressed(GdkEventKey* e)
hegyi@10
     5
{
hegyi@10
     6
  if(e->keyval==GDK_Escape)
hegyi@10
     7
  {
hegyi@10
     8
    hide();
hegyi@10
     9
  }
hegyi@10
    10
  return true;
hegyi@10
    11
}
hegyi@10
    12
hegyi@10
    13
EditWin::EditWin(const std::string& title, GraphDisplayerCanvas & grdispc):gdc(grdispc),table(2, 2, true)
hegyi@10
    14
{
hegyi@10
    15
  set_title(title);
hegyi@10
    16
  set_default_size(200, 50);
hegyi@10
    17
hegyi@10
    18
  signal_key_press_event().connect(sigc::mem_fun(*this, &EditWin::close_if_escape_is_pressed));
hegyi@10
    19
  
hegyi@10
    20
  //New node button
hegyi@10
    21
  button=new Gtk::Button("New Node");
hegyi@10
    22
  button->signal_clicked().connect
hegyi@10
    23
    (
hegyi@10
    24
     sigc::bind
hegyi@10
    25
     (
hegyi@10
    26
      sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged),
hegyi@10
    27
      1
hegyi@10
    28
      )
hegyi@10
    29
     );
hegyi@10
    30
  table.attach(*button,0,1,0,1);
hegyi@10
    31
hegyi@10
    32
  //New edge button
hegyi@10
    33
  button=new Gtk::Button("New Edge");
hegyi@10
    34
  button->signal_clicked().connect
hegyi@10
    35
    (
hegyi@10
    36
     sigc::bind
hegyi@10
    37
     (
hegyi@10
    38
      sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged),
hegyi@10
    39
      2
hegyi@10
    40
      )
hegyi@10
    41
     );
hegyi@10
    42
  table.attach(*button,1,2,0,1);
hegyi@10
    43
    
hegyi@10
    44
  //Move button
hegyi@10
    45
  button=new Gtk::Button("Move");
hegyi@10
    46
  button->signal_clicked().connect
hegyi@10
    47
    (
hegyi@10
    48
     sigc::bind
hegyi@10
    49
     (
hegyi@10
    50
      sigc::mem_fun(*this, &EditWin::makeEditorialToolChanged),
hegyi@10
    51
      0
hegyi@10
    52
      )
hegyi@10
    53
     );
hegyi@10
    54
  table.attach(*button,0,1,1,2);
hegyi@10
    55
    
hegyi@10
    56
  add(table);
hegyi@10
    57
hegyi@10
    58
  show_all_children();
hegyi@10
    59
hegyi@10
    60
}
hegyi@10
    61
hegyi@10
    62
void EditWin::makeEditorialToolChanged(int newtool)
hegyi@10
    63
{
hegyi@10
    64
  gdc.changeEditorialTool(newtool);
hegyi@10
    65
}