roundabout,
created on Tuesday, 25 February 2025, 15:32:52 (1740497572),
received on Tuesday, 25 February 2025, 15:32:55 (1740497575)
Author identity: vlad <vlad.muntoiu@gmail.com>
49af89f1b74f6ccb0a4cd549c756ac75305ca1c8
gpanthera.cc
@@ -71,6 +71,8 @@ namespace gPanthera {
this->window = nullptr;
this->pack_start(*this->header, Gtk::PACK_SHRINK);
this->header->show_all();
} else if(this->stack == this->get_parent()) {
this->stack->remove(*this);
}
this->stack = stack;
this->stack->add(*this, this->get_identifier());
panthera-www.cc
@@ -12,19 +12,22 @@ int main(int argc, char *argv[]) {
window.set_default_size(600, 400);
auto layout_manager = std::make_shared<gPanthera::LayoutManager>();
auto dock_stack = Gtk::make_managed<gPanthera::DockStack>(layout_manager, "Edge");
auto switcher = Gtk::make_managed<gPanthera::DockStackSwitcher>(dock_stack);
auto dock_stack_1 = Gtk::make_managed<gPanthera::DockStack>(layout_manager, "One");
auto switcher_1 = Gtk::make_managed<gPanthera::DockStackSwitcher>(dock_stack_1);
auto dock_stack_2 = Gtk::make_managed<gPanthera::DockStack>(layout_manager, "Two");
auto switcher_2 = Gtk::make_managed<gPanthera::DockStackSwitcher>(dock_stack_2);
auto pane_content = Gtk::make_managed<Gtk::Box>(Gtk::ORIENTATION_VERTICAL, 0);
pane_content->pack_start(*Gtk::make_managed<Gtk::Label>("Pane 1 content"), Gtk::PACK_EXPAND_WIDGET);
auto pane_icon = Gtk::make_managed<Gtk::Image>();
pane_icon->set_from_icon_name("go-home-symbolic", Gtk::ICON_SIZE_MENU);
auto pane = Gtk::make_managed<gPanthera::DockablePane>(layout_manager, *pane_content, "pane1", "Pane 1", pane_icon);
dock_stack->add_pane(*pane);
switcher->update_buttons();
dock_stack_1->add_pane(*pane);
Gtk::Box vbox(Gtk::ORIENTATION_VERTICAL);
vbox.pack_start(*switcher, Gtk::PACK_SHRINK);
vbox.pack_start(*dock_stack);
vbox.pack_start(*switcher_1, Gtk::PACK_SHRINK);
vbox.pack_start(*dock_stack_1);
vbox.pack_start(*dock_stack_2);
vbox.pack_start(*switcher_2, Gtk::PACK_SHRINK);
window.add(vbox);
window.show_all();