X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fotk_test.cc;h=495b81d59ff687c425f3c7f748d9be517e936b83;hb=70eb03ad50e1a71fd64c8cb1ebabbff311850553;hp=ab739e6513a6be12e0c1097810406f105237d92b;hpb=30a23b645083b17736cb942e1452f06aad680111;p=chaz%2Fopenbox diff --git a/otk/otk_test.cc b/otk/otk_test.cc index ab739e65..495b81d5 100644 --- a/otk/otk_test.cc +++ b/otk/otk_test.cc @@ -1,49 +1,58 @@ +// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- + +#ifdef HAVE_CONFIG_H +# include "../config.h" +#endif + +#include "application.hh" #include "focuswidget.hh" +#include "appwidget.hh" #include "button.hh" -#include "display.hh" -#include "configuration.hh" -#include "timerqueuemanager.hh" -#include "image.hh" -#include "style.hh" -#include - -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(ctrl); - - style_conf.setFile("/usr/local/share/openbox/styles/artwiz"); - style_conf.load(); - - my_style->load(style_conf); - - otk::OtkFocusWidget foo(my_style); - otk::OtkButton iconb(&foo); - otk::OtkFocusWidget label(&foo); - otk::OtkButton maxb(&foo); - otk::OtkButton closeb(&foo); + +int main(int argc, char **argv) { + otk::OtkApplication app(argc, argv); + + otk::OtkAppWidget foo(&app); + + foo.resize(600, 500); + foo.setTexture(app.getStyle()->getTitleFocus()); +// foo.setUnfocusTexture(app.getStyle()->getTitleUnfocus()); foo.setBevelWidth(2); - foo.setDirection(otk::OtkWidget::Vertical); - - foo.setHeight(400); - foo.setTexture(my_style->getTitleFocus()); - foo.setUnfocusTexture(my_style->getTitleUnfocus()); + foo.setDirection(otk::OtkWidget::Horizontal); + + 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(); + iconb.press(Button1); // fix width to 60 and let the height be calculated by its parent - label.setWidth(60); + //label.setHeight(20); label.setStretchableVert(true); - label.setTexture(my_style->getLabelFocus()); - label.setUnfocusTexture(my_style->getLabelUnfocus()); + label.setStretchableHorz(true); + label.setTexture(app.getStyle()->getLabelFocus()); + label.setUnfocusTexture(app.getStyle()->getLabelUnfocus()); // fixed size maxb.setText("bar"); @@ -51,29 +60,24 @@ int main(void) { // 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.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); - } else if (e.type == ConfigureNotify) { - foo.configure(e.xconfigure); - label.hide(); - } - } - } - - delete my_style; - delete tm; - delete ctrl; - - otk::OBDisplay::destroy(); + app.exec(); return 0; }