6 #include "all_include.h"
9 #include "new_map_win.h"
11 #include <libgnomecanvasmm.h>
12 #include <libgnomecanvasmm/polygon.h>
15 ///This class is the main window of GUI.
16 ///It has menus, but the main part of it is the canvas.
17 class MainWin : public Gtk::Window
22 Gtk::Notebook notebook;
27 std::vector<NoteBookTab *> tabs;
28 std::vector<std::string> tabnames;
30 std::map<std::string, int> strinst;
32 std::set< AlgoWin* > aws;
36 ///Constructor of the \ref NoteBookTab. It creates the menu and the \ref GraphDisplayerCanvas on which the graph will be drawn.
37 ///\param title is the title of the window
40 void set_tabtitle(std::string);
42 ///ActionGroup for menu
43 Glib::RefPtr<Gtk::ActionGroup> ag;
46 Glib::RefPtr<Gtk::UIManager> uim;
48 void readFile(const std::string &);
51 Gtk::Tooltips tooltips;
53 //Call-backs of buttons
55 ///Callback for 'FileNew' action.
56 virtual void newFile();
57 ///Callback for 'FileOpen' action.
58 virtual void openFile();
59 ///Callback for 'FileSave' action.
60 virtual void saveFile();
61 ///Callback for 'FileSaveAs' action.
62 virtual void saveFileAs();
63 ///Callback for 'Close' action.
67 virtual void zoomIn();
68 virtual void zoomOut();
69 virtual void zoomFit();
70 virtual void zoom100();
72 virtual void createMapWin();
74 virtual void createAlgoWin(int);
75 virtual void deRegisterAlgoWin(AlgoWin *);
76 virtual void updateAlgoWins();
78 virtual void changeEditorialTool(int);
80 virtual void createNewMapWinAfterSignal(NoteBookTab *, bool);
81 virtual void createNewMapWin();
84 ///Callback for 'FileNewTab' action.
85 virtual void newTab();
86 virtual void closeTab();
87 virtual void onChangeTab(GtkNotebookPage*, guint);
88 virtual void onCloseTab();