roundabout,
created on Monday, 10 March 2025, 18:07:37 (1741630057),
received on Monday, 10 March 2025, 18:07:39 (1741630059)
Author identity: vlad <vlad.muntoiu@gmail.com>
3441ed898fd6688495d3225567a5bfad7fc1315b
gpanthera.cc
@@ -379,6 +379,15 @@ namespace gPanthera {
child.redock(this); } void ContentManager::add_stack(ContentStack *stack) { this->stacks.push_back(stack); } void ContentManager::remove_stack(ContentStack *stack) { this->stacks.erase(std::ranges::remove(this->stacks, stack).begin(), this->stacks.end()); } void BaseStack::add(Gtk::Widget &child, const Glib::ustring &name) { Gtk::Stack::add(child, name); signal_child_added.emit(&child);
@@ -393,4 +402,9 @@ namespace gPanthera {
Gtk::Stack::remove(child); signal_child_removed.emit(&child); } ContentStack::ContentStack(std::shared_ptr<ContentManager> content_manager) : BaseStack(), content_manager(std::move(content_manager)) { this->content_manager->add_stack(this); }} // namespace gPanthera
gpanthera.hh
@@ -103,6 +103,26 @@ namespace gPanthera {
DockStack *get_stack() const; ~DockStackSwitcher() override; }; class ContentStack; class ContentManager : public Glib::ObjectBase { private: public: std::vector<ContentStack*> stacks; ContentManager(); void add_stack(ContentStack *stack); void remove_stack(ContentStack *stack); }; class ContentStack : public BaseStack { private: std::shared_ptr<ContentManager> content_manager; public: explicit ContentStack(std::shared_ptr<ContentManager> content_manager); void add_page(Gtk::Widget &child); };} // namespace gPanthera #endif // GPANTHERA_LIBRARY_H