#ifndef APP_BROWSER_MAIN_HPP #define APP_BROWSER_MAIN_HPP #include #include #include #include #include #include #include namespace app::browser { namespace main { class Tab; } class Main : public Gtk::Box { // Components main::Tab * mainTab; // Defaults const bool HOMOGENEOUS = true; public: Main( sqlite3 * db, const Glib::RefPtr & ACTION__UPDATE, const Glib::RefPtr & ACTION__MAIN_TAB_CLOSE_ACTIVE, const Glib::RefPtr & ACTION__MAIN_TAB_CLOSE_ALL, const Glib::RefPtr & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_BACK, const Glib::RefPtr & ACTION__MAIN_TAB_PAGE_NAVIGATION_HISTORY_FORWARD, const Glib::RefPtr & ACTION__MAIN_TAB_PAGE_NAVIGATION_RELOAD ); // Actions void clean(); void restore(); void save(); void tab_append(); void tab_close_all(); void tab_close_left(); void tab_close_right(); void tab_close(); void tab_page_navigation_reload(); void tab_page_navigation_history_back(); void tab_page_navigation_history_forward(); void update(); // Getters Glib::ustring get_tab_page_title(); Glib::ustring get_tab_page_description(); }; } #endif // APP_BROWSER_MAIN_HPP