diff options
author | Enrico Tassi <gareuselesinge@debian.org> | 2015-01-25 14:42:51 +0100 |
---|---|---|
committer | Enrico Tassi <gareuselesinge@debian.org> | 2015-01-25 14:42:51 +0100 |
commit | 7cfc4e5146be5666419451bdd516f1f3f264d24a (patch) | |
tree | e4197645da03dc3c7cc84e434cc31d0a0cca7056 /ide/command_windows.ml | |
parent | 420f78b2caeaaddc6fe484565b2d0e49c66888e5 (diff) |
Imported Upstream version 8.5~beta1+dfsg
Diffstat (limited to 'ide/command_windows.ml')
-rw-r--r-- | ide/command_windows.ml | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/ide/command_windows.ml b/ide/command_windows.ml deleted file mode 100644 index 67b09656..00000000 --- a/ide/command_windows.ml +++ /dev/null @@ -1,158 +0,0 @@ -(************************************************************************) -(* v * The Coq Proof Assistant / The Coq Development Team *) -(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2014 *) -(* \VV/ **************************************************************) -(* // * This file is distributed under the terms of the *) -(* * GNU Lesser General Public License Version 2.1 *) -(************************************************************************) - -class command_window coqtop current = -(* let window = GWindow.window - ~allow_grow:true ~allow_shrink:true - ~width:500 ~height:250 - ~position:`CENTER - ~title:"CoqIde queries" ~show:false () - in *) - let views = ref [] in - let frame = GBin.frame ~label:"Command Pane" ~shadow_type:`IN () in - let _ = frame#misc#hide () in - let _ = GtkData.AccelGroup.create () in - let hbox = GPack.hbox ~homogeneous:false ~packing:frame#add () in - let toolbar = GButton.toolbar - ~orientation:`VERTICAL - ~style:`ICONS - ~tooltips:true - ~packing:(hbox#pack - ~expand:false - ~fill:false) - () - in - let notebook = GPack.notebook ~scrollable:true - ~packing:(hbox#pack - ~expand:true - ~fill:true - ) - () - in - let _ = - toolbar#insert_button - ~tooltip:"Hide Commands Pane" - ~text:"Hide Pane" - ~icon:(Ideutils.stock_to_widget `CLOSE) - ~callback:frame#misc#hide - () - in - let new_page_menu = - toolbar#insert_button - ~tooltip:"New Page" - ~text:"New Page" - ~icon:(Ideutils.stock_to_widget `NEW) - () - in - - let remove_cb () = - let index = notebook#current_page in - let () = notebook#remove_page index in - views := Minilib.list_filter_i (fun i x -> i <> index) !views - in - let _ = - toolbar#insert_button - ~tooltip:"Delete Page" - ~text:"Delete Page" - ~icon:(Ideutils.stock_to_widget `DELETE) - ~callback:remove_cb - () - in -object(self) - val frame = frame - - - val new_page_menu = new_page_menu - val notebook = notebook - - method frame = frame - method new_command ?command ?term () = - let frame = GBin.frame - ~shadow_type:`ETCHED_OUT - () - in - let _ = notebook#append_page frame#coerce in - notebook#goto_page (notebook#page_num frame#coerce); - let vbox = GPack.vbox ~homogeneous:false ~packing:frame#add () in - let hbox = GPack.hbox ~homogeneous:false ~packing:vbox#pack () in - let (combo,_) = GEdit.combo_box_entry_text ~strings:Coq_commands.state_preserving - ~packing:hbox#pack - () - in - let entry = GEdit.entry ~packing:(hbox#pack ~expand:true) () in - entry#misc#set_can_default true; - let r_bin = - GBin.scrolled_window - ~vpolicy:`AUTOMATIC - ~hpolicy:`AUTOMATIC - ~packing:(vbox#pack ~fill:true ~expand:true) () in - let ok_b = GButton.button ~label:"Ok" ~packing:(hbox#pack ~expand:false) () in - let result = GText.view ~packing:r_bin#add () in - let () = views := !views @ [result] in - result#misc#modify_font !current.Preferences.text_font; - let clr = Tags.color_of_string !current.Preferences.background_color in - result#misc#modify_base [`NORMAL, `COLOR clr]; - result#misc#set_can_focus true; (* false causes problems for selection *) - result#set_editable false; - let on_activate c () = - if List.mem combo#entry#text Coq_commands.state_preserving then c () - else result#buffer#set_text "Error: Not a state preserving command" - in - let callback () = - let com = combo#entry#text in - let phrase = - if String.get com (String.length com - 1) = '.' - then com ^ " " else com ^ " " ^ entry#text ^" . " - in - try - result#buffer#set_text - (match Coq.interp !coqtop ~raw:true 0 phrase with - | Interface.Fail (l,str) -> - ("Error while interpreting "^phrase^":\n"^str) - | Interface.Good results -> - ("Result for command " ^ phrase ^ ":\n" ^ results)) - with e -> - let s = Printexc.to_string e in - assert (Glib.Utf8.validate s); - result#buffer#set_text s - in - ignore (combo#entry#connect#activate ~callback:(on_activate callback)); - ignore (ok_b#connect#clicked ~callback:(on_activate callback)); - - begin match command,term with - | None,None -> () - | Some c, None -> - combo#entry#set_text c; - - | Some c, Some t -> - combo#entry#set_text c; - entry#set_text t - - | None , Some t -> - entry#set_text t - end; - on_activate callback (); - entry#misc#grab_focus (); - entry#misc#grab_default (); - ignore (entry#connect#activate ~callback); - ignore (combo#entry#connect#activate ~callback); - self#frame#misc#show () - - method refresh_font () = - let iter view = view#misc#modify_font !current.Preferences.text_font in - List.iter iter !views - - method refresh_color () = - let clr = Tags.color_of_string !current.Preferences.background_color in - let iter view = view#misc#modify_base [`NORMAL, `COLOR clr] in - List.iter iter !views - - initializer - ignore (new_page_menu#connect#clicked ~callback:self#new_command); - (* ignore (window#event#connect#delete (fun _ -> window#misc#hide(); true));*) -end |