(* Copyright (C) 2004-2005, HELM Team. * * This file is part of HELM, an Hypertextual, Electronic * Library of Mathematics, developed at the Computer Science * Department, University of Bologna, Italy. * * HELM 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 (at your option) any later version. * * HELM 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 HELM; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, * MA 02111-1307, USA. * * For details, see the HELM World-Wide-Web page, * http://helm.cs.unibo.it/ *) (** multi selection gtkMathView which handle mactions and hyperlinks. Mactions * are handled internally. Hyperlinks are handled by calling an user provided * callback *) class type clickableMathView = object inherit GMathViewAux.multi_selection_math_view (** set hyperlink callback. None disable hyperlink handling *) method set_href_callback: (string -> unit) option -> unit method string_of_selected_terms: string method update_font_size: unit end class type sequentViewer = object inherit clickableMathView (* |+* @return the list of selected terms. Selections which are not terms are * ignored +| method get_selected_terms: Cic.term list |+* @return the list of selected hypothese. Selections which are not * hypotheses are ignored +| method get_selected_hypotheses: Cic.hypothesis list *) (** load a sequent and render it into parent widget *) method load_sequent: Cic.metasenv -> int -> unit end class type sequentsViewer = object method reset: unit method load_sequents: ProofEngineTypes.status -> unit method goto_sequent: int -> unit (* to be called _after_ load_sequents *) end class type cicBrowser = object method load: MatitaTypes.mathViewer_entry -> unit (* method loadList: string list -> MatitaTypes.mathViewer_entry -> unit *) method loadInput: string -> unit end (** {2 Constructors} *) (** meta constructor *) type 'widget constructor = ?hadjustment:GData.adjustment -> ?vadjustment:GData.adjustment -> ?font_size:int -> ?log_verbosity:int -> ?width:int -> ?height:int -> ?packing:(GObj.widget -> unit) -> ?show:bool -> unit -> 'widget val clickableMathView: clickableMathView constructor val sequentViewer: sequentViewer constructor val sequentsViewer: notebook:GPack.notebook -> sequentViewer:sequentViewer -> unit -> sequentsViewer val cicBrowser: unit -> cicBrowser (** mathview wide functions *) val increase_font_size: unit -> unit val decrease_font_size: unit -> unit val reset_font_size: unit -> unit val refresh_all_browsers: unit -> unit (** act on all cicBrowsers *) val update_font_sizes: unit -> unit (** {2 singleton instances} *) val sequentViewer_instance: unit -> sequentViewer val sequentsViewer_instance: unit -> sequentsViewer val mathViewer: unit -> MatitaTypes.mathViewer