panthera-www.cc
C source, ASCII text
1#include "gpanthera.hh" 2#include <gtkmm.h> 3#include <glibmm.h> 4#include <glibmm/ustring.h> 5#include <iostream> 6#include <memory> 7 8int main(int argc, char *argv[]) { 9auto app = Gtk::Application::create(argc, argv, "org.gpanthera.demo"); 10 11Gtk::Window window; 12window.set_default_size(600, 400); 13 14auto layout_manager = std::make_shared<gPanthera::LayoutManager>(); 15auto dock_stack_1 = Gtk::make_managed<gPanthera::DockStack>(layout_manager, "One"); 16auto switcher_1 = Gtk::make_managed<gPanthera::DockStackSwitcher>(dock_stack_1); 17auto dock_stack_2 = Gtk::make_managed<gPanthera::DockStack>(layout_manager, "Two"); 18auto switcher_2 = Gtk::make_managed<gPanthera::DockStackSwitcher>(dock_stack_2); 19auto pane_content = Gtk::make_managed<Gtk::Box>(Gtk::ORIENTATION_VERTICAL, 0); 20pane_content->pack_start(*Gtk::make_managed<Gtk::Label>("Pane 1 content"), Gtk::PACK_EXPAND_WIDGET); 21auto pane_icon = Gtk::make_managed<Gtk::Image>(); 22pane_icon->set_from_icon_name("go-home-symbolic", Gtk::ICON_SIZE_MENU); 23auto pane = Gtk::make_managed<gPanthera::DockablePane>(layout_manager, *pane_content, "pane1", "Pane 1", pane_icon); 24dock_stack_1->add_pane(*pane); 25 26Gtk::Box vbox(Gtk::ORIENTATION_VERTICAL); 27vbox.pack_start(*switcher_1, Gtk::PACK_SHRINK); 28vbox.pack_start(*dock_stack_1); 29vbox.pack_start(*dock_stack_2); 30vbox.pack_start(*switcher_2, Gtk::PACK_SHRINK); 31 32window.add(vbox); 33window.show_all(); 34 35return app->run(window); 36} 37