]> Dogcows Code - chaz/openbox/blobdiff - otk/otk_test.cc
make stuff draw on expose events
[chaz/openbox] / otk / otk_test.cc
index 7bd6e9d618eb3eb6c5699107be01d7e21f7ce19f..f36fcf99adda0204879596ac236e95e8fab84fde 100644 (file)
@@ -1,4 +1,5 @@
-#include "widget.hh"
+#include "focuswidget.hh"
+#include "button.hh"
 #include "display.hh"
 #include "configuration.hh"
 #include "timerqueuemanager.hh"
@@ -13,38 +14,53 @@ int main(void) {
     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);
     } 
   }
 
This page took 0.024361 seconds and 4 git commands to generate.