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