X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2FmatitaGui.ml;h=70a909a57c0a05234f8ae93061fd790b8ae34372;hb=fd96ce8e13f4f9adbeef2d9feb32f94dfcfaadad;hp=16af244349b40bbaf69027b8a83a55663c94b209;hpb=c5d4ad1c98c1434b95a8a9b1c8697dd36cf39623;p=helm.git diff --git a/helm/matita/matitaGui.ml b/helm/matita/matitaGui.ml index 16af24434..70a909a57 100644 --- a/helm/matita/matitaGui.ml +++ b/helm/matita/matitaGui.ml @@ -41,6 +41,8 @@ class stringListModel' uriChoiceDialog = end *) +open Printf + open MatitaGeneratedGui open MatitaGtkMisc @@ -49,25 +51,26 @@ class gui file = let toolbar = new toolBarWin ~file () in let main = new mainWin ~file () in let about = new aboutWin ~file () in - let dialog = new genericDialog ~file () in - let uriChoice = new uriChoiceDialog ~file () in - let interpChoice = new interpChoiceDialog ~file () in let fileSel = new fileSelectionWin ~file () in let proof = new proofWin ~file () in + let check = new checkWin ~file () in let keyBindingBoxes = (* event boxes which should receive global key events *) - [ toolbar#toolBarEventBox; proof#proofWinEventBox ] + [ toolbar#toolBarEventBox; proof#proofWinEventBox; main#mainWinEventBox ] + in + let console = + MatitaConsole.console ~evbox:main#consoleEventBox + ~packing:main#scrolledConsole#add () in - let uriChoices = new stringListModel uriChoice#uriChoiceTreeView in object (self) initializer (* glade's check widgets *) List.iter (fun w -> w#check_widgets ()) (let c w = (w :> unit>) in - [ c about; c dialog; c fileSel; c main; c proof; c toolbar; - c uriChoice; c interpChoice ]); + [ c about; c fileSel; c main; c proof; c toolbar; c check ]); (* show/hide commands *) toggle_visibility toolbar#toolBarWin main#showToolBarMenuItem; toggle_visibility proof#proofWin main#showProofMenuItem; + toggle_visibility check#checkWin main#showCheckMenuItem; (* "global" key bindings *) List.iter (fun (key, callback) -> self#addKeyBinding key callback) [ GdkKeysyms._F3, @@ -79,21 +82,45 @@ class gui file = about#aboutWin#show ())); ignore (about#aboutDismissButton#connect#clicked (fun _ -> about#aboutWin#misc#hide ())); + about#aboutLabel#set_label (Pcre.replace ~pat:"@VERSION@" + ~templ:BuildTimeConf.version about#aboutLabel#label); (* menus *) List.iter (fun w -> w#misc#set_sensitive false) [ main#saveMenuItem; main#saveAsMenuItem ]; main#helpMenu#set_right_justified true; - (* uri choice *) - () + (* console *) + console#echo_message (sprintf "\tMatita version %s\n" + BuildTimeConf.version); + console#echo_prompt (); + console#misc#grab_focus () - method toolbar = toolbar - method main = main method about = about - method dialog = dialog - method uriChoice = uriChoice - method interpChoice = interpChoice + method check = check + method console = console method fileSel = fileSel + method main = main method proof = proof + method toolbar = toolbar + + method newUriDialog () = + let dialog = new uriChoiceDialog ~file () in + dialog#check_widgets (); + dialog + + method newInterpDialog () = + let dialog = new interpChoiceDialog ~file () in + dialog#check_widgets (); + dialog + + method newConfirmationDialog () = + let dialog = new confirmationDialog ~file () in + dialog#check_widgets (); + dialog + + method newEmptyDialog () = + let dialog = new emptyDialog ~file () in + dialog#check_widgets (); + dialog method private addKeyBinding key callback = List.iter (fun evbox -> add_key_binding key callback evbox) @@ -104,7 +131,11 @@ class gui file = ignore (main#quitMenuItem#connect#activate callback); self#addKeyBinding GdkKeysyms._q callback - method uriChoices = uriChoices + method setPhraseCallback = console#set_callback end +let instance = + let gui = lazy (new gui (Helm_registry.get "matita.glade_file")) in + fun () -> Lazy.force gui +