8 #include "all_include.h"
9 #include "mapstorage.h"
11 #include "new_map_win.h"
12 #include "graph_displayer_canvas.h"
13 #include <libgnomecanvasmm.h>
14 #include <libgnomecanvasmm/polygon.h>
16 ///This class is the main window of GUI.
17 ///It has menus, but the main part of it is the canvas.
18 class MainWin : public Gtk::Window
21 ///Constructor of the \ref MainWin. It creates the menu and the \ref GraphDisplayerCanvas on which the graph will be drawn.
22 ///\param title is the title of the window
25 MapStorage mapstorage;
27 void readFile(const std::string &);
33 ///The graph will be drawn on this \ref GraphDisplayerCanvas
34 GraphDisplayerCanvas * gd_canvas;
36 ///ActionGroup for menu
37 Glib::RefPtr<Gtk::ActionGroup> ag;
40 Glib::RefPtr<Gtk::UIManager> uim;
46 Gtk::Tooltips tooltips;
48 ///Callback for 'FileNew' action.
49 virtual void newFile();
50 ///Callback for 'FileOpen' action.
51 virtual void openFile();
52 ///Callback for 'FileSave' action.
53 virtual void saveFile();
54 ///Callback for 'FileSaveAs' action.
55 virtual void saveFileAs();
56 ///Callback for 'Close' action.
60 void propertyChange(bool, int, std::string);
61 void popupNewMapWin(bool, int);
63 std::string getActiveEdgeMap(int);
64 std::string getActiveNodeMap(int);
66 void registerNewEdgeMap(std::string);
67 void registerNewNodeMap(std::string);