GTK docking interfaces and more

By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

 panthera-www.cc

View raw Download
text/x-c • 1.26 kiB
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
8
int main(int argc, char *argv[]) {
9
auto app = Gtk::Application::create(argc, argv, "org.gpanthera.demo");
10
11
Gtk::Window window;
12
window.set_default_size(600, 400);
13
14
auto layout_manager = std::make_shared<gPanthera::LayoutManager>();
15
16
auto dock_stack = Gtk::make_managed<gPanthera::DockStack>(layout_manager);
17
auto switcher = Gtk::make_managed<gPanthera::DockStackSwitcher>(dock_stack);
18
auto pane_content = Gtk::make_managed<Gtk::Box>(Gtk::ORIENTATION_VERTICAL, 0);
19
pane_content->pack_start(*Gtk::make_managed<Gtk::Label>("Pane 1 content"), Gtk::PACK_EXPAND_WIDGET);
20
auto pane_icon = Gtk::make_managed<Gtk::Image>();
21
pane_icon->set_from_icon_name("go-home-symbolic", Gtk::ICON_SIZE_MENU);
22
auto pane = Gtk::make_managed<gPanthera::DockablePane>(*pane_content, "pane1", "Pane 1", pane_icon);
23
layout_manager->add_pane(pane);
24
dock_stack->add_pane(*pane, pane->get_identifier());
25
switcher->update_buttons();
26
27
Gtk::Box vbox(Gtk::ORIENTATION_VERTICAL);
28
vbox.pack_start(*switcher, Gtk::PACK_SHRINK);
29
vbox.pack_start(*dock_stack);
30
31
window.add(vbox);
32
window.show_all();
33
34
return app->run(window);
35
}
36