summaryrefslogtreecommitdiff
path: root/ide/utils/okey.mli
diff options
context:
space:
mode:
Diffstat (limited to 'ide/utils/okey.mli')
-rw-r--r--ide/utils/okey.mli114
1 files changed, 114 insertions, 0 deletions
diff --git a/ide/utils/okey.mli b/ide/utils/okey.mli
new file mode 100644
index 00000000..a0effe72
--- /dev/null
+++ b/ide/utils/okey.mli
@@ -0,0 +1,114 @@
+(**************************************************************************)
+(* Cameleon *)
+(* *)
+(* Copyright (C) 2002 Institut National de Recherche en Informatique et *)
+(* en Automatique. All rights reserved. *)
+(* *)
+(* This program is free software; you can redistribute it and/or modify *)
+(* it under the terms of the GNU General Public License as published by *)
+(* the Free Software Foundation; either version 2 of the License, or *)
+(* any later version. *)
+(* *)
+(* This program is distributed in the hope that it will be useful, *)
+(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)
+(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)
+(* GNU General Public License for more details. *)
+(* *)
+(* You should have received a copy of the GNU General Public License *)
+(* along with this program; if not, write to the Free Software *)
+(* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA *)
+(* 02111-1307 USA *)
+(* *)
+(* Contact: Maxence.Guesdon@inria.fr *)
+(**************************************************************************)
+
+(** Okey interface.
+
+ Once the lib is compiled and installed, you can use it by referencing
+ it with the [Okey] module. You must add [okey.cmo] or [okey.cmx]
+ on the commande line when you link.
+*)
+
+type modifier = Gdk.Tags.modifier
+
+(** Set the default modifier list. The first default value is [[]].*)
+val set_default_modifiers : modifier list -> unit
+
+(** Set the default modifier mask. The first default value is
+ [[`MOD2 ; `MOD3 ; `MOD4 ; `MOD5 ; `LOCK]].
+ The mask defines the modifiers not taken into account
+ when looking for the handler of a key press event.
+*)
+val set_default_mask : modifier list -> unit
+
+(** [add widget key callback] associates the [callback] function to the event
+ "key_press" with the given [key] for the given [widget].
+
+ @param remove when true, the previous handlers for the given key and modifier
+ list are not kept.
+ @param cond this function is a guard: the [callback] function is not called
+ if the [cond] function returns [false].
+ The default [cond] function always returns [true].
+
+ @param mods the list of modifiers. If not given, the default modifiers
+ are used.
+ You can set the default modifiers with function {!Okey.set_default_modifiers}.
+
+ @param mask the list of modifiers which must not be taken
+ into account to trigger the given handler. [mods]
+ and [mask] must not have common modifiers. If not given, the default mask
+ is used.
+ You can set the default modifiers mask with function {!Okey.set_default_mask}.
+*)
+val add :
+ < connect : < destroy : callback: (unit -> unit) -> GtkSignal.id; .. >;
+ event : GObj.event_ops; get_oid : int; .. > ->
+ ?cond: (unit -> bool) ->
+ ?mods: modifier list ->
+ ?mask: modifier list ->
+ Gdk.keysym ->
+ (unit -> unit) ->
+ unit
+
+(** It calls {!Okey.add} for each given key.*)
+val add_list :
+ < connect : < destroy : callback: (unit -> unit) -> GtkSignal.id; .. >;
+ event : GObj.event_ops; get_oid : int; .. > ->
+ ?cond: (unit -> bool) ->
+ ?mods: modifier list ->
+ ?mask: modifier list ->
+ Gdk.keysym list ->
+ (unit -> unit) ->
+ unit
+
+(** Like {!Okey.add} but the previous handlers for the
+ given modifiers and key are not kept.*)
+val set :
+ < connect : < destroy : callback: (unit -> unit) -> GtkSignal.id; .. >;
+ event : GObj.event_ops; get_oid : int; .. > ->
+ ?cond: (unit -> bool) ->
+ ?mods: modifier list ->
+ ?mask: modifier list ->
+ Gdk.keysym ->
+ (unit -> unit) ->
+ unit
+
+(** It calls {!Okey.set} for each given key.*)
+val set_list :
+ < connect : < destroy : callback: (unit -> unit) -> GtkSignal.id; .. >;
+ event : GObj.event_ops; get_oid : int; .. > ->
+ ?cond: (unit -> bool) ->
+ ?mods: modifier list ->
+ ?mask: modifier list ->
+ Gdk.keysym list ->
+ (unit -> unit) ->
+ unit
+
+(** Remove the handlers associated to the given widget.
+ This is automatically done when a widget is destroyed but
+ you can do it yourself. *)
+val remove_widget :
+ < connect : < destroy : callback: (unit -> unit) -> GtkSignal.id; .. >;
+ event : GObj.event_ops; get_oid : int; .. > ->
+ unit ->
+ unit