GTK docking interfaces

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