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#include <libintl.h> 8#include <locale.h> 9 10int main(int argc, char *argv[]) { 11gPanthera::init(); 12auto app = Gtk::Application::create(argc, argv, "org.gpanthera.demo"); 13 14Gtk::Window window; 15window.set_default_size(600, 400); 16window.signal_delete_event().connect([&app](GdkEventAny *event) { 17app->quit(); 18return false; 19}); 20 21auto layout_manager = std::make_shared<gPanthera::LayoutManager>(); 22auto dock_stack_1 = Gtk::make_managed<gPanthera::DockStack>(layout_manager, "One"); 23auto switcher_1 = Gtk::make_managed<gPanthera::DockStackSwitcher>(dock_stack_1); 24auto dock_stack_2 = Gtk::make_managed<gPanthera::DockStack>(layout_manager, "Two"); 25auto switcher_2 = Gtk::make_managed<gPanthera::DockStackSwitcher>(dock_stack_2); 26auto pane_1_content = Gtk::make_managed<Gtk::Box>(Gtk::ORIENTATION_VERTICAL, 0); 27pane_1_content->pack_start(*Gtk::make_managed<Gtk::Label>("Pane 1 content"), Gtk::PACK_EXPAND_WIDGET); 28auto pane_2_content = Gtk::make_managed<Gtk::Box>(Gtk::ORIENTATION_VERTICAL, 0); 29pane_2_content->pack_start(*Gtk::make_managed<Gtk::Label>("Pane 2 content"), Gtk::PACK_EXPAND_WIDGET); 30auto pane_1_icon = Gtk::make_managed<Gtk::Image>(); 31pane_1_icon->set_from_icon_name("go-home-symbolic", Gtk::ICON_SIZE_MENU); 32auto pane_2_icon = Gtk::make_managed<Gtk::Image>(); 33pane_2_icon->set_from_icon_name("folder-symbolic", Gtk::ICON_SIZE_MENU); 34auto pane_1 = Gtk::make_managed<gPanthera::DockablePane>(layout_manager, *pane_1_content, "pane1", "Pane 1", pane_1_icon); 35auto pane_2 = Gtk::make_managed<gPanthera::DockablePane>(layout_manager, *pane_2_content, "pane2", "Pane 2", pane_2_icon); 36 37dock_stack_1->add_pane(*pane_1); 38dock_stack_2->add_pane(*pane_2); 39 40Gtk::Box vbox(Gtk::ORIENTATION_VERTICAL); 41vbox.pack_start(*switcher_1, Gtk::PACK_SHRINK); 42vbox.pack_start(*dock_stack_1); 43vbox.pack_start(*dock_stack_2); 44vbox.pack_start(*switcher_2, Gtk::PACK_SHRINK); 45 46window.add(vbox); 47window.show_all(); 48 49return app->run(window); 50} 51