Module Wp_gui


module Wp_gui: sig .. end

exception Stop

type strategy_code = {
   sp_target : string;
   sp_kf : Kernel_function.t option;
   sp_bhv : string list;
   sp_ip : Property.t option;
}
type strategy_call = {
   sc_caller : Kernel_function.t;
   sc_called : Kernel_function.t;
   sc_callat : Cil_types.stmt;
}
type strategy =
| Snone
| Scode of strategy_code
| Scall of strategy_call
val kind_of_property : Property.identified_property -> string
val get_strategy : Pretty_source.localizable -> strategy
val run_and_prove : Design.main_window_extension_points -> strategy -> unit
val wp_highlight : GSourceView2.source_buffer ->
Pretty_source.localizable -> start:int -> stop:int -> unit
val is_rte_generated : Cil_types.kernel_function -> bool
val is_rte_precond : Cil_types.kernel_function -> bool
val add_rte_menu : GMenu.menu GMenu.factory ->
Design.main_window_extension_points -> Pretty_source.localizable -> unit
val add_wp_menu : GMenu.menu GMenu.factory ->
Design.main_window_extension_points -> Pretty_source.localizable -> unit
val wp_select : GMenu.menu GMenu.factory ->
Design.main_window_extension_points ->
button:int -> Pretty_source.localizable -> unit
val wp_model_menu : (string * string) list

type p_select =
| NoProver
| Prover of string
val wp_prover_menu : (string * p_select) list
val wp_prover_get : unit -> p_select
val wp_dir : string Pervasives.ref
val wp_script : unit -> unit
val wp_prover_set : p_select -> unit
val wp_panel : Design.main_window_extension_points ->
string * GObj.widget * (unit -> unit) option
val main : < register_panel : (Design.main_window_extension_points ->
string * GObj.widget * (unit -> unit) option) ->
'a;
register_source_highlighter : (GSourceView2.source_buffer ->
Pretty_source.localizable ->
start:int -> stop:int -> unit) ->
'b;
register_source_selector : (GMenu.menu GMenu.factory ->
Design.main_window_extension_points ->
button:int -> Pretty_source.localizable -> unit) ->
'c;
.. > ->
'a