]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/applications/radtest/tiEdit.ml
other files missing in 20001129
[helm.git] / helm / DEVEL / lablgtk / lablgtk_20001129-0.1.0 / applications / radtest / tiEdit.ml
diff --git a/helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/applications/radtest/tiEdit.ml b/helm/DEVEL/lablgtk/lablgtk_20001129-0.1.0/applications/radtest/tiEdit.ml
new file mode 100644 (file)
index 0000000..4b0977b
--- /dev/null
@@ -0,0 +1,153 @@
+open Utils
+open Property
+
+open TiBase
+
+
+
+class tientry ~(widget : GEdit.entry) ~name ~parent_tree ~pos
+    ?(insert_evbox=true) parent_window =
+object
+  val entry = widget
+  inherit tiwidget ~name ~widget ~parent_tree ~pos
+      ~insert_evbox parent_window
+
+  method private class_name = "GEdit.entry"
+  initializer
+    classe <- "entry";
+      proplist <- proplist @
+      [ "visibility",
+       new prop_bool ~name:"visibility" ~init:"true"
+                    ~set:(ftrue entry#set_visibility);
+       "editable",
+       new prop_bool ~name:"editable" ~init:"true"
+                    ~set:(ftrue entry#set_editable)
+      ]
+end
+
+let new_tientry ~name ?(listprop = []) =
+  new tientry ~name ~widget:(GEdit.entry ())
+
+
+class tispin_button ~(widget : GEdit.spin_button) ~name ~parent_tree ~pos
+    ?(insert_evbox=true) parent_window =
+object
+    val spin_button = widget
+  inherit tientry ~widget:(widget :> GEdit.entry) ~name ~parent_tree ~pos
+      ~insert_evbox parent_window
+
+  method private class_name = "GEdit.spin_button"
+  initializer
+    classe <- "spin_button";
+      proplist <- proplist @
+      [ "digits",
+       new prop_int ~name:"digits" ~init:"0"
+                    ~set:(ftrue spin_button#set_digits);
+       "update_policy",
+       new prop_spin_button_update_policy ~name:"update_policy"
+         ~init:"ALWAYS"
+         ~set:(ftrue spin_button#set_update_policy);
+       "numeric",
+       new prop_bool ~name:"numeric" ~init:"false"
+         ~set:(ftrue spin_button#set_numeric);
+       "wrap",
+       new prop_bool ~name:"wrap" ~init:"false"
+         ~set:(ftrue spin_button#set_wrap);
+       "shadow_type",
+       new prop_shadow ~name:"shadow_type" ~init:"NONE"
+         ~set:(ftrue spin_button#set_shadow_type);
+       "snap_to_ticks",
+       new prop_bool ~name:"snap_to_ticks" ~init:"false"
+         ~set:(ftrue spin_button#set_snap_to_ticks)
+      ]
+    
+end
+
+
+let get_adjustment () =
+  let rv = ref 0. and rl = ref 0. and ru = ref 100. and rsi = ref 1.
+      and rpi = ref 10. and rps = ref 10. in
+  let w  = GWindow.window ~modal:true () in
+  let v  = GPack.vbox  ~packing:w#add () in
+  let l  = GMisc.label ~text:"adjustment properties" ~packing:v#pack () in
+  let h1 = GPack.hbox ~packing:v#pack () in
+  let l1 = GMisc.label ~text:"value" ~packing:h1#pack () in
+  let e1 = GEdit.entry ~text:"0." ~packing:h1#pack () in
+  let h2 = GPack.hbox ~packing:v#pack () in
+  let l2 = GMisc.label ~text:"lower" ~packing:h2#pack () in
+  let e2 = GEdit.entry ~text:"0." ~packing:h2#pack () in
+  let h3 = GPack.hbox ~packing:v#pack () in
+  let l3 = GMisc.label ~text:"upper" ~packing:h3#pack () in
+  let e3 = GEdit.entry ~text:"100." ~packing:h3#pack () in
+  let h4 = GPack.hbox ~packing:v#pack () in
+  let l4 = GMisc.label ~text:"step_incr" ~packing:h4#pack () in
+  let e4 = GEdit.entry ~text:"1." ~packing:h4#pack () in
+  let h5 = GPack.hbox ~packing:v#pack () in
+  let l5 = GMisc.label ~text:"page_incr" ~packing:h5#pack () in
+  let e5 = GEdit.entry ~text:"10." ~packing:h5#pack () in
+  let h6 = GPack.hbox ~packing:v#pack () in
+  let l6 = GMisc.label ~text:"page_size" ~packing:h6#pack () in
+  let e6 = GEdit.entry ~text:"10." ~packing:h6#pack () in
+  let h7 = GPack.hbox ~packing:v#pack () in
+  let b1 = GButton.button ~label:"OK" ~packing:h7#pack () in
+  let b2 = GButton.button ~label:"Cancel" ~packing:h7#pack () in
+  w#show ();
+  b1#connect#clicked
+    ~callback:(fun () ->
+      begin
+       try rv  := float_of_string e1#text with _ ->
+       try rv  := float_of_int (int_of_string e1#text) with _ -> () end;
+      begin
+       try rl  := float_of_string e2#text with _ ->
+       try rl  := float_of_int (int_of_string e2#text) with _ -> () end;
+      begin
+       try ru  := float_of_string e3#text with _ ->
+       try ru  := float_of_int (int_of_string e3#text) with _ -> () end;
+      begin
+       try rsi := float_of_string e4#text with _ ->
+       try rsi := float_of_int (int_of_string e4#text) with _ -> () end;
+      begin
+       try rpi := float_of_string e5#text with _ ->
+       try rpi := float_of_int (int_of_string e5#text) with _ -> () end;
+      begin
+       try rps := float_of_string e6#text with _ ->
+       try rps := float_of_int (int_of_string e6#text) with _ -> () end;
+      w#destroy ());
+  b2#connect#clicked ~callback:w#destroy;
+  w#connect#destroy ~callback:GMain.Main.quit;
+  GMain.Main.main ();
+  !rv, !rl, !ru, !rsi, !rpi, !rps
+
+let new_tispin_button ~name ?(listprop = []) =
+  let v, l, u, si, pi, ps = get_adjustment () in
+  new tispin_button ~name
+    ~widget:(GEdit.spin_button ~adjustment:
+              (GData.adjustment ~value:v ~lower:l ~upper:u
+                 ~step_incr:si ~page_incr:pi ~page_size:ps ()) ())
+
+
+class ticombo ~(widget : GEdit.combo) ~name ~parent_tree ~pos
+    ?(insert_evbox=true) parent_window =
+object
+  val combo = widget
+  inherit tiwidget ~name ~widget ~parent_tree ~pos
+      ~insert_evbox parent_window
+
+  method private class_name = "GEdit.combo"
+  initializer
+    classe <- "combo";
+      proplist <- proplist @
+      [ "use_arrows",
+       new prop_combo_use_arrows ~name:"use_arrows" ~init:"true"
+                    ~set:(ftrue combo#set_use_arrows);
+       "case_sensitive",
+       new prop_bool ~name:"case_sensitive" ~init:"false"
+                    ~set:(ftrue combo#set_case_sensitive)
+      ]
+end
+
+let new_ticombo ~name ?(listprop = []) =
+  new ticombo ~name ~widget:(GEdit.combo ())
+
+