roundabout,
created on Monday, 10 March 2025, 16:55:17 (1741625717),
received on Monday, 10 March 2025, 16:55:20 (1741625720)
Author identity: vlad <vlad.muntoiu@gmail.com>
fc0f822f395b048582c7ff93d9d7958cca7b7ac4
gpanthera.cc
@@ -200,6 +200,9 @@ namespace gPanthera {
stacks.erase(std::ranges::remove(stacks, stack).begin(), stacks.end());
}
BaseStack::BaseStack() : Gtk::Stack() {
}
DockStack::DockStack(std::shared_ptr<LayoutManager> layout, const Glib::ustring &name) : BaseStack(), layout(layout), name(name) {
auto empty_child = Gtk::make_managed<Gtk::Box>(Gtk::Orientation::VERTICAL, 0);
this->add(*empty_child, "");
@@ -376,12 +379,17 @@ namespace gPanthera {
child.redock(this);
}
void DockStack::add(Gtk::Widget &child, const Glib::ustring &name) {
void BaseStack::add(Gtk::Widget &child, const Glib::ustring &name) {
Gtk::Stack::add(child, name);
signal_child_added.emit(&child);
}
void DockStack::remove(Gtk::Widget &child) {
void BaseStack::add(Gtk::Widget &child) {
Gtk::Stack::add(child);
signal_child_added.emit(&child);
}
void BaseStack::remove(Gtk::Widget &child) {
Gtk::Stack::remove(child);
signal_child_removed.emit(&child);
}
gpanthera.hh
@@ -63,6 +63,11 @@ namespace gPanthera {
public:
sigc::signal<void(Gtk::Widget*)> signal_child_added;
sigc::signal<void(Gtk::Widget*)> signal_child_removed;
BaseStack();
void add(Gtk::Widget &child, const Glib::ustring &name);
void remove(Gtk::Widget &child);
void add(Gtk::Widget &child);
void add(Gtk::Widget &child, const Glib::ustring &name, const Glib::ustring &title) = delete;
};
class DockStack : public BaseStack {
@@ -73,10 +78,6 @@ namespace gPanthera {
explicit DockStack(std::shared_ptr<LayoutManager> layout, const Glib::ustring &name);
void add_pane(DockablePane &child);
void add(Gtk::Widget &child, const Glib::ustring &name);
void remove(Gtk::Widget &child);
void add(Gtk::Widget &child) = delete;
void add(Gtk::Widget &child, const Glib::ustring &name, const Glib::ustring &title) = delete;
};
class DockButton : public Gtk::Button {