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()); |