Browse Source

add get_label_text, use lambda function on switch_page, rename page_number variables

CPP-GTK4
yggverse 3 months ago
parent
commit
fbfb8039b0
  1. 49
      src/app/browser/main/tab.cpp
  2. 11
      src/app/browser/main/tab.hpp

49
src/app/browser/main/tab.cpp

@ -15,9 +15,9 @@ Tab::Tab()
signal_switch_page().connect( signal_switch_page().connect(
[this](Gtk::Widget * page, guint page_num) [this](Gtk::Widget * page, guint page_num)
{ {
on_switch( // Refresh window elements, e.g. tab label to header bar
page, activate_action(
page_num "win.refresh"
); );
} }
); );
@ -25,6 +25,26 @@ Tab::Tab()
Tab::~Tab() = default; Tab::~Tab() = default;
// Getters
Glib::ustring Tab::get_label_text(
int page_number
) {
auto page = get_nth_page(
page_number
);
if (page != nullptr)
{
return get_tab_label_text(
* get_nth_page(
page_number
)
);
}
return ""; // @TODO
};
// Actions // Actions
void Tab::append( void Tab::append(
const char * request, const char * request,
@ -92,22 +112,17 @@ void Tab::close_all()
} }
void Tab::update( void Tab::update(
int number int page_number
) { ) {
auto page = get_nth_page( auto page = get_nth_page(
number page_number
);
page->activate_action(
"page.update"
); );
} // @TODO if (page != nullptr)
{
page->activate_action(
"page.update"
);
}
// Events } // @TODO
void Tab::on_switch(
Gtk::Widget * page,
guint page_num
) {
// @TODO update header text
}

11
src/app/browser/main/tab.hpp

@ -2,24 +2,23 @@
#define APP_BROWSER_MAIN_TAB_HPP #define APP_BROWSER_MAIN_TAB_HPP
#include <glibmm/i18n.h> #include <glibmm/i18n.h>
#include <gtkmm/widget.h> #include <glibmm/ustring.h>
#include <gtkmm/notebook.h> #include <gtkmm/notebook.h>
namespace app::browser::main namespace app::browser::main
{ {
class Tab : public Gtk::Notebook class Tab : public Gtk::Notebook
{ {
void on_switch(
Gtk::Widget * page,
guint page_num
);
public: public:
Tab(); Tab();
~Tab(); ~Tab();
Glib::ustring get_label_text(
int page_number
);
void append( void append(
const char * request, const char * request,
bool open, bool open,

Loading…
Cancel
Save