X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaScript.mli;h=af1c68cc350d58c74cd5839e0f28c8895edfc116;hb=6857e22b8a58162893119f7747c5848031fd59ce;hp=b1d32eb999774158c6ee6efd0007cc1442b6e28c;hpb=f264827750988795bd85d0eb6a7d3ecf236d224e;p=helm.git diff --git a/helm/matita/matitaScript.mli b/helm/matita/matitaScript.mli index b1d32eb99..af1c68cc3 100644 --- a/helm/matita/matitaScript.mli +++ b/helm/matita/matitaScript.mli @@ -1,4 +1,4 @@ -(* Copyright (C) 2005, HELM Team. +(* Copyright (C) 2004-2005, HELM Team. * * This file is part of HELM, an Hypertextual, Electronic * Library of Mathematics, developed at the Computer Science @@ -23,23 +23,61 @@ * http://helm.cs.unibo.it/ *) - (** script failures (e.g. going before the beginning or after the end of the - * script) *) -exception Script_failure of string - class type script = - object - (** script window used by this script *) - method win: MatitaGeneratedGui.scriptWin +object + + (** @return current status *) + method status: MatitaTypes.status + + (** {2 Observers} *) + + method addObserver : (MatitaTypes.status -> unit) -> unit + + (** {2 History} *) + + method advance : ?statement:string -> unit -> unit + method retract : unit -> unit + method goto: [`Top | `Bottom | `Cursor] -> unit -> unit + method reset: unit -> unit + + (** {2 Load/save} *) + + method assignFileName : string -> unit (* to the current active file *) + method loadFromFile : unit -> unit + method saveToFile : unit -> unit + + (** {2 Current proof} (if any) *) + + (** @return true if there is an ongoing proof, false otherise *) + method onGoingProof: unit -> bool + + method proofStatus: ProofEngineTypes.status (** @raise Statement_error *) + method proofMetasenv: Cic.metasenv (** @raise Statement_error *) + method proofContext: Cic.context (** @raise Statement_error *) + + method setGoal: int -> unit + + (* debug *) + method dump : unit -> unit - (** fill text buffer reading a script from a file *) - method loadFrom: string -> unit +end - (** adds a tactical at current script execution point and execute it. Used - * when the user uses buttons or console instead of directly editing the - * script *) - method advance: string -> MatitaTypes.command_outcome - end + (** @param set_star callback used to set the modified symbol (usually a star + * "*") on the side of a script name *) +val script: + buffer:GText.buffer -> + init:MatitaTypes.status -> + mathviewer: MatitaTypes.mathViewer-> + urichooser: (UriManager.uri list -> UriManager.uri list) -> + ask_confirmation: + (title:string -> message:string -> [`YES | `NO | `CANCEL]) -> + set_star: (string -> bool -> unit) -> + unit -> + script -val script: interpreter:MatitaTypes.interpreter -> script +(* each time script above is called an internal ref is set, instance will return + * the value of this ref *) +(* TODO Zack: orrible solution until we found a better one for having a single + * access point for the script *) +val instance: unit -> script