--- /dev/null
+
+open Utils
+open Property
+
+open TiBase
+open TiContainer
+
+
+class tiseparator ~(dir : Gtk.Tags.orientation) ~(widget : GObj.widget_full)
+ ~name ~parent_tree ~pos ?(insert_evbox=true) parent_window =
+object
+ val separator = widget
+ inherit tiwidget ~name ~widget ~parent_tree ~pos parent_window ~insert_evbox
+
+ method private class_name =
+ match dir with `VERTICAL -> "GMisc.separator `VERTICAL"
+ | `HORIZONTAL -> "GMisc.separator `HORIZONTAL"
+ initializer
+ classe <-
+ (match dir with `VERTICAL -> "vseparator" | `HORIZONTAL -> "hseparator")
+
+end
+
+let new_tihseparator ~name ?(listprop = []) =
+ new tiseparator ~dir: `HORIZONTAL ~name
+ ~widget:(GMisc.separator `HORIZONTAL ())
+let new_tivseparator ~name ?(listprop = []) =
+ new tiseparator ~dir: `VERTICAL ~name
+ ~widget:(GMisc.separator `VERTICAL ())
+
+
+
+
+class tistatusbar ~(widget : GMisc.statusbar) ~name ~parent_tree ~pos
+ ?(insert_evbox=true) parent_window =
+object(self)
+ val statusbar = widget
+ inherit ticontainer ~name ~widget ~insert_evbox
+ ~parent_tree ~pos parent_window as widget
+
+ method private class_name = "GMisc.statusbar"
+
+ initializer
+ classe <- "statusbar"
+end
+
+let new_tistatusbar ~name ?(listprop = []) =
+ new tistatusbar ~widget:(GMisc.statusbar ()) ~name
+
+
+
+class timisc ~(widget : GMisc.misc) ~name ~parent_tree ~pos
+ ?(insert_evbox=true) parent_window =
+object(self)
+ val misc = widget
+ inherit tiwidget ~name ~widget ~insert_evbox
+ ~parent_tree ~pos parent_window as widget
+
+ method private class_name = failwith "timisc::class_name"
+
+ initializer
+ proplist <- proplist @
+ [ "x_alignment",
+ new prop_float ~name:"x alignment" ~init:"0.5" ~min:0. ~max:1.
+ ~set:(fun v -> misc#set_alignment ~x:v (); true);
+ "y_alignment",
+ new prop_float ~name:"y alignment" ~init:"0.5" ~min:0. ~max:1.
+ ~set:(fun v -> misc#set_alignment ~y:v (); true);
+ "x_padding",
+ new prop_int ~name:"x padding" ~init:"0.5"
+ ~set:(fun v -> misc#set_padding ~x:v (); true);
+ "y_padding",
+ new prop_int ~name:"y padding" ~init:"0.5"
+ ~set:(fun v -> misc#set_padding ~y:v (); true)
+
+ ]
+end
+
+
+class tiarrow ~(widget : GMisc.arrow) ~name ~parent_tree ~pos
+ ?(insert_evbox=true) parent_window =
+object(self)
+ val arrow = widget
+ inherit timisc ~name ~widget:(widget :> GMisc.misc) ~insert_evbox
+ ~parent_tree ~pos parent_window as widget
+
+ method private class_name = "GMisc.arrow"
+ initializer
+ classe <- "arrow";
+end
+
+
+(* TODO fenetre demandant kind et shadow
+let new_tiarrow ~name = new tiarrow ~widget:(GMisc.arrow ()) ~name
+*)
+
+
+class tilabel ~(widget : GMisc.label) ~name ~parent_tree ~pos
+ ?(insert_evbox=true) parent_window =
+object(self)
+ val labelw = widget
+ inherit timisc ~name ~widget:(widget :> GMisc.misc) ~insert_evbox
+ ~parent_tree ~pos parent_window as widget
+
+ method private class_name = "GMisc.label"
+
+ method private get_mandatory_props = [ "text" ]
+
+ initializer
+ classe <- "label";
+ proplist <- proplist @
+ [ "text",
+ new prop_string ~name:"text" ~init:name ~set:(ftrue labelw#set_text);
+ "line_wrap",
+ new prop_bool ~name:"line_wrap" ~init:"true"
+ ~set:(ftrue labelw#set_line_wrap)
+ ]
+end
+
+let new_tilabel ~name ?(listprop = []) =
+ new tilabel ~widget:(GMisc.label ~text:name ()) ~name
+
+
+
+
+
+class ticolor_selection ~(widget : GMisc.color_selection) ~name ~parent_tree ~pos
+ ?(insert_evbox=true) parent_window =
+object(self)
+ val color_selection = widget
+ inherit tiwidget ~name ~widget ~insert_evbox
+ ~parent_tree ~pos parent_window as widget
+
+ method private class_name = "GMisc.color_selection"
+
+ initializer
+ classe <- "color_selection";
+ proplist <- proplist @
+ [ "use_opacity",
+ new prop_bool ~name:"use_opacity" ~init:"false"
+ ~set:(ftrue color_selection#set_opacity);
+ "update_policy",
+ new prop_update_type ~name:"update_policy" ~init:"CONTINUOUS"
+ ~set:(ftrue color_selection#set_update_policy)
+ ]
+end
+
+let new_ticolor_selection ~name ?(listprop = []) =
+ new ticolor_selection ~widget:(GMisc.color_selection ()) ~name
+
+
+class tipixmap ~(widget : GMisc.pixmap) ~name ~parent_tree ~pos
+ ?(insert_evbox=true) parent_window =
+object(self)
+ val pixmap = widget
+ inherit timisc ~name ~widget:(widget :> GMisc.misc) ~insert_evbox
+ ~parent_tree ~pos parent_window as widget
+
+ method private class_name = "GMisc.pixmap"
+ initializer
+ classe <- "pixmap";
+ proplist <- proplist @
+ [ "file",
+ new prop_file ~name:"file" ~init:""
+ ~set:(fun v ->
+ pixmap#set_pixmap
+ (GDraw.pixmap_from_xpm ~window:parent_window#tiwin#widget
+ ~file:v ());
+ true)
+ ]
+end
+
+let new_tipixmap ~name ?(listprop = []) ~parent_tree ~pos ?(insert_evbox=true) (parent_window : window_and_tree0) =
+ new tipixmap ~widget:(GMisc.pixmap (GDraw.pixmap_from_xpm
+ ~window:parent_window#tiwin#widget ~file:"pixmap.xpm" ()) ()) ~name
+ ~parent_tree ~pos ~insert_evbox parent_window