class type main_window_extension_points =object..end
This is the type of extension points for the GUI.
method toplevel : main_window_extension_pointsThe whole GUI aka self
: unit -> Menu_manager.menu_managerThe object managing the menubar and the toolbar.
method file_tree : Filetree.tThe tree containing the list of files and functions
method file_tree_view : GTree.viewThe tree view containing the list of files and functions
method main_window : GWindow.windowThe main window
method annot_window : Wtext.textThe information panel.
The text is automatically cleared whenever the selection is changed.
You should not directly use the buffer contained in the annot_window
to add text. Use the method pretty_information.
method pretty_information : 'a. ?scroll:bool -> ('a, Stdlib.Format.formatter, unit) Stdlib.format -> 'aPretty print a message in the annot_window,
optionally scrolling it to the beginning of the message.
method lower_notebook : GPack.notebookThe lower notebook with messages tabs
method source_viewer : GSourceView.source_viewThe GText.view showing the AST.
method source_viewer_scroll : GBin.scrolled_windowThe scrolling of the GText.view showing the AST.
method reactive_buffer : reactive_bufferThe buffer containing the AST.
method original_source_viewer : Source_manager.tThe multi-tab source file display widget containing the original source.
method launcher : unit -> unitDisplay the analysis configuration dialog and offer the opportunity to launch to the user
method error : 'a.
?parent:GWindow.window_skel ->
?reset:bool -> ('a, Stdlib.Format.formatter, unit) Stdlib.format -> 'aPopup a modal dialog displaying an error message. If reset is true
(default is false), the gui is reset after the dialog has been
displayed.
method register_source_selector : (GMenu.menu GMenu.factory ->
main_window_extension_points ->
button:int -> Pretty_source.localizable -> unit) ->
unitregister an action to perform when button is released on a given localizable. If the button 3 is released, the first argument is popped as a contextual menu.
method register_source_highlighter : (reactive_buffer ->
Pretty_source.localizable -> start:int -> stop:int -> unit) ->
unitregister an highlighting function to run on a given localizable
between start and stop in the given buffer.
Priority of Gtext.tags is used to decide which tag is rendered on
top of the other.
Design.main_window_extension_points.reactive_buffer instead
of a GSourceView.source_buffermethod register_panel : (main_window_extension_points ->
string * GObj.widget * (unit -> unit) option) ->
unitregister_panel (name, widget, refresh) registers a panel in GUI.
The arguments are the name of the panel to create,
the widget containing the panel and a function to be called on
refresh.
method reset : unit -> unitReset the GUI and its extensions to its initial state
method rehighlight : unit -> unitForce to rehighlight the current displayed buffer.
Plugins should call this method whenever they have changed the states
on which the function given to register_source_highlighter have been
updated.
method redisplay : unit -> unitmethod protect : cancelable:bool -> ?parent:GWindow.window_skel -> (unit -> unit) -> unitLock the GUI ; run the function ; catch all exceptions ; Unlock GUI The parent window must be set if this method is not called directly by the main window: it will ensure that error dialogs are transient for the right window.
Set cancelable to true if the protected action should be cancellable
by the user through button `Stop'.
method full_protect : 'a.
cancelable:bool -> ?parent:GWindow.window_skel -> (unit -> 'a) -> 'a optionLock the GUI ; run the function ; catch all exceptions ; Unlock GUI ;
returns f ().
The parent window must be set if this method is not called directly
by the main window: it will ensure that error dialogs are transient
for the right window.
Set cancelable to true if the protected action should be cancellable
by the user through button `Stop'.
method push_info : 'a. ('a, Stdlib.Format.formatter, unit) Stdlib.format -> 'aPretty print a temporary information in the status bar
method pop_info : unit -> unitRemove last temporary information in the status bar
method show_ids : boolIf true, the messages shown in the GUI can mention internal ids
(vid, sid, etc.). If false, other means of identification should
be used (line numbers, etc.).
method help_message : 'c 'b.
(< event : GObj.event_ops; .. > as 'c) ->
('b, Stdlib.Format.formatter, unit) Stdlib.format -> 'bHelp message displayed when entering the widget