main_win.cc
branchgui
changeset 60 3e58623c588d
parent 57 1f158566c3bf
child 61 d5668800f774
equal deleted inserted replaced
14:c7ec74016be8 15:5e962aabb057
     5   newmapwin("Creating new map", gd_canvas), gd_canvas(mapstorage, mapwin, (Gtk::Window *)this)
     5   newmapwin("Creating new map", gd_canvas), gd_canvas(mapstorage, mapwin, (Gtk::Window *)this)
     6 {
     6 {
     7   set_title (title);
     7   set_title (title);
     8   set_default_size(WIN_WIDTH,WIN_HEIGHT);
     8   set_default_size(WIN_WIDTH,WIN_HEIGHT);
     9   add(vbox);
     9   add(vbox);
       
    10 
       
    11 
       
    12   // custom icons for the toolbar
       
    13 
       
    14   Glib::RefPtr<Gtk::IconFactory> p_icon_factory = Gtk::IconFactory::create();
       
    15  
       
    16   std::vector<std::string> icon_path;
       
    17   icon_path.push_back(DATADIR);
       
    18   icon_path.push_back("pixmaps");
       
    19   icon_path.push_back("gd");
       
    20 
       
    21   std::vector<std::string> move_icon_path(icon_path);
       
    22   move_icon_path.push_back("move.png");
       
    23   Gtk::IconSource move_icon_source;
       
    24   move_icon_source.set_filename(Glib::build_filename(move_icon_path));
       
    25   Gtk::IconSet move_icon_set;
       
    26   move_icon_set.add_source(move_icon_source);
       
    27   p_icon_factory->add(Gtk::StockID("gd-move"), move_icon_set);
       
    28 
       
    29   std::vector<std::string> addnode_icon_path(icon_path);
       
    30   addnode_icon_path.push_back("addnode.png");
       
    31   Gtk::IconSource addnode_icon_source;
       
    32   addnode_icon_source.set_filename(Glib::build_filename(addnode_icon_path));
       
    33   Gtk::IconSet addnode_icon_set;
       
    34   addnode_icon_set.add_source(addnode_icon_source);
       
    35   p_icon_factory->add(Gtk::StockID("gd-addnode"), addnode_icon_set);
       
    36 
       
    37   std::vector<std::string> addlink_icon_path(icon_path);
       
    38   addlink_icon_path.push_back("addlink.png");
       
    39   Gtk::IconSource addlink_icon_source;
       
    40   addlink_icon_source.set_filename(Glib::build_filename(addlink_icon_path));
       
    41   Gtk::IconSet addlink_icon_set;
       
    42   addlink_icon_set.add_source(addlink_icon_source);
       
    43   p_icon_factory->add(Gtk::StockID("gd-addlink"), addlink_icon_set);
       
    44 
       
    45   std::vector<std::string> delete_icon_path(icon_path);
       
    46   delete_icon_path.push_back("delete.png");
       
    47   Gtk::IconSource delete_icon_source;
       
    48   delete_icon_source.set_filename(Glib::build_filename(delete_icon_path));
       
    49   Gtk::IconSet delete_icon_set;
       
    50   delete_icon_set.add_source(delete_icon_source);
       
    51   p_icon_factory->add(Gtk::StockID("gd-delete"), delete_icon_set);
       
    52 
       
    53   std::vector<std::string> editlink_icon_path(icon_path);
       
    54   editlink_icon_path.push_back("editlink.png");
       
    55   Gtk::IconSource editlink_icon_source;
       
    56   editlink_icon_source.set_filename(Glib::build_filename(editlink_icon_path));
       
    57   Gtk::IconSet editlink_icon_set;
       
    58   editlink_icon_set.add_source(editlink_icon_source);
       
    59   p_icon_factory->add(Gtk::StockID("gd-editlink"), editlink_icon_set);
       
    60 
       
    61   std::vector<std::string> editnode_icon_path(icon_path);
       
    62   editnode_icon_path.push_back("editnode.png");
       
    63   Gtk::IconSource editnode_icon_source;
       
    64   editnode_icon_source.set_filename(Glib::build_filename(editnode_icon_path));
       
    65   Gtk::IconSet editnode_icon_set;
       
    66   editnode_icon_set.add_source(editnode_icon_source);
       
    67   p_icon_factory->add(Gtk::StockID("gd-editnode"), editnode_icon_set);
       
    68 
       
    69   std::vector<std::string> newmap_icon_path(icon_path);
       
    70   newmap_icon_path.push_back("newmap.png");
       
    71   Gtk::IconSource newmap_icon_source;
       
    72   newmap_icon_source.set_filename(Glib::build_filename(newmap_icon_path));
       
    73   Gtk::IconSet newmap_icon_set;
       
    74   newmap_icon_set.add_source(newmap_icon_source);
       
    75   p_icon_factory->add(Gtk::StockID("gd-newmap"), newmap_icon_set);
       
    76 
       
    77   p_icon_factory->add_default();
       
    78   
    10 
    79 
    11   ag=Gtk::ActionGroup::create();
    80   ag=Gtk::ActionGroup::create();
    12 
    81 
    13   ag->add( Gtk::Action::create("FileMenu", "_File") );
    82   ag->add( Gtk::Action::create("FileMenu", "_File") );
    14   ag->add( Gtk::Action::create("FileNew", Gtk::Stock::NEW),
    83   ag->add( Gtk::Action::create("FileNew", Gtk::Stock::NEW),
    37   ag->add( Gtk::Action::create("ShowMenu", "_Show") );
   106   ag->add( Gtk::Action::create("ShowMenu", "_Show") );
    38   ag->add( Gtk::Action::create("ShowMaps", "_Maps"),
   107   ag->add( Gtk::Action::create("ShowMaps", "_Maps"),
    39       sigc::mem_fun(this->mapwin, &MapWin::show));
   108       sigc::mem_fun(this->mapwin, &MapWin::show));
    40 
   109 
    41   Gtk::RadioAction::Group tool_group;
   110   Gtk::RadioAction::Group tool_group;
    42   ag->add( Gtk::RadioAction::create(tool_group, "MoveItem", Gtk::Stock::CONVERT, "Move"),
   111   ag->add( Gtk::RadioAction::create(tool_group, "MoveItem", Gtk::StockID("gd-move"), "Move"),
    43       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 0) );
   112       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 0) );
    44   ag->add( Gtk::RadioAction::create(tool_group, "CreateNode", Gtk::Stock::NO, "Create node"),
   113   ag->add( Gtk::RadioAction::create(tool_group, "CreateNode", Gtk::StockID("gd-addnode"), "Create node"),
    45       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 1) );
   114       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 1) );
    46   ag->add( Gtk::RadioAction::create(tool_group, "CreateEdge", Gtk::Stock::REMOVE, "Create edge"),
   115   ag->add( Gtk::RadioAction::create(tool_group, "CreateEdge", Gtk::StockID("gd-addlink"), "Create edge"),
    47       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 2) );
   116       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 2) );
    48   ag->add( Gtk::RadioAction::create(tool_group, "EraseItem", Gtk::Stock::DELETE, "Delete"),
   117   ag->add( Gtk::RadioAction::create(tool_group, "EraseItem", Gtk::StockID("gd-delete"), "Delete"),
    49       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 3) );
   118       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 3) );
    50   ag->add( Gtk::Action::create("EditEdgeMap", Gtk::Stock::PROPERTIES),
   119 
       
   120   ag->add( Gtk::RadioAction::create(tool_group, "EditEdgeMap", Gtk::StockID("gd-editlink"), "Edit edge map"),
    51       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 4) );
   121       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 4) );
    52   ag->add( Gtk::Action::create("EditNodeMap", Gtk::Stock::PREFERENCES),
   122   ag->add( Gtk::RadioAction::create(tool_group, "EditNodeMap", Gtk::StockID("gd-editnode"), "Edit node map"),
    53       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 5) );
   123       sigc::bind( sigc::mem_fun ( this->gd_canvas, &GraphDisplayerCanvas::changeEditorialTool ), 5) );
    54   ag->add( Gtk::Action::create("AddMap", Gtk::Stock::NEW),
   124 
       
   125   ag->add( Gtk::Action::create("AddMap", Gtk::StockID("gd-newmap")),
    55       sigc::mem_fun ( this->newmapwin, &NewMapWin::show ) );
   126       sigc::mem_fun ( this->newmapwin, &NewMapWin::show ) );
    56 
   127 
    57   uim=Gtk::UIManager::create();
   128   uim=Gtk::UIManager::create();
    58   uim->insert_action_group(ag);
   129   uim->insert_action_group(ag);
    59   add_accel_group(uim->get_accel_group());
   130   add_accel_group(uim->get_accel_group());
    97       "    <toolitem action='CreateNode' />"
   168       "    <toolitem action='CreateNode' />"
    98       "    <toolitem action='CreateEdge' />"
   169       "    <toolitem action='CreateEdge' />"
    99       "    <toolitem action='EraseItem' />"
   170       "    <toolitem action='EraseItem' />"
   100       "    <toolitem action='EditEdgeMap' />"
   171       "    <toolitem action='EditEdgeMap' />"
   101       "    <toolitem action='EditNodeMap' />"
   172       "    <toolitem action='EditNodeMap' />"
       
   173       "    <separator />"
   102       "    <toolitem action='AddMap' />"
   174       "    <toolitem action='AddMap' />"
   103       "  </toolbar>"
   175       "  </toolbar>"
   104       "</ui>";
   176       "</ui>";
   105 
   177 
   106     uim->add_ui_from_string(ui_info);
   178     uim->add_ui_from_string(ui_info);