-#include "widget.hh"
+#include "focuswidget.hh"
+#include "button.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::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);
+ otk::Style *my_style = new otk::Style(ctrl);
- const char *sfile = "/usr/local/share/openbox/styles/artwiz";
-
- style_conf.setFile(sfile);
+ style_conf.setFile("/usr/local/share/openbox/styles/artwiz");
style_conf.load();
my_style->load(style_conf);
- otk::OtkWidget foo(my_style);
- otk::OtkWidget bar(&foo);
- otk::OtkWidget baz(&foo);
- otk::OtkWidget blef(&bar);
+ otk::OtkFocusWidget foo(my_style);
+ otk::OtkButton iconb(&foo);
+ otk::OtkFocusWidget label(&foo);
+ otk::OtkButton maxb(&foo);
+ otk::OtkButton closeb(&foo);
+
+ foo.setBevelWidth(2);
+ foo.setDirection(otk::OtkWidget::Vertical);
+
+ foo.setHeight(400);
+ foo.setTexture(my_style->getTitleFocus());
+ foo.setUnfocusTexture(my_style->getTitleUnfocus());
- foo.setTexture(my_style->getButtonFocus());
- foo.setGeometry(0, 0, 100, 110);
+ // fixed size
+ iconb.setText("foo");
+ iconb.press();
- bar.setTexture(my_style->getLabelFocus());
- bar.setGeometry(10, 10, 80, 40);
+ // fix width to 60 and let the height be calculated by its parent
+ label.setWidth(60);
+ label.setStretchableVert(true);
+ label.setTexture(my_style->getLabelFocus());
+ label.setUnfocusTexture(my_style->getLabelUnfocus());
- baz.setTexture(my_style->getLabelFocus());
- baz.setGeometry(10, 60, 80, 40);
+ // fixed size
+ maxb.setText("bar");
- blef.setTexture(my_style->getHandleFocus());
- blef.setGeometry(10, 10, 60, 20);
+ // fixed size
+ closeb.setText("fuubar");
+ // will recursively unfocus its children
+ //foo.unfocus();
+ foo.update();
foo.show();
while (1) {
if (XPending(otk::OBDisplay::display)) {
XEvent e;
XNextEvent(otk::OBDisplay::display, &e);
+ if (e.type == Expose)
+ foo.expose(e.xexpose);
}
}