]> Dogcows Code - chaz/openbox/blob - otk/otk_test.cc
e81b777d4d6eb300f275da1b89e860417ee7fbcf
[chaz/openbox] / otk / otk_test.cc
1 #include "focuswidget.hh"
2 #include "button.hh"
3 #include "display.hh"
4 #include "configuration.hh"
5 #include "timerqueuemanager.hh"
6 #include "image.hh"
7 #include "style.hh"
8 #include <iostream>
9
10 int main(void) {
11 otk::OBDisplay::initialize(NULL);
12 otk::Configuration style_conf(False);
13 otk::OBTimerQueueManager *tm = new otk::OBTimerQueueManager();
14 const otk::ScreenInfo *s_info =
15 otk::OBDisplay::screenInfo(DefaultScreen(otk::OBDisplay::display));
16 otk::BImageControl *ctrl = new otk::BImageControl(tm, s_info, True, 4, 5, 200);
17
18 otk::Style *my_style = new otk::Style(ctrl);
19
20 style_conf.setFile("/usr/local/share/openbox/styles/artwiz");
21 style_conf.load();
22
23 my_style->load(style_conf);
24
25 otk::OtkFocusWidget foo(my_style);
26 otk::OtkButton iconb(&foo);
27 otk::OtkFocusWidget label(&foo);
28 otk::OtkButton maxb(&foo);
29 otk::OtkButton closeb(&foo);
30
31 foo.setBevelWidth(2);
32 foo.setDirection(otk::OtkWidget::Vertical);
33
34 foo.setHeight(400);
35 foo.setTexture(my_style->getTitleFocus());
36 foo.setUnfocusTexture(my_style->getTitleUnfocus());
37
38 // fixed size
39 iconb.setText("foo");
40 iconb.press();
41
42 // fix width to 60 and let the height be calculated by its parent
43 label.setWidth(60);
44 label.setStretchableVert(true);
45 label.setTexture(my_style->getLabelFocus());
46 label.setUnfocusTexture(my_style->getLabelUnfocus());
47
48 // fixed size
49 maxb.setText("bar");
50
51 // fixed size
52 closeb.setText("fuubar");
53
54 // will recursively unfocus its children
55 //foo.unfocus();
56 foo.update();
57 foo.show();
58
59 while (1) {
60 if (XPending(otk::OBDisplay::display)) {
61 XEvent e;
62 XNextEvent(otk::OBDisplay::display, &e);
63 if (e.type == Expose) {
64 foo.expose(e.xexpose);
65 } else if (e.type == ConfigureNotify) {
66 std::cout << "configure\n";
67 foo.configure(e.xconfigure);
68 }
69 }
70 }
71
72 delete my_style;
73 delete tm;
74 delete ctrl;
75
76 otk::OBDisplay::destroy();
77
78 return 0;
79 }
This page took 0.039511 seconds and 3 git commands to generate.