-#include "widget.hh"
-#include "display.hh"
-#include "configuration.hh"
-#include "timerqueuemanager.hh"
-#include "image.hh"
-#include "style.hh"
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
-#include <unistd.h>
+#ifdef HAVE_CONFIG_H
+# include "../config.h"
+#endif
-int main(void) {
- otk::OBDisplay::initialize(NULL);
- otk::Configuration style_conf(False);
- otk::OBTimerQueueManager *tm = new otk::OBTimerQueueManager();
- const otk::ScreenInfo *s_info = otk::OBDisplay::screenInfo(0);
- otk::BImageControl *ctrl = new otk::BImageControl(tm, s_info, True, 4, 5, 200);
+#include "application.hh"
+#include "focuswidget.hh"
+#include "appwidget.hh"
+#include "button.hh"
- otk::Style *my_style = new otk::Style(0ul, ctrl);
+int main(int argc, char **argv) {
+ otk::Application app(argc, argv);
- const char *sfile = "/usr/local/share/openbox/styles/artwiz";
-
- style_conf.setFile(sfile);
- style_conf.load();
+ otk::AppWidget foo(&app);
+
+ foo.resize(600, 500);
+ foo.setTexture(app.getStyle()->titlebarFocusBackground());
+// foo.setUnfocusTexture(app.getStyle()->titlebarUnfocusBackground());
- my_style->load(style_conf);
+ foo.setBevelWidth(2);
+ foo.setDirection(otk::Widget::Horizontal);
- otk::OtkWidget foo(my_style);
- otk::OtkWidget bar(&foo);
- otk::OtkWidget baz(&foo);
- otk::OtkWidget blef(&bar);
+ otk::FocusWidget left(&foo);
+ otk::FocusWidget right(&foo);
- foo.setTexture(my_style->getButtonFocus());
- foo.setGeometry(0, 0, 100, 110);
+ left.setDirection(otk::Widget::Horizontal);
+ left.setStretchableVert(true);
+ left.setStretchableHorz(true);
+ left.setTexture(app.getStyle()->titlebarFocusBackground());
+ left.setUnfocusTexture(app.getStyle()->titlebarUnfocusBackground());
+
+ right.setDirection(otk::Widget::Vertical);
+ right.setBevelWidth(10);
+ right.setStretchableVert(true);
+ right.setWidth(300);
+ right.setTexture(app.getStyle()->titlebarFocusBackground());
+ right.setUnfocusTexture(app.getStyle()->titlebarUnfocusBackground());
+ otk::Button iconb(&left);
+ iconb.resize(40,20);
- bar.setTexture(my_style->getLabelFocus());
- bar.setGeometry(10, 10, 80, 40);
+/* otk::FocusWidget label(&left);
+ otk::Button maxb(&left);
+ otk::Button closeb(&left);
+
+ // fixed size
+ iconb.setText("foo");
+ iconb.press(Button1);
- baz.setTexture(my_style->getLabelFocus());
- baz.setGeometry(10, 60, 80, 40);
+ // fix width to 60 and let the height be calculated by its parent
+ //label.setHeight(20);
+ label.setStretchableVert(true);
+ label.setStretchableHorz(true);
+ label.setTexture(app.getStyle()->labelFocusBackground());
+ label.setUnfocusTexture(app.getStyle()->labelUnfocusBackground());
- blef.setTexture(my_style->getHandleFocus());
- blef.setGeometry(10, 10, 60, 20);
+ // fixed size
+ maxb.setText("bar");
- foo.show();
+ // fixed size
+ closeb.setText("fuubar");
+*/
+ otk::FocusWidget rblef(&right);
+ otk::Button rbutt1(&right);
+ otk::Button rbutt2(&right);
- while (1) {
- if (XPending(otk::OBDisplay::display)) {
- XEvent e;
- XNextEvent(otk::OBDisplay::display, &e);
- }
- }
+ rblef.setStretchableHorz(true);
+ rblef.setHeight(50);
+ rblef.setTexture(app.getStyle()->handleFocusBackground());
+ rblef.setUnfocusTexture(app.getStyle()->handleUnfocusBackground());
+
+ rbutt1.setText("this is fucking tight");
+ rbutt2.setText("heh, WOOP");
+
+ // will recursively unfocus its children
+ //foo.unfocus();
+
+ foo.show();
- delete my_style;
- delete tm;
- delete ctrl;
+ app.run();
return 0;
}