src/gui/main_win.cc
author deba
Wed, 11 May 2005 17:36:25 +0000
changeset 1413 3f45d58969d4
permissions -rw-r--r--
Fixing invertable maps:
InvertableMap
DescriptorMap
IdMap
     1 #include <main_win.h>
     2 
     3 MainWin::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 
    55 void MainWin::showMaps()
    56 {
    57   mapwin.show();
    58 }
    59 
    60 void MainWin::quit()
    61 {
    62   hide();
    63 }
    64 
    65 void MainWin::rezoom()
    66 {
    67   gd_canvas.rezoom();
    68 }
    69