Module Configwin (.ml)


module Configwin: sig .. end
This module is the interface of the Configwin library.


Types


type parameter_kind 
This type represents the different kinds of parameters.

type configuration_structure =
| Section of string * parameter_kind list (*label of the section, parameters*)
| Section_list of string * configuration_structure list (*label of the section, list of the sub sections*)
This type represents the structure of the configuration window.

type return_button =
| Return_apply (*The user clicked on Apply at least once before closing the window with Cancel or the window manager.*)
| Return_ok (*The user closed the window with the ok button.*)
| Return_cancel (*The user closed the window with the cancel button or the window manager but never clicked on the apply button.*)
To indicate what button pushed the user when the window is closed.

The key option class (to use with the Config_file library)


val string_to_key : string -> Gdk.Tags.modifier list * int
val key_to_string : Gdk.Tags.modifier list * int -> string
val key_cp_wrapper : (Gdk.Tags.modifier list * int) Config_file.wrappers
class key_cp : ?group:Config_file.group -> string list -> ?short_name:string -> Gdk.Tags.modifier list * int -> string -> [(Gdk.Tags.modifier list * int)] Config_file.cp_custom_type

Functions to create parameters


val string : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:(string -> unit) -> string -> string -> parameter_kind
string label value creates a string parameter.
editable : indicate if the value is editable (default is true).
expand : indicate if the entry widget must expand or not (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
val custom_string : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:('a -> unit) ->
to_string:('a -> string) ->
of_string:(string -> 'a) -> string -> 'a -> parameter_kind
Same as Configwin.string but for values which are not strings.
val bool : ?editable:bool ->
?help:string ->
?f:(bool -> unit) -> string -> bool -> parameter_kind
bool label value creates a boolean parameter.
editable : indicate if the value is editable (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
val strings : ?editable:bool ->
?help:string ->
?f:(string list -> unit) ->
?eq:(string -> string -> bool) ->
?add:(unit -> string list) ->
string -> string list -> parameter_kind
strings label value creates a string list parameter.
editable : indicate if the value is editable (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
eq : the comparison function, used not to have doubles in list. Default is Pervasives.(=). If you want to allow doubles in the list, give a function always returning false.
add : the function returning a list of strings when the user wants to add strings (default returns an empty list).
val list : ?editable:bool ->
?help:string ->
?f:('a list -> unit) ->
?eq:('a -> 'a -> bool) ->
?edit:('a -> 'a) ->
?add:(unit -> 'a list) ->
?titles:string list ->
?color:('a -> string option) ->
string -> ('a -> string list) -> 'a list -> parameter_kind
list label f_strings value creates a list parameter. f_strings is a function taking a value and returning a list of strings to display it. The list length should be the same for any value, and the same as the titles list length. The value is the initial list.
editable : indicate if the value is editable (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
eq : the comparison function, used not to have doubles in list. Default is Pervasives.(=). If you want to allow doubles in the list, give a function always returning false.
edit : an optional function to use to edit an element of the list. The function returns an element, no matter if element was changed or not. When this function is given, a "Edit" button appears next to the list.
add : the function returning a list of values when the user wants to add values (default returns an empty list).
titles : an optional list of titles for the list. If the f_strings function returns a list with more than one element, then you must give a list of titles.
color : an optional function returning the optional color for a given element. This color is used to display the element in the list. The default function returns no color for any element.
val color : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:(string -> unit) -> string -> string -> parameter_kind
color label value creates a color parameter.
editable : indicate if the value is editable (default is true).
expand : indicate if the entry widget must expand or not (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
val font : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:(string -> unit) -> string -> string -> parameter_kind
font label value creates a font parameter.
editable : indicate if the value is editable (default is true).
expand : indicate if the entry widget must expand or not (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
val combo : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:(string -> unit) ->
?new_allowed:bool ->
?blank_allowed:bool ->
string -> string list -> string -> parameter_kind
combo label choices value creates a combo parameter.
editable : indicate if the value is editable (default is true).
expand : indicate if the entry widget must expand or not (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
new_allowed : indicate if a entry not in the list of choices is accepted (default is false).
blank_allowed : indicate if the empty selection "" is accepted (default is false).
val text : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:(string -> unit) -> string -> string -> parameter_kind
text label value creates a text parameter.
editable : indicate if the value is editable (default is true).
expand : indicate if the box for the text must expand or not (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
val custom_text : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:('a -> unit) ->
to_string:('a -> string) ->
of_string:(string -> 'a) -> string -> 'a -> parameter_kind
Same as Configwin.text but for values which are not strings.
val html : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:(string -> unit) -> string -> string -> parameter_kind
Same as Configwin.text but html bindings are available in the text widget. Use the configwin_html_config utility to edit your bindings.
val filename : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:(string -> unit) -> string -> string -> parameter_kind
filename label value creates a filename parameter.
editable : indicate if the value is editable (default is true).
expand : indicate if the entry widget must expand or not (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
val filenames : ?editable:bool ->
?help:string ->
?f:(string list -> unit) ->
?eq:(string -> string -> bool) ->
string -> string list -> parameter_kind
filenames label value creates a filename list parameter.
editable : indicate if the value is editable (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
eq : the comparison function, used not to have doubles in list. Default is Pervasives.(=). If you want to allow doubles in the list, give a function always returning false.
val date : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:(int * int * int -> unit) ->
?f_string:(int * int * int -> string) ->
string -> int * int * int -> parameter_kind
date label value creates a date parameter.
editable : indicate if the value is editable (default is true).
expand : indicate if the entry widget must expand or not (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
f_string : the function used to display the date as a string. The parameter is a tupe (day,month,year), where month is between 0 and 11. The default function creates the string year/month/day.
val hotkey : ?editable:bool ->
?expand:bool ->
?help:string ->
?f:(Gdk.Tags.modifier list * int -> unit) ->
string -> Gdk.Tags.modifier list * int -> parameter_kind
hotkey label value creates a hot key parameter. A hot key is defined by a list of modifiers and a key code.
editable : indicate if the value is editable (default is true).
expand : indicate if the entry widget must expand or not (default is true).
help : an optional help message.
f : the function called to apply the value (default function does nothing).
val custom : ?label:string ->
GPack.box -> (unit -> unit) -> bool -> parameter_kind
custom box f expand creates a custom parameter, with the given box, the f function is called when the user wants to apply his changes, and expand indicates if the box must expand in its father.
label : if a value is specified, a the box is packed into a frame.

Functions creating configuration windows and boxes


val edit : ?apply:(unit -> unit) ->
string ->
?width:int ->
?height:int ->
configuration_structure list -> return_button
This function takes a configuration structure and creates a window to configure the various parameters.
apply : this function is called when the apply button is clicked, after giving new values to parameters.
val get : string ->
?width:int ->
?height:int ->
configuration_structure list -> return_button
This function takes a configuration structure and creates a window used to get the various parameters from the user. It is the same window as edit but there is no apply button.
val simple_edit : ?apply:(unit -> unit) ->
string ->
?width:int ->
?height:int -> parameter_kind list -> return_button
This function takes a list of parameter specifications and creates a window to configure the various parameters.
apply : this function is called when the apply button is clicked, after giving new values to parameters.
val simple_get : string ->
?width:int ->
?height:int -> parameter_kind list -> return_button
This function takes a list of parameter specifications and creates a window to configure the various parameters, without Apply button.
val box : parameter_kind list -> GData.tooltips -> GPack.box * (unit -> unit)
Create a GPack.box with the list of given parameters, Return the box and the function to call to apply new values to parameters.
val tabbed_box : configuration_structure list ->
(string * (unit -> unit)) list -> GData.tooltips -> GPack.box
Create a GPack.box with the list of given configuration structure list, and the given list of buttons (defined by their label and callback). Before calling the callback of a button, the apply function of each parameter is called.