X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=otk%2Fotk_test.cc;h=ccef19fa1b31e0f8eb1f749e993a5d9ebbac6fca;hb=0eb665769d3bc737a4d7dd33d3d3738bdc2fa91c;hp=6b4d02505d55304db41b309867a25025f2400535;hpb=9e1b25490507071087d768a8873078a1ba2a8e04;p=chaz%2Fopenbox diff --git a/otk/otk_test.cc b/otk/otk_test.cc index 6b4d0250..ccef19fa 100644 --- a/otk/otk_test.cc +++ b/otk/otk_test.cc @@ -1,9 +1,11 @@ #include "focuswidget.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); @@ -15,56 +17,84 @@ int main(void) { 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::OtkFocusWidget foo(my_style); - otk::OtkFocusWidget iconb(&foo); - otk::OtkFocusWidget label(&foo); - otk::OtkFocusWidget maxb(&foo); - otk::OtkFocusWidget closeb(&foo); - - foo.setBevelWidth(2); - // fix the width to 400. the height will be determined by the height of - // its children - foo.setWidth(400); + foo.resize(600, 500); foo.setTexture(my_style->getTitleFocus()); foo.setUnfocusTexture(my_style->getTitleUnfocus()); + foo.setBevelWidth(2); + 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(my_style->getTitleFocus()); + left.setUnfocusTexture(my_style->getTitleUnfocus()); + + right.setDirection(otk::OtkWidget::Vertical); + right.setBevelWidth(10); + right.setStretchableVert(true); + right.setWidth(300); + right.setTexture(my_style->getTitleFocus()); + right.setUnfocusTexture(my_style->getTitleUnfocus()); + + otk::OtkButton iconb(&left); + otk::OtkFocusWidget label(&left); + otk::OtkButton maxb(&left); + otk::OtkButton closeb(&left); + // fixed size - iconb.resize(15, 15); - iconb.setTexture(my_style->getButtonFocus()); - iconb.setUnfocusTexture(my_style->getButtonUnfocus()); + iconb.setText("foo"); + iconb.press(); - // fix height to 15 and let the width be calculated by its parent - label.setHeight(15); + // fix width to 60 and let the height be calculated by its parent + //label.setHeight(20); + label.setStretchableVert(true); label.setStretchableHorz(true); label.setTexture(my_style->getLabelFocus()); label.setUnfocusTexture(my_style->getLabelUnfocus()); // fixed size - maxb.resize(15, 15); - maxb.setTexture(my_style->getButtonFocus()); - maxb.setUnfocusTexture(my_style->getButtonUnfocus()); + maxb.setText("bar"); // fixed size - closeb.resize(15, 15); - closeb.setTexture(my_style->getButtonFocus()); - closeb.setUnfocusTexture(my_style->getButtonUnfocus()); + closeb.setText("fuubar"); + + otk::OtkFocusWidget rblef(&right); + otk::OtkButton rbutt1(&right); + otk::OtkButton rbutt2(&right); + + rblef.setStretchableHorz(true); + rblef.setHeight(50); + rblef.setTexture(my_style->getHandleFocus()); + rblef.setUnfocusTexture(my_style->getHandleUnfocus()); + + rbutt1.setText("this is fucking tight"); + rbutt2.setText("heh, WOOP"); // will recursively unfocus its children - foo.unfocus(); + //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); + } } }