in
let reparent () =
scrolledWin <- Some w;
- match cicMathView#misc#parent with
- | None -> w#add cicMathView#coerce
- | Some parent ->
- let parent =
- match cicMathView#misc#parent with
- None -> assert false
- | Some p -> GContainer.cast_container p
- in
- parent#remove cicMathView#coerce;
- w#add cicMathView#coerce
+ (match cicMathView#misc#parent with
+ | None -> ()
+ | Some parent ->
+ let parent =
+ match cicMathView#misc#parent with
+ None -> assert false
+ | Some p -> GContainer.cast_container p
+ in
+ parent#remove cicMathView#coerce);
+ w#add cicMathView#coerce;
+ ignore (w#vadjustment#set_value
+ (w#vadjustment#upper -. w#vadjustment#page_size));
+ ignore (w#vadjustment#connect#changed (fun _ ->
+ w#vadjustment#set_value
+ (w#vadjustment#upper -. w#vadjustment#page_size)))
in
goal2win <- (goal_switch, reparent) :: goal2win;
w#coerce
| _ -> self#blank ()
method private _loadNReference (NReference.Ref (uri,_)) =
- let obj = NCicEnvironment.get_checked_obj uri in
- self#_loadNObj (get_matita_script_current ())#status obj
+ let status = (get_matita_script_current ())#status in
+ let obj = NCicEnvironment.get_checked_obj status uri in
+ self#_loadNObj status obj
method private _loadDir dir =
let content = Http_getter.ls ~local:false dir in
=
(new sequentsViewer ~notebook ~cicMathView ():> MatitaGuiTypes.sequentsViewer)
-let cicBrowser () =
+let new_cicBrowser () =
let size = BuildTimeConf.browser_history_size in
let rec aux history =
let browser = new cicBrowser_impl ~history () in
GdkKeysyms._W (fun () -> win#toplevel#destroy ());
*)
cicBrowsers := browser :: !cicBrowsers;
- (browser :> MatitaGuiTypes.cicBrowser)
+ browser
in
let history = new MatitaMisc.browser_history size (`About `Blank) in
aux history
+(** @param reuse if set reused last opened cic browser otherwise
+* opens a new one. default is false *)
+let cicBrowser ?(reuse=false) t =
+ let browser =
+ if reuse then
+ (match !cicBrowsers with [] -> new_cicBrowser () | b :: _ -> b)
+ else
+ new_cicBrowser ()
+ in
+ match t with
+ None -> ()
+ | Some t -> browser#load t
+;;
+
let default_cicMathView () =
let res = cicMathView ~show:true () in
res#set_href_callback
(Some (fun uri ->
let uri = `NRef (NReference.reference_of_string uri) in
- (cicBrowser ())#load uri));
+ cicBrowser (Some uri)));
res
let cicMathView_instance =
let default_sequentsViewer notebook =
let cicMathView = cicMathView_instance () in
sequentsViewer ~notebook ~cicMathView ()
+
let sequentsViewer_instance =
let already_used = ref false in
fun notebook ->
(already_used := true;
default_sequentsViewer notebook)
-(** @param reuse if set reused last opened cic browser otherwise
-* opens a new one. default is false *)
-let show_entry ?(reuse=false) t =
- let browser =
- if reuse then
- (match !cicBrowsers with
- [] -> cicBrowser ()
- | b :: _ -> (b :> MatitaGuiTypes.cicBrowser))
- else
- cicBrowser ()
- in
- browser#load t
-;;
-
let refresh_all_browsers () =
List.iter (fun b -> b#refresh ~force:false ()) !cicBrowsers