X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaGtkMisc.mli;h=46e5845964fa1284ad2edd11a89c03d415e7aea2;hb=ef9ec8cb57d15426a96fe40d056eb07804753bb9;hp=03847ac870b4d506c0ad7a6952787f49794ca0c5;hpb=c5d4ad1c98c1434b95a8a9b1c8697dd36cf39623;p=helm.git diff --git a/helm/matita/matitaGtkMisc.mli b/helm/matita/matitaGtkMisc.mli index 03847ac87..46e584596 100644 --- a/helm/matita/matitaGtkMisc.mli +++ b/helm/matita/matitaGtkMisc.mli @@ -31,10 +31,26 @@ val toggle_visibility: 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 +val connect_button: GButton.button -> (unit -> unit) -> unit + + (** connect a unit -> unit callback to a particular key press event. Event can + * be specified using its keysym and a list of modifiers which must be in + * effect for the callback to be executed. Further signal processing of other + * key press events remains unchanged; further signal processing of the + * specified key press depends on the stop parameter *) +val connect_key: + GObj.event_ops -> + ?modifiers:Gdk.Tags.modifier list -> + ?stop:bool -> (* stop signal handling when the given key has been pressed? + * Defaults to false *) + Gdk.keysym -> (* (= int) the key, see GdkKeysyms.ml *) + (unit -> unit) -> (* callback *) + unit + (** single string column list *) class stringListModel: GTree.view -> @@ -46,3 +62,35 @@ class stringListModel: method easy_selection: unit -> string list end +(** {2 Matita GUI components} *) + +class type gui = + 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 + + (** {3 Dialogs} *) + + (** @raise MatitaTypes.Cancel *) +val interactive_user_uri_choice: gui:#gui -> MatitaTypes.choose_uris_callback + + (** @raise MatitaTypes.Cancel *) +val interactive_interp_choice: gui:#gui -> MatitaTypes.choose_interp_callback + + (** @return true if user hit "ok" button, false if user hit "cancel" button + * @param cancel if set to true a cancel button is shown to the user, otherwise + * it is not (and indeed the function will return true). Defaults to true *) +val ask_confirmation: + gui:#gui -> + ?cancel:bool -> ?title:string -> ?msg:string -> unit -> + bool + + (** @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 +