ladanyi@1442: // -*- C++ -*- // ladanyi@1442: ladanyi@1442: #ifndef MAIN_WIN_H ladanyi@1442: #define MAIN_WIN_H ladanyi@1442: ladanyi@1606: #include "all_include.h" ladanyi@1606: #include "map_win.h" ladanyi@1606: #include "new_map_win.h" hegyi@1849: #include "nbtab.h" ladanyi@1442: #include ladanyi@1442: #include ladanyi@1442: hegyi@1849: ladanyi@1442: ///This class is the main window of GUI. ladanyi@1442: ///It has menus, but the main part of it is the canvas. ladanyi@1442: class MainWin : public Gtk::Window ladanyi@1442: { hegyi@1849: ///Container hegyi@1849: Gtk::VBox vbox; hegyi@1849: hegyi@1849: Gtk::Notebook notebook; hegyi@1849: hegyi@1849: int active_tool; hegyi@1849: hegyi@1849: int active_tab; hegyi@1849: std::vector tabs; hegyi@1849: std::vector tabnames; hegyi@1849: ladanyi@1442: public: hegyi@1849: hegyi@1849: ///Constructor of the \ref NoteBookTab. It creates the menu and the \ref GraphDisplayerCanvas on which the graph will be drawn. ladanyi@1442: ///\param title is the title of the window ladanyi@1650: MainWin(); ladanyi@1606: hegyi@1849: void set_tabtitle(std::string); ladanyi@1442: ladanyi@1442: ///ActionGroup for menu ladanyi@1442: Glib::RefPtr ag; ladanyi@1442: ladanyi@1442: ///UIManager for menu ladanyi@1442: Glib::RefPtr uim; ladanyi@1442: hegyi@1849: void readFile(const std::string &); ladanyi@1442: hegyi@1601: ///Tooltips hegyi@1601: Gtk::Tooltips tooltips; hegyi@1601: hegyi@1849: //Call-backs of buttons hegyi@1849: ladanyi@1442: ///Callback for 'FileNew' action. ladanyi@1442: virtual void newFile(); ladanyi@1442: ///Callback for 'FileOpen' action. ladanyi@1442: virtual void openFile(); ladanyi@1442: ///Callback for 'FileSave' action. ladanyi@1442: virtual void saveFile(); ladanyi@1442: ///Callback for 'FileSaveAs' action. ladanyi@1442: virtual void saveFileAs(); ladanyi@1606: ///Callback for 'Close' action. ladanyi@1606: virtual void close(); hegyi@1837: hegyi@1849: //Toolbar hegyi@1849: virtual void zoomIn(); hegyi@1849: virtual void zoomOut(); hegyi@1849: virtual void zoomFit(); hegyi@1849: virtual void zoom100(); hegyi@1837: hegyi@1849: virtual void createMapWin(); hegyi@1837: hegyi@1849: virtual void changeEditorialTool(int); hegyi@1837: hegyi@1849: virtual void createNewMapWinAfterSignal(NoteBookTab *, bool); hegyi@1849: virtual void createNewMapWin(); hegyi@1849: hegyi@1849: //Notebook handlers hegyi@1849: ///Callback for 'FileNewTab' action. hegyi@1849: virtual void newTab(); hegyi@1856: virtual void closeTab(); hegyi@1849: virtual void onChangeTab(GtkNotebookPage*, guint); hegyi@1849: virtual void onCloseTab(); hegyi@1849: hegyi@1849: ladanyi@1442: }; ladanyi@1442: ladanyi@1442: #endif //MAIN_WIN_H