-#include "widget.hh"
-#include "display.hh"
-#include "configuration.hh"
-#include "timerqueuemanager.hh"
-#include "image.hh"
-#include "style.hh"
-
-#include <unistd.h>
-
-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(DefaultScreen(otk::OBDisplay::display));
- otk::BImageControl *ctrl = new otk::BImageControl(tm, s_info, True, 4, 5, 200);
-
- otk::Style *my_style = new otk::Style(0ul, ctrl);
-
- const char *sfile = "/usr/local/share/openbox/styles/artwiz";
-
- style_conf.setFile(sfile);
- style_conf.load();
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
- my_style->load(style_conf);
+#ifdef HAVE_CONFIG_H
+# include "../config.h"
+#endif
- otk::OtkWidget foo(my_style);
- otk::OtkWidget bar(&foo);
- otk::OtkWidget baz(&foo);
- otk::OtkWidget blef(&bar);
+#include "application.hh"
+#include "focuswidget.hh"
+#include "appwidget.hh"
+#include "button.hh"
- foo.setTexture(my_style->getButtonFocus());
- foo.setGeometry(0, 0, 100, 110);
+int main(int argc, char **argv) {
+ otk::OtkApplication app(argc, argv);
- bar.setTexture(my_style->getLabelFocus());
- bar.setGeometry(10, 10, 80, 40);
+ otk::OtkAppWidget foo(&app);
- baz.setTexture(my_style->getLabelFocus());
- baz.setGeometry(10, 60, 80, 40);
+ foo.resize(600, 500);
+ foo.setTexture(app.getStyle()->getTitleFocus());
+// foo.setUnfocusTexture(app.getStyle()->getTitleUnfocus());
- blef.setTexture(my_style->getHandleFocus());
- blef.setGeometry(10, 10, 60, 20);
+ foo.setBevelWidth(2);
+ foo.setDirection(otk::OtkWidget::Horizontal);
- foo.show();
+ otk::OtkFocusWidget left(&foo);
+ otk::OtkFocusWidget right(&foo);
+
+ left.setDirection(otk::OtkWidget::Horizontal);
+ left.setStretchableVert(true);
+ left.setStretchableHorz(true);
+ left.setTexture(app.getStyle()->getTitleFocus());
+ left.setUnfocusTexture(app.getStyle()->getTitleUnfocus());
+
+ right.setDirection(otk::OtkWidget::Vertical);
+ right.setBevelWidth(10);
+ right.setStretchableVert(true);
+ right.setWidth(300);
+ right.setTexture(app.getStyle()->getTitleFocus());
+ right.setUnfocusTexture(app.getStyle()->getTitleUnfocus());
+
+ otk::OtkButton iconb(&left);
+ iconb.resize(40,20);
+ otk::OtkFocusWidget label(&left);
+ otk::OtkButton maxb(&left);
+ otk::OtkButton closeb(&left);
+
+ // fixed size
+ iconb.setText("foo");
+ iconb.press(Button1);
+
+ // 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()->getLabelFocus());
+ label.setUnfocusTexture(app.getStyle()->getLabelUnfocus());
- while (1) {
- if (XPending(otk::OBDisplay::display)) {
- XEvent e;
- XNextEvent(otk::OBDisplay::display, &e);
- }
- }
+ // fixed size
+ maxb.setText("bar");
- delete my_style;
- delete tm;
- delete ctrl;
+ // fixed size
+ closeb.setText("fuubar");
+
+ otk::OtkFocusWidget rblef(&right);
+ otk::OtkButton rbutt1(&right);
+ otk::OtkButton rbutt2(&right);
+
+ rblef.setStretchableHorz(true);
+ rblef.setHeight(50);
+ rblef.setTexture(app.getStyle()->getHandleFocus());
+ rblef.setUnfocusTexture(app.getStyle()->getHandleUnfocus());
+
+ rbutt1.setText("this is fucking tight");
+ rbutt2.setText("heh, WOOP");
+
+ // will recursively unfocus its children
+ //foo.unfocus();
+
+ foo.show();
- otk::OBDisplay::destroy();
+ app.exec();
return 0;
}