Module Gtk_helper.Configuration

module Configuration: sig .. end
Configuration module for the GUI: all magic visual constants should use this mechanism (window width, ratios, ...).
Since Carbon-20101201

type configData = 
| ConfInt of int
| ConfBool of bool
| ConfFloat of float
| ConfString of string
| ConfList of configData list
val load : unit -> unit
val save : unit -> unit
val set : string -> configData -> unit
Set a configuration element, with a key. Overwrites the previous values
val find : string -> configData
Find a configuration elements, given a key. Raises Not_found if it cannot find it
val find_int : ?default:int -> string -> int
Like find but extracts the integer. Raises Not_found if the key is found but is not an integer. Raises Not_found if no default is given and the key is not found. If a default is given and the key is not found then the default value is stored for the given key and returned.
val use_int : string -> (int -> unit) -> unit
Looks for an integer configuration element, and if it is found, it is given to the given function. Otherwise, does nothing
val set_int : string -> int -> unit
Sets a ConfigInt
val find_bool : ?default:bool -> string -> bool
Same as .
val use_bool : string -> (bool -> unit) -> unit
Same as Gtk_helper.Configuration.use_int.
val set_bool : string -> bool -> unit
Sets a ConfigBool
val find_float : ?default:float -> string -> float
Same as Gtk_helper.Configuration.find_int.
val use_float : string -> (float -> unit) -> unit
Same as Gtk_helper.Configuration.use_int.
val set_float : string -> float -> unit
Sets a ConfigFloat
val find_string : ?default:string -> string -> string
Same as Gtk_helper.Configuration.find_int.
val use_string : string -> (string -> unit) -> unit
Same as Gtk_helper.Configuration.use_int.
val find_list : string -> configData list
val use_list : string -> (configData list -> unit) -> unit
val set_list : string -> configData list -> unit

Helpers to connect widgets to configuration values. The configuration value is first pushed to the widget using method #set, or the ~default value is used instead.

Then, a callback is registered into the widget via #connect such that subsequent values from user's action are saved back into the configuration file.

class type ['a] selector = object .. end
Abstract interface to the connected widget.
val config_int : key:string -> default:int -> int #selector -> unit
val config_bool : key:string -> default:bool -> bool #selector -> unit
val config_string : key:string ->
default:string -> string #selector -> unit
val config_values : key:string ->
default:'a ->
values:('a * string) list -> 'a #selector -> unit
The values field is used as a dictionary of available values. They are compared with Pervasives.(=).