[SCM] Lisaac library iup-binding branch, master, updated. 7aec87a8f56588aa242f135c32e1a23a40a8f21d

Jeremy Cowgar jeremy at cowgar.com
Tue Aug 25 19:11:56 UTC 2009


The following commit has been merged in the master branch:
commit 7aec87a8f56588aa242f135c32e1a23a40a8f21d
Author: Jeremy Cowgar <jeremy at cowgar.com>
Date:   Tue Aug 25 15:11:44 2009 -0400

    * Added wrappings of all controls (none have advanced attribute set/get
      slots yet).
    * Added all common set/get slots to CONTROL

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..334282a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+example.c
+example
+example.exe
diff --git a/button.li b/button.li
index 34bb730..edb43b1 100644
--- a/button.li
+++ b/button.li
@@ -37,16 +37,15 @@ Section Public
 
     result := SELF.clone;
     result.set_handle h;
-    `IupSetAttribute(@h, "LISAAC_OBJ", (char *) @result)`;
+    `IupSetCallback(@h, "LISAAC_OBJ", (void *) @result)`;
     result
   );
   
 Section Public
   // Callbacks
-  
-  - set_action b:{INTEGER} <-
-  ( + h:POINTER;
-    
+
+  - use <-
+  (
     `
     #if 0
     `;
@@ -54,9 +53,19 @@ Section Public
     `
     #endif
     `;
-
+  );
+  
+  - set_action b:{INTEGER} <-
+  ( + h:POINTER;
+    
     h := handle;
-    `IupSetCallback(@h, "ACTION", (Icallback) perform_action)`;
+    `IupSetCallback(@h, IUP_ACTION, (Icallback) perform_action)`;
     
     action_block := b;
   );
+
+Section Public
+  // Attributes
+  
+  - set_alignment v:ABSTRACT_STRING <- store "ALIGNMENT" value v;
+  - alignment :ABSTRACT_STRING <- get "ALIGNMENT";
diff --git a/canvas.li b/canvas.li
new file mode 100644
index 0000000..55058da
--- /dev/null
+++ b/canvas.li
@@ -0,0 +1,25 @@
+Section Header
+  // Canvas
+
+  + name      := CANVAS;
+
+  - copyright := "2009, Jeremy Cowgar";
+
+  - comment   := "IUP Canvas";
+
+Section Inherit
+
+  + parent:Expanded CONTROL := CONTROL;
+
+Section Public
+  
+  - make :SELF <-
+  ( + result:SELF;
+    + h:POINTER;
+
+    h := `IupCanvas(NULL)`:POINTER;
+
+    result := SELF.clone;
+    result.set_handle hndl;
+    result
+  );
diff --git a/vertical_box.li b/cells.li
similarity index 51%
copy from vertical_box.li
copy to cells.li
index f096651..0458457 100644
--- a/vertical_box.li
+++ b/cells.li
@@ -1,24 +1,24 @@
 Section Header
-  // Base container control
+  // Cells
 
-  + name      := VERTICAL_BOX;
+  + name      := CELLS;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP Cells";
 
 Section Inherit
 
-  + parent:Expanded CONTAINER_CONTROL := CONTAINER_CONTROL;
+  + parent:Expanded CONTROL := CONTROL;
 
 Section Public
   
   - make :SELF <-
   ( + result:SELF;
     + h:POINTER;
-    
-    h := `IupVbox(NULL)`:POINTER;
-    
+
+    h := `IupCells()`:POINTER;
+
     result := SELF.clone;
     result.set_handle h;
     result
diff --git a/vertical_box.li b/color_bar.li
similarity index 51%
copy from vertical_box.li
copy to color_bar.li
index f096651..ad52305 100644
--- a/vertical_box.li
+++ b/color_bar.li
@@ -1,24 +1,24 @@
 Section Header
-  // Base container control
+  // Colorbar
 
-  + name      := VERTICAL_BOX;
+  + name      := COLOR_BAR;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP ColorBar";
 
 Section Inherit
 
-  + parent:Expanded CONTAINER_CONTROL := CONTAINER_CONTROL;
+  + parent:Expanded CONTROL := CONTROL;
 
 Section Public
   
   - make :SELF <-
   ( + result:SELF;
     + h:POINTER;
-    
-    h := `IupVbox(NULL)`:POINTER;
-    
+
+    h := `IupColorBar()`:POINTER;
+
     result := SELF.clone;
     result.set_handle h;
     result
diff --git a/vertical_box.li b/color_browser.li
similarity index 51%
copy from vertical_box.li
copy to color_browser.li
index f096651..35514a8 100644
--- a/vertical_box.li
+++ b/color_browser.li
@@ -1,24 +1,24 @@
 Section Header
-  // Base container control
+  // ColorBrowser
 
-  + name      := VERTICAL_BOX;
+  + name      := COLOR_BROWSER;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP ColorBrowser";
 
 Section Inherit
 
-  + parent:Expanded CONTAINER_CONTROL := CONTAINER_CONTROL;
+  + parent:Expanded CONTROL := CONTROL;
 
 Section Public
   
   - make :SELF <-
   ( + result:SELF;
     + h:POINTER;
-    
-    h := `IupVbox(NULL)`:POINTER;
-    
+
+    h := `IupColorBrowser()`:POINTER;
+
     result := SELF.clone;
     result.set_handle h;
     result
diff --git a/control.li b/control.li
index c6e41e6..2b8aac0 100644
--- a/control.li
+++ b/control.li
@@ -21,7 +21,7 @@ Section Public
   );
 
 Section Public
-  // Attributes
+  // Attribute utility methods
   
   - store name:ABSTRACT_STRING value v:ABSTRACT_STRING <-
   ( + n_name:NATIVE_ARRAY(CHARACTER);
@@ -34,6 +34,33 @@ Section Public
     
     `IupStoreAttribute(@h, @n_name, @n_v)`;
   );
+  
+  - store name:ABSTRACT_STRING boolean v:BOOLEAN <-
+  ( + n_name:NATIVE_ARRAY(CHARACTER);
+    + n_v:NATIVE_ARRAY(CHARACTER);
+    + h:POINTER;
+       
+    h := handle;
+    n_name := name.to_external;
+    v.if_true { n_v := "YES".to_external; }
+    else { n_v := "NO".to_external; };
+       
+    `IupStoreAttribute(@h, @n_name, @n_v)`;
+  );
+  
+  - get name:ABSTRACT_STRING :ABSTRACT_STRING <-
+  ( + n_name, n_val : NATIVE_ARRAY(CHARACTER);
+    + h:POINTER;
+    + result : STRING;
+        
+    h := handle;
+    n_name := name.to_external;
+    n_val := `IupGetAttribute(@h, @n_name)`:NATIVE_ARRAY(CHARACTER);
+        
+    result := STRING.clone;
+    result.from_external(n_val);
+    result
+  );
 
   - set_callback name:ABSTRACT_STRING slot v:POINTER <-
   ( + n_name:NATIVE_ARRAY(CHARACTER);
@@ -43,3 +70,56 @@ Section Public
     
     `IupSetCallback(@h, @n_name, @v)`;
   );
+
+Section Public
+  // Common control attributes
+
+  - set_active state:BOOLEAN <- store "ACTIVE" boolean state;
+  - active :BOOLEAN <- (get "ACTIVE") = "YES";
+
+  - set_background_color color:ABSTRACT_STRING <- store "BGCOLOR" value color;  
+  - background_color :ABSTRACT_STRING <- get "BGCOLOR";
+
+  - set_foreground_color color:ABSTRACT_STRING <- store "FGCOLOR" value color; 
+  - foreground_color color:ABSTRACT_STRING <- get "FGCOLOR";
+
+  - set_font font:ABSTRACT_COLOR <- store "FONT" value font;
+  - font :ABSTRACT_STRING <- get "FONT";
+
+  - set_visible state:BOOLEAN <- store "VISIBLE" value state;
+  - visible :BOOLEAN <- (get "VISIBLE") = "YES";
+
+  - clientsize :ABSTRACT_STRING <- get "CLIENTSIZE";
+  
+  - set_expand v:ABSTRACT_STRING <- store "EXPAND" value v;
+  - expand :ABSTRACT_STRING <- get "EXPAND";
+  
+  - set_floating v:BOOLEAN <- store "FLOATING" boolean value;
+  - floating :BOOLEAN <- (get "FLOATING") = "YES";
+  
+  - set_name v:ABSTRACT_STRING <- store "NAME" value v;
+  - name :ABSTRACT_STRING <- get "NAME";
+  
+  - set_position position:ABSTRACT_STRING <- store "POSITION" value v;
+  - position :ABSTRACT_STRING <- get "POSITION";
+  
+  - set_raster_size v:ABSTRACT_STRING <- store "RASTERSIZE" value v;
+  - raster_size :ABSTRACT_STRING <- get "RASTERSIZE";
+  
+  - set_size v:ABSTRACT_STRING <- store "SIZE" value v;
+  - size :ABSTRACT_STRING <- get "SIZE";
+  
+  - set_tip v:ABSTRACT_STRING <- store "TIP" value v;
+  - tip :ABSTRACT_STRING <- get "TIP";
+  
+  - set_title v:ABSTRACT_STRING <- store "TITLE" value v;
+  - title :ABSTRACT_STRING <- get "TITLE";
+  
+  - set_value v:ABSTRACT_STRING <- store "VALUE" value v;
+  - value :ABSTRACT_STRING <- get "VALUE";
+  
+  - wid :ABSTRACT_STRING <- get "WID";  
+  - x :ABSTRACT_STRING <- get "X";
+  - y :ABSTRACT_STRING <- get "Y";
+
+  - set_zorder v:ABSTRACT_STRING <- store "ZORDER" value v;
diff --git a/dial.li b/dial.li
new file mode 100644
index 0000000..ba52358
--- /dev/null
+++ b/dial.li
@@ -0,0 +1,32 @@
+Section Header
+  // Dial
+
+  + name      := DIAL;
+
+  - copyright := "2009, Jeremy Cowgar";
+
+  - comment   := "IUP Dial";
+
+Section Inherit
+
+  + parent:Expanded CONTROL := CONTROL;
+
+Section Public
+  
+  - make type:ABSTRACT_STRING :SELF <-
+  ( + result:SELF;
+    + h:POINTER;
+    + n_type:NATIVE_ARRAY(CHARACTER);
+    
+    n_type := type.to_external;
+
+    h := `IupDial(@n_type)`:POINTER;
+
+    result := SELF.clone;
+    result.set_handle h;
+    result
+  );
+
+  - make_horizontal :SELF <- make "HORIZONTAL"
+  - make_vertical :SELF <- make "VERTICAL";
+  - make_circular :SELF <- make "CIRCULAR";
diff --git a/dialog.li b/dialog.li
index b20b6e1..b16a81b 100644
--- a/dialog.li
+++ b/dialog.li
@@ -28,8 +28,10 @@ Section Public
   - show_bottom         :INTEGER := `IUP_BOTTOM`:INTEGER;
 
 Section Public
+  // Creation
   
   - make title:ABSTRACT_STRING child control:CONTROL :SELF <-
+  // Make a new dialog
   ( + result:SELF;
     + h, child_h:POINTER;
     
@@ -43,6 +45,9 @@ Section Public
     result
   );
   
+Section Public
+  // Showing/hiding the dialog
+  
   - popup (x:INTEGER,y:INTEGER) :INTEGER <-
   // Display the dialog as a modal popup dialog. You may wish to refer
   // to the documentation section "popup and show_xy possible values" for 
@@ -50,14 +55,14 @@ Section Public
   ( + h:POINTER;
     
     h := handle;
-    `IupPopup(@h, @x, @y)`:INTEGER
+    `IupPopup(@h, @x, @y)`:(INTEGER)
   );
   
   - show :INTEGER <-
   // Show the dialog as a non-modal dialog
   ( + h:POINTER;
     h := handle;
-    `IupShow(@h)`:INTEGER
+    `IupShow(@h)`:(INTEGER)
   );
   
   - show x:INTEGER y y:INTEGER :INTEGER <-
@@ -66,7 +71,7 @@ Section Public
   // other possible values to show x y.
   ( + h:POINTER;
     h := handle;
-    `IupShowXY(@h, @x, @y)`:INTEGER
+    `IupShowXY(@h, @x, @y)`:(INTEGER)
   );
   
   - hide <-
diff --git a/example.li b/example.li
index 6924bb9..6e9a359 100644
--- a/example.li
+++ b/example.li
@@ -13,20 +13,24 @@ Section Public
     + main_box:HORIZONTAL_BOX;
     + hello, goodbye:BUTTON;
     
-    IUP.open.println;
+    IUP.open;
+    //BUTTON.use;
     
     hello := BUTTON.make "Say Hello";
-    hello.set_action { "Hello, World!".println; IUP.cb_default };
+    hello.set_expand "HORIZONTAL";
+    //hello.set_action { "Hello, World!".println; IUP.cb_default };
+    hello.set_active FALSE;
     
     goodbye := BUTTON.make "Say Goodbye";
-    goodbye.set_action { "Goodbye, World!".println; IUP.cb_close };
+    //goodbye.set_action { "Goodbye, World!".println; IUP.cb_close };
     
     main_box := HORIZONTAL_BOX.make;
+    main_box.set_expand "HORIZONTAL";
     main_box.add hello;
     main_box.add goodbye;
     
     dlg := DIALOG.make "Simple" child main_box;
-    dlg.show.println;
+    dlg.show;
 
     IUP.main_loop;
     IUP.close;
diff --git a/frame.li b/frame.li
new file mode 100644
index 0000000..4396464
--- /dev/null
+++ b/frame.li
@@ -0,0 +1,26 @@
+Section Header
+  // Frame
+
+  + name      := FRAME;
+
+  - copyright := "2009, Jeremy Cowgar";
+
+  - comment   := "IUP FRAME";
+
+Section Inherit
+
+  + parent:Expanded CONTROL := CONTROL;
+
+Section Public
+  
+  - make child:CONTROL :SELF <-
+  ( + result:SELF;
+    + child_h, h:POINTER;
+
+    child_h := child.handle;
+    h := `IupFrame(@child_h)`:POINTER;
+
+    result := SELF.clone;
+    result.set_handle h;
+    result
+  );
diff --git a/vertical_box.li b/gl_canvas.li
similarity index 51%
copy from vertical_box.li
copy to gl_canvas.li
index f096651..6f015da 100644
--- a/vertical_box.li
+++ b/gl_canvas.li
@@ -1,24 +1,24 @@
 Section Header
-  // Base container control
+  // GL Canvas
 
-  + name      := VERTICAL_BOX;
+  + name      := GL_CANVAS;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP GLCanvas";
 
 Section Inherit
 
-  + parent:Expanded CONTAINER_CONTROL := CONTAINER_CONTROL;
+  + parent:Expanded CONTROL := CONTROL;
 
 Section Public
   
   - make :SELF <-
   ( + result:SELF;
     + h:POINTER;
-    
-    h := `IupVbox(NULL)`:POINTER;
-    
+
+    h := `IupGLCanvas(NULL)`:POINTER;
+
     result := SELF.clone;
     result.set_handle h;
     result
diff --git a/horizontal_box.li b/horizontal_box.li
index 3d82b20..0bf3029 100644
--- a/horizontal_box.li
+++ b/horizontal_box.li
@@ -1,5 +1,5 @@
 Section Header
-  // Base container control
+  // Horizontal box container control
 
   + name      := HORIZONTAL_BOX;
 
diff --git a/iup.li b/iup.li
index 04c85af..1b09794 100644
--- a/iup.li
+++ b/iup.li
@@ -53,7 +53,7 @@ Section Public
   
   - open :BOOLEAN <-
   ( + result:BOOLEAN;
-    (`IupOpen(NULL, NULL)`:INTEGER = error_none).if {
+    (`IupOpen(NULL, NULL)`:(INTEGER) = error_none).if {
       result := TRUE;
     } else {
       result := FALSE;
diff --git a/label.li b/label.li
index 42ec97e..3f9018e 100644
--- a/label.li
+++ b/label.li
@@ -15,14 +15,14 @@ Section Public
   
   - make title:ABSTRACT_STRING :SELF <-
   ( + result:SELF;
-    + hndl:POINTER;
+    + h:POINTER;
     + n_title:NATIVE_ARRAY(CHARACTER);
     
     n_title := title.to_external;
 
-    hndl := `IupLabel(@n_title)`:POINTER;
+    h := `IupLabel(@n_title)`:POINTER;
 
     result := SELF.clone;
-    result.set_handle hndl;
+    result.set_handle h;
     result
   );
diff --git a/vertical_box.li b/list.li
similarity index 51%
copy from vertical_box.li
copy to list.li
index f096651..47750b4 100644
--- a/vertical_box.li
+++ b/list.li
@@ -1,24 +1,24 @@
 Section Header
-  // Base container control
+  // List
 
-  + name      := VERTICAL_BOX;
+  + name      := LIST;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP List";
 
 Section Inherit
 
-  + parent:Expanded CONTAINER_CONTROL := CONTAINER_CONTROL;
+  + parent:Expanded CONTROL := CONTROL;
 
 Section Public
   
   - make :SELF <-
   ( + result:SELF;
     + h:POINTER;
-    
-    h := `IupVbox(NULL)`:POINTER;
-    
+
+    h := `IupList(NULL)`:POINTER;
+
     result := SELF.clone;
     result.set_handle h;
     result
diff --git a/vertical_box.li b/matrix.li
similarity index 51%
copy from vertical_box.li
copy to matrix.li
index f096651..1bda243 100644
--- a/vertical_box.li
+++ b/matrix.li
@@ -1,24 +1,24 @@
 Section Header
-  // Base container control
+  // Matrix
 
-  + name      := VERTICAL_BOX;
+  + name      := MATRIX;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP Matrix";
 
 Section Inherit
 
-  + parent:Expanded CONTAINER_CONTROL := CONTAINER_CONTROL;
+  + parent:Expanded CONTROL := CONTROL;
 
 Section Public
   
   - make :SELF <-
   ( + result:SELF;
     + h:POINTER;
-    
-    h := `IupVbox(NULL)`:POINTER;
-    
+
+    h := `IupMatrix(NULL)`:POINTER;
+
     result := SELF.clone;
     result.set_handle h;
     result
diff --git a/ole_control.li b/ole_control.li
new file mode 100644
index 0000000..8d0bbc1
--- /dev/null
+++ b/ole_control.li
@@ -0,0 +1,28 @@
+Section Header
+  // OLE Control
+
+  + name      := OLE_CONTROL;
+
+  - copyright := "2009, Jeremy Cowgar";
+
+  - comment   := "IUP OLEControl";
+
+Section Inherit
+
+  + parent:Expanded CONTROL := CONTROL;
+
+Section Public
+  
+  - make prog_id:ABSTRACT_STRING :SELF <-
+  ( + result:SELF;
+    + h:POINTER;
+    + n_prog_id:NATIVE_ARRAY(CHARACTER);
+    
+    n_prog_id := prog_id.to_external;
+
+    h := `IupOleControl(@n_prog_id)`:POINTER;
+
+    result := SELF.clone;
+    result.set_handle h;
+    result
+  );
diff --git a/pplot.li b/pplot.li
new file mode 100644
index 0000000..91a3756
--- /dev/null
+++ b/pplot.li
@@ -0,0 +1,34 @@
+Section Header
+  // PPlot
+
+  + name      := PPLot;
+
+  - copyright := "2009, Jeremy Cowgar";
+
+  - comment   := "IUP PPlot";
+
+Section Inherit
+
+  + parent:Expanded CONTROL := CONTROL;
+
+Section Private
+  
+  - was_opened:BOOLEAN := FALSE;
+
+Section Public
+  
+  - make :SELF <-
+  ( + result:SELF;
+    + h:POINTER;
+    
+    was_opened.if_false {
+      was_opened := TRUE;
+      `IupPPlotOpen()`;
+    };
+
+    h := `IupPPlot()`:POINTER;
+
+    result := SELF.clone;
+    result.set_handle h;
+    result
+  );
diff --git a/vertical_box.li b/progress_bar.li
similarity index 51%
copy from vertical_box.li
copy to progress_bar.li
index f096651..531cf10 100644
--- a/vertical_box.li
+++ b/progress_bar.li
@@ -1,24 +1,24 @@
 Section Header
-  // Base container control
+  // Progress Bar
 
-  + name      := VERTICAL_BOX;
+  + name      := PROGRESS_BAR;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP ProgressBar";
 
 Section Inherit
 
-  + parent:Expanded CONTAINER_CONTROL := CONTAINER_CONTROL;
+  + parent:Expanded CONTROL := CONTROL;
 
 Section Public
   
   - make :SELF <-
   ( + result:SELF;
     + h:POINTER;
-    
-    h := `IupVbox(NULL)`:POINTER;
-    
+
+    h := `IupProgressBar()`:POINTER;
+
     result := SELF.clone;
     result.set_handle h;
     result
diff --git a/vertical_box.li b/spin.li
similarity index 51%
copy from vertical_box.li
copy to spin.li
index f096651..c26b718 100644
--- a/vertical_box.li
+++ b/spin.li
@@ -1,24 +1,24 @@
 Section Header
-  // Base container control
+  // Spin
 
-  + name      := VERTICAL_BOX;
+  + name      := SPIN;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP Spin";
 
 Section Inherit
 
-  + parent:Expanded CONTAINER_CONTROL := CONTAINER_CONTROL;
+  + parent:Expanded CONTROL := CONTROL;
 
 Section Public
   
   - make :SELF <-
   ( + result:SELF;
     + h:POINTER;
-    
-    h := `IupVbox(NULL)`:POINTER;
-    
+
+    h := `IupSpin()`:POINTER;
+
     result := SELF.clone;
     result.set_handle h;
     result
diff --git a/vertical_box.li b/tabs.li
similarity index 68%
copy from vertical_box.li
copy to tabs.li
index f096651..1e79476 100644
--- a/vertical_box.li
+++ b/tabs.li
@@ -1,11 +1,11 @@
 Section Header
-  // Base container control
+  // Tabs container
 
-  + name      := VERTICAL_BOX;
+  + name      := TABS;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP Tabs";
 
 Section Inherit
 
@@ -17,7 +17,7 @@ Section Public
   ( + result:SELF;
     + h:POINTER;
     
-    h := `IupVbox(NULL)`:POINTER;
+    h := `IupTabs(NULL)`:POINTER;
     
     result := SELF.clone;
     result.set_handle h;
diff --git a/text.li b/text.li
new file mode 100644
index 0000000..ce5f39b
--- /dev/null
+++ b/text.li
@@ -0,0 +1,33 @@
+Section Header
+  // Text
+
+  + name      := TEXT;
+
+  - copyright := "2009, Jeremy Cowgar";
+
+  - comment   := "IUP Text";
+
+Section Inherit
+
+  + parent:Expanded CONTROL := CONTROL;
+
+Section Public
+  
+  - make :SELF <-
+  ( + result:SELF;
+    + h:POINTER;
+
+    h := `IupText(NULL)`:POINTER;
+
+    result := SELF.clone;
+    result.set_handle h;
+    result
+  );
+
+  - make_multiline :SELF <-
+  ( + result:SELF;
+
+    result := make;
+    result.store "MULTILINE" boolean TRUE;
+    result
+  );
\ No newline at end of file
diff --git a/label.li b/toggle.li
similarity index 66%
copy from label.li
copy to toggle.li
index 42ec97e..2d16353 100644
--- a/label.li
+++ b/toggle.li
@@ -1,11 +1,11 @@
 Section Header
-  // Label
+  // Toggle
 
-  + name      := LABEL;
+  + name      := TOGGLE;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Label";
+  - comment   := "IUP Toggle";
 
 Section Inherit
 
@@ -15,14 +15,14 @@ Section Public
   
   - make title:ABSTRACT_STRING :SELF <-
   ( + result:SELF;
-    + hndl:POINTER;
+    + h:POINTER;
     + n_title:NATIVE_ARRAY(CHARACTER);
     
     n_title := title.to_external;
 
-    hndl := `IupLabel(@n_title)`:POINTER;
+    h := `IupToggle(@n_title, NULL)`:POINTER;
 
     result := SELF.clone;
-    result.set_handle hndl;
+    result.set_handle h;
     result
   );
diff --git a/vertical_box.li b/tree.li
similarity index 51%
copy from vertical_box.li
copy to tree.li
index f096651..2ff73bb 100644
--- a/vertical_box.li
+++ b/tree.li
@@ -1,24 +1,24 @@
 Section Header
-  // Base container control
+  // Tree
 
-  + name      := VERTICAL_BOX;
+  + name      := TREE;
 
   - copyright := "2009, Jeremy Cowgar";
 
-  - comment   := "IUP Vertical Box";
+  - comment   := "IUP Tree";
 
 Section Inherit
 
-  + parent:Expanded CONTAINER_CONTROL := CONTAINER_CONTROL;
+  + parent:Expanded CONTROL := CONTROL;
 
 Section Public
   
   - make :SELF <-
   ( + result:SELF;
     + h:POINTER;
-    
-    h := `IupVbox(NULL)`:POINTER;
-    
+
+    h := `IupTree()`:POINTER;
+
     result := SELF.clone;
     result.set_handle h;
     result
diff --git a/val.li b/val.li
new file mode 100644
index 0000000..f284dc3
--- /dev/null
+++ b/val.li
@@ -0,0 +1,31 @@
+Section Header
+  // Val
+
+  + name      := VAL;
+
+  - copyright := "2009, Jeremy Cowgar";
+
+  - comment   := "IUP Val";
+
+Section Inherit
+
+  + parent:Expanded CONTROL := CONTROL;
+
+Section Public
+  
+  - make type:ABSTRACT_STRING :SELF <-
+  ( + result:SELF;
+    + h:POINTER;
+    + n_type:NATIVE_ARRAY(CHARACTER);
+    
+    n_type := type.to_external;
+
+    h := `IupVal(@n_type)`:POINTER;
+
+    result := SELF.clone;
+    result.set_handle h;
+    result
+  );
+
+  - make_horizontal :SELF <- make "HORIZONTAL"
+  - make_vertical :SELF <- make "VERTICAL";
diff --git a/vertical_box.li b/vertical_box.li
index f096651..fa40fa9 100644
--- a/vertical_box.li
+++ b/vertical_box.li
@@ -1,5 +1,5 @@
 Section Header
-  // Base container control
+  // Vertical box container control
 
   + name      := VERTICAL_BOX;
 

-- 
Lisaac library iup-binding



More information about the Lisaac-commits mailing list