Yoda/src/app/browser/main/tab/data/navbar.hpp

52 lines
1.1 KiB
C++
Raw Normal View History

2024-08-13 08:28:33 +03:00
#ifndef APP_BROWSER_MAIN_TAB_DATA_NAVBAR_HPP
#define APP_BROWSER_MAIN_TAB_DATA_NAVBAR_HPP
2024-08-14 09:16:45 +03:00
#include <giomm/simpleactiongroup.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
2024-08-13 08:28:33 +03:00
#include <gtkmm/box.h>
2024-08-14 09:16:45 +03:00
#include <sigc++/functors/mem_fun.h>
2024-08-13 08:28:33 +03:00
namespace app::browser::main::tab::data
{
2024-08-13 08:40:17 +03:00
namespace navbar
{
class Base;
2024-08-13 09:54:11 +03:00
class Bookmark;
2024-08-13 09:47:59 +03:00
class History;
2024-08-13 09:05:59 +03:00
class Update;
2024-08-13 09:59:58 +03:00
class Request;
2024-08-13 08:40:17 +03:00
}
2024-08-13 08:28:33 +03:00
class Navbar : public Gtk::Box
{
2024-08-13 08:40:17 +03:00
private:
2024-08-14 09:16:45 +03:00
// Actions
Glib::RefPtr<Gio::SimpleActionGroup> action_group;
2024-08-13 09:05:59 +03:00
// Components
2024-08-13 08:40:17 +03:00
navbar::Base * base;
2024-08-13 09:54:11 +03:00
navbar::Bookmark * bookmark;
2024-08-13 09:47:59 +03:00
navbar::History * history;
2024-08-13 09:59:58 +03:00
navbar::Request * request;
2024-08-13 09:05:59 +03:00
navbar::Update * update;
2024-08-13 08:40:17 +03:00
2024-08-14 09:16:45 +03:00
// Defaults
const int SPACING = 8;
const int MARGIN = 8;
2024-08-13 08:28:33 +03:00
public:
Navbar();
~Navbar();
2024-08-14 09:16:45 +03:00
// Actions
void refresh();
// Getters
Glib::ustring get_request_value();
2024-08-13 08:28:33 +03:00
};
}
#endif // APP_BROWSER_MAIN_TAB_DATA_NAVBAR_HPP