summaryrefslogtreecommitdiff
path: root/otherlibs/labltk/support/widget.mli
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/labltk/support/widget.mli')
-rw-r--r--otherlibs/labltk/support/widget.mli91
1 files changed, 91 insertions, 0 deletions
diff --git a/otherlibs/labltk/support/widget.mli b/otherlibs/labltk/support/widget.mli
new file mode 100644
index 0000000000..cf139a03f0
--- /dev/null
+++ b/otherlibs/labltk/support/widget.mli
@@ -0,0 +1,91 @@
+(* Support for widget manipulations *)
+
+type 'a widget
+ (* widget is an abstract type *)
+
+type any
+and button
+and canvas
+and checkbutton
+and entry
+and frame
+and label
+and listbox
+and menu
+and menubutton
+and message
+and radiobutton
+and scale
+and scrollbar
+and text
+and toplevel
+
+val forget_type : 'a widget -> any widget
+val coe : 'a widget -> any widget
+
+val default_toplevel : toplevel widget
+ (* [default_toplevel] is "." in Tk, the toplevel widget that is
+ always existing during a Tk session. Destroying [default_toplevel]
+ ends the main loop
+ *)
+
+val atom : parent: 'a widget -> name: string -> any widget
+ (* [atom parent name] returns the widget [parent.name]. The widget is
+ not created. Only its name is returned. In a given parent, there may
+ only exist one children for a given name.
+ This function should only be used to check the existence of a widget
+ with a known name. It doesn't add the widget to the internal tables
+ of CamlTk.
+ *)
+
+val name : 'a widget -> string
+ (* [name w] returns the name (tk "path") of a widget *)
+
+(*--*)
+(* The following functions are used internally.
+ There is normally no need for them in users programs
+ *)
+
+val known_class : 'a widget -> string
+ (* [known_class w] returns the class of a widget (e.g. toplevel, frame),
+ as known by the CamlTk interface.
+ Not equivalent to "winfo w" in Tk.
+ *)
+
+val dummy : any widget
+ (* [dummy] is a widget used as context when we don't have any.
+ It is *not* a real widget.
+ *)
+
+val new_atom : parent:'a widget -> ?name: string -> string -> 'b widget
+
+val get_atom : string -> any widget
+ (* [get_atom path] returns the widget with Tk path [path] *)
+
+val remove : 'a widget -> unit
+ (* [remove w] removes widget from the internal tables *)
+
+(* Subtypes tables *)
+val widget_any_table : string list
+val widget_button_table : string list
+val widget_canvas_table : string list
+val widget_checkbutton_table : string list
+val widget_entry_table : string list
+val widget_frame_table : string list
+val widget_label_table : string list
+val widget_listbox_table : string list
+val widget_menu_table : string list
+val widget_menubutton_table : string list
+val widget_message_table : string list
+val widget_radiobutton_table : string list
+val widget_scale_table : string list
+val widget_scrollbar_table : string list
+val widget_text_table : string list
+val widget_toplevel_table : string list
+
+val chk_sub : string -> 'a list -> 'a -> unit
+val check_class : 'a widget -> string list -> unit
+ (* Widget subtyping *)
+
+exception IllegalWidgetType of string
+ (* Raised when widget command applied illegally*)