]> Dogcows Code - chaz/openbox/blobdiff - otk/otk_test.cc
initial commit
[chaz/openbox] / otk / otk_test.cc
index 6b4d02505d55304db41b309867a25025f2400535..ccef19fa1b31e0f8eb1f749e993a5d9ebbac6fca 100644 (file)
@@ -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 <iostream>
 
 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);
+      }
     } 
   }
 
This page took 0.03029 seconds and 4 git commands to generate.