COIN-OR::LEMON - Graph Library

source: glemon-0.x/main_win.cc @ 1:c69fedfbb9b3

gui
Last change on this file since 1:c69fedfbb9b3 was 1:c69fedfbb9b3, checked in by Akos Ladanyi, 15 years ago

moved the gui

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