now notified.
MatitaMisc.decrease_font_size;
connect_menu_item main#normalFontSizeMenuItem
MatitaMisc.reset_font_size;
+ ignore (main#scriptNotebook#connect#switch_page
+ (fun page -> (MatitaScript.at_page page)#activate));
method private externalEditor () =
let script = MatitaScript.current () in
method newScript () =
let scrolledWindow = GBin.scrolled_window () in
let tab_label = GMisc.label ~text:"foo" () in
- ignore (main#scriptNotebook#prepend_page ~tab_label:tab_label#coerce scrolledWindow#coerce);
let script =
MatitaScript.script
~urichooser:(fun source_view uris ->
~parent:(MatitaMisc.get_gui ())#main#toplevel ())
~parent:scrolledWindow ~tab_label ()
in
+ ignore (main#scriptNotebook#prepend_page ~tab_label:tab_label#coerce scrolledWindow#coerce);
main#scriptNotebook#goto_page 0;
sequents_viewer#reset;
sequents_viewer#load_logo;
(** {2 Instances} *)
val cicBrowser: unit -> MatitaGuiTypes.cicBrowser
-(** {2 Singleton instances} *)
+(** {2 To be called just once} *)
val sequentsViewer_instance: GPack.notebook -> MatitaGuiTypes.sequentsViewer
(** {2 Global changes} *)
let grafite_status = self#grafite_status in
List.iter (fun o -> o grafite_status) observers
+ method activate =
+ self#notify
+
method loadFromString s =
buffer#set_text s;
self#reset_buffer;
_script := s::!_script;
s
-let current () =
+let at_page page =
let notebook = (MatitaMisc.get_gui ())#main#scriptNotebook in
- let parent = notebook#get_nth_page notebook#current_page in
+ let parent = notebook#get_nth_page page in
try
List.find (fun s -> s#has_parent parent) !_script
with
Not_found -> assert false
;;
+let current () =
+ at_page ((MatitaMisc.get_gui ())#main#scriptNotebook#current_page)
+
let iter_scripts f = List.iter f !_script;;
let _ =
(** {2 History} *)
+ method activate : unit
method advance : ?statement:string -> unit -> unit
method retract : unit -> unit
method goto: [`Top | `Bottom | `Cursor] -> unit -> unit
script
val current: unit -> script
+val at_page: int -> script
val iter_scripts: (script -> unit) -> unit