]> Dogcows Code - chaz/openbox/blobdiff - otk/otk_test.cc
make stuff draw on expose events
[chaz/openbox] / otk / otk_test.cc
index 810e046529f0fd02655850c06961d18631ec325e..f36fcf99adda0204879596ac236e95e8fab84fde 100644 (file)
@@ -1,51 +1,66 @@
-#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::OBTimerQueueManager *tm = new otk::OBTimerQueueManager();
-  const otk::ScreenInfo *s_info = otk::OBDisplay::screenInfo(0);
+  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(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.setTexture(my_style->getButtonFocus());
-  foo.setGeometry(0, 0, 100, 110);
+  foo.setBevelWidth(2);
+  foo.setDirection(otk::OtkWidget::Vertical);
+  
+  foo.setHeight(400);
+  foo.setTexture(my_style->getTitleFocus());
+  foo.setUnfocusTexture(my_style->getTitleUnfocus());
 
-  bar.setTexture(my_style->getLabelFocus());
-  bar.setGeometry(10, 10, 80, 40);
+  // fixed size
+  iconb.setText("foo");
+  iconb.press();
 
-  baz.setTexture(my_style->getLabelFocus());
-  baz.setGeometry(10, 60, 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());
 
-  blef.setTexture(my_style->getHandleFocus());
-  blef.setGeometry(10, 10, 60, 20);
+  // fixed size
+  maxb.setText("bar");
 
+  // 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);
     } 
   }
 
@@ -53,5 +68,7 @@ int main(void) {
   delete tm;
   delete ctrl;
 
+  otk::OBDisplay::destroy();
+
   return 0;
 }
This page took 0.023482 seconds and 4 git commands to generate.