main_win.cc
author ladanyi
Mon, 23 May 2005 04:48:14 +0000
branchgui
changeset 3 bd60a2909c53
child 5 b7c36be1e35c
permissions -rw-r--r--
trunk/src/* move to trunk/
ladanyi@1
     1
#include <main_win.h>
ladanyi@1
     2
ladanyi@1
     3
MainWin::MainWin(const std::string& title, Graph & graph, CoordinatesMap & cm, MapStorage & ms):mapwin("Map Setup", ms, gd_canvas),gd_canvas(graph, cm, ms)
ladanyi@1
     4
{
ladanyi@1
     5
  set_title (title);
ladanyi@1
     6
  set_default_size(WIN_WIDTH,WIN_HEIGHT);
ladanyi@1
     7
  add(vbox);
ladanyi@1
     8
ladanyi@1
     9
  ag=Gtk::ActionGroup::create();
ladanyi@1
    10
  ag->add( Gtk::Action::create("ShowMenu", "_Show") );
ladanyi@1
    11
  ag->add( Gtk::Action::create("ShowMaps", "_Maps"), sigc::mem_fun(*this, &MainWin::showMaps));
ladanyi@1
    12
  ag->add( Gtk::Action::create("FileMenu", "_File") );
ladanyi@1
    13
  ag->add( Gtk::Action::create("FileQuit", "_Quit"), sigc::mem_fun(*this, &MainWin::quit));
ladanyi@1
    14
  ag->add( Gtk::Action::create("ZoomMenu", "_Zoom") );
ladanyi@1
    15
  ag->add( Gtk::Action::create("ZoomRezoom", "_Rezoom"), sigc::mem_fun(*this, &MainWin::rezoom)); //!!!!!!
ladanyi@1
    16
ladanyi@1
    17
  uim=Gtk::UIManager::create();
ladanyi@1
    18
  uim->insert_action_group(ag);
ladanyi@1
    19
  add_accel_group(uim->get_accel_group());
ladanyi@1
    20
ladanyi@1
    21
  try
ladanyi@1
    22
  {
ladanyi@1
    23
ladanyi@1
    24
    Glib::ustring ui_info =
ladanyi@1
    25
      "<ui>"
ladanyi@1
    26
      "  <menubar name='MenuBar'>"
ladanyi@1
    27
      "    <menu action='FileMenu'>"
ladanyi@1
    28
      "      <menuitem action='FileQuit'/>"
ladanyi@1
    29
      "    </menu>"
ladanyi@1
    30
      "    <menu action='ShowMenu'>"
ladanyi@1
    31
      "      <menuitem action='ShowMaps'/>"
ladanyi@1
    32
      "    </menu>"
ladanyi@1
    33
      "    <menu action='ZoomMenu'>"
ladanyi@1
    34
      "      <menuitem action='ZoomRezoom'/>"
ladanyi@1
    35
      "    </menu>"
ladanyi@1
    36
      "  </menubar>"
ladanyi@1
    37
      "</ui>";
ladanyi@1
    38
ladanyi@1
    39
    uim->add_ui_from_string(ui_info);
ladanyi@1
    40
ladanyi@1
    41
  }
ladanyi@1
    42
  catch(const Glib::Error& ex)
ladanyi@1
    43
  {
ladanyi@1
    44
    std::cerr << "building menus failed: " <<  ex.what();
ladanyi@1
    45
  }
ladanyi@1
    46
ladanyi@1
    47
  Gtk::Widget* menubar = uim->get_widget("/MenuBar");
ladanyi@1
    48
  if(menubar)vbox.pack_start(*menubar, Gtk::PACK_SHRINK);
ladanyi@1
    49
ladanyi@1
    50
  vbox.pack_start(gd_canvas);
ladanyi@1
    51
ladanyi@1
    52
  show_all_children();
ladanyi@1
    53
}
ladanyi@1
    54
ladanyi@1
    55
void MainWin::showMaps()
ladanyi@1
    56
{
ladanyi@1
    57
  mapwin.show();
ladanyi@1
    58
}
ladanyi@1
    59
ladanyi@1
    60
void MainWin::quit()
ladanyi@1
    61
{
ladanyi@1
    62
  hide();
ladanyi@1
    63
}
ladanyi@1
    64
ladanyi@1
    65
void MainWin::rezoom()
ladanyi@1
    66
{
ladanyi@1
    67
  gd_canvas.rezoom();
ladanyi@1
    68
}
ladanyi@1
    69