win:GWindow.window -> check:GMenu.check_menu_item -> unit
val toggle_win:
- ?check:GMenu.check_menu_item -> GWindow.window -> (unit -> unit)
+ ?check:GMenu.check_menu_item -> GWindow.window -> unit -> unit
val add_key_binding: Gdk.keysym -> (unit -> 'a) -> GBin.event_box -> unit
(** {2 Matita GUI components} *)
class type gui =
- object
- method newUriDialog: unit -> MatitaGeneratedGui.uriChoiceDialog
+ object (* minimal gui object requirements *)
+ method newUriDialog: unit -> MatitaGeneratedGui.uriChoiceDialog
+ method newInterpDialog: unit -> MatitaGeneratedGui.interpChoiceDialog
+ method newConfirmationDialog: unit -> MatitaGeneratedGui.confirmationDialog
+ method newEmptyDialog: unit -> MatitaGeneratedGui.emptyDialog
end
-exception No_choice
+ (** {3 Dialogs} *)
+
+exception Cancel (* raised when no answer is given by the user *)
+
+ (** @raise Cancel *)
+val interactive_user_uri_choice: gui:#gui -> MatitaTypes.choose_uris_callback
+
+ (** @raise Cancel *)
+val interactive_interp_choice: gui:#gui -> MatitaTypes.choose_interp_callback
+
+ (** @return true if user hit "ok" button, false if user hit "cancel" button *)
+val ask_confirmation: gui:#gui -> ?title:string -> ?msg:string -> unit -> bool
- (** @raise No_choice *)
-val interactive_user_uri_choice:
- gui:#gui ->
- selection_mode:Gtk.Tags.selection_mode -> title:string -> msg:string ->
- ?nonvars_button:bool ->
- string list ->
- string list
+ (** @param multiline (default: false) if true a TextView widget will be used
+ * for prompting the user otherwise a TextEntry widget will be
+ * @return the string given by the user *)
+val ask_text:
+ gui:#gui -> ?title:string -> ?msg:string -> ?multiline:bool -> unit -> string