#ifndef JUCI_NOTEBOOK_H_ #define JUCI_NOTEBOOK_H_ #include #include "gtkmm.h" #include "source.h" #include #include #include #include #include "directories.h" class Notebook : public Gtk::Notebook { public: Notebook(Directories &directories); Source::View* get_view(int page); size_t get_index(int page); int size(); Source::View* get_current_view(); bool close_current_page(); void open(const boost::filesystem::path &file_path); bool save(int page, bool reparse_needed=false); bool save_current(); private: bool save_modified_dialog(); Directories &directories; std::vector source_views; //Is NOT freed in destructor, this is intended for quick program exit. std::vector > source_maps; std::vector > scrolled_windows; std::vector > hboxes; }; #endif // JUCI_NOTEBOOK_H_