package frama-c
Install
    
    dune-project
 Dependency
Authors
- 
  
    
    MMichele Alberti
- 
  
    
    TThibaud Antignac
- 
  
    
    GGergö Barany
- 
  
    
    PPatrick Baudin
- 
  
    
    TThibaut Benjamin
- 
  
    
    AAllan Blanchard
- 
  
    
    LLionel Blatter
- 
  
    
    FFrançois Bobot
- 
  
    
    RRichard Bonichon
- 
  
    
    QQuentin Bouillaguet
- 
  
    
    DDavid Bühler
- 
  
    
    ZZakaria Chihani
- 
  
    
    LLoïc Correnson
- 
  
    
    JJulien Crétin
- 
  
    
    PPascal Cuoq
- 
  
    
    ZZaynah Dargaye
- 
  
    
    BBasile Desloges
- 
  
    
    JJean-Christophe Filliâtre
- 
  
    
    PPhilippe Herrmann
- 
  
    
    MMaxime Jacquemin
- 
  
    
    FFlorent Kirchner
- 
  
    
    AAlexander Kogtenkov
- 
  
    
    TTristan Le Gall
- 
  
    
    JJean-Christophe Léchenet
- 
  
    
    MMatthieu Lemerre
- 
  
    
    DDara Ly
- 
  
    
    DDavid Maison
- 
  
    
    CClaude Marché
- 
  
    
    AAndré Maroneze
- 
  
    
    TThibault Martin
- 
  
    
    FFonenantsoa Maurica
- 
  
    
    MMelody Méaulle
- 
  
    
    BBenjamin Monate
- 
  
    
    YYannick Moy
- 
  
    
    PPierre Nigron
- 
  
    
    AAnne Pacalet
- 
  
    
    VValentin Perrelle
- 
  
    
    GGuillaume Petiot
- 
  
    
    DDario Pinto
- 
  
    
    VVirgile Prevosto
- 
  
    
    AArmand Puccetti
- 
  
    
    FFélix Ridoux
- 
  
    
    VVirgile Robles
- 
  
    
    JJan Rochel
- 
  
    
    MMuriel Roger
- 
  
    
    JJulien Signoles
- 
  
    
    NNicolas Stouls
- 
  
    
    KKostyantyn Vorobyov
- 
  
    
    BBoris Yakobowski
Maintainers
Sources
sha256=0220bc743b7da2468ceb926f331edc7ddfaa7c603ba47962de3e33c8e1e3f593
    
    
  doc/frama-c.gui/Frama_c_gui/Design/class-main_window/index.html
Class Design.main_windowSource
inherit view_codeMain Components
method toplevel : main_window_extension_pointsThe whole GUI aka self
The object managing the menubar and the toolbar.
method file_tree : Frama_c_gui.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 : Frama_c_gui.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, Format.formatter, unit) 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
Source viewers
method source_viewer : Frama_c_gui.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 : Frama_c_gui.Source_manager.tThe multi-tab source file display widget containing the original source.
Dialog Boxes
Display the analysis configuration dialog and offer the opportunity to launch to the user
method error : 'a. ?parent:GWindow.window_skel ->
  ?reset:bool ->
  ('a, Format.formatter, unit) 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.
Extension Points
method register_source_selector : (GMenu.menu GMenu.factory ->
                                    main_window_extension_points ->
                                    button:int ->
                                    Frama_c_gui.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 ->
                                       Frama_c_gui.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.
method 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.
General features
Force 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.
Force to redisplay the current displayed buffer. Plugins should call this method whenever they have changed the globals. For example whenever a plugin adds an annotation, the buffers need to be redisplayed.
method 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, Format.formatter, unit) format -> 'aPretty print a temporary information in the status bar
If 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 : 'a 'b. (< event : GObj.event_ops.. > as 'a) ->
  ('b, Format.formatter, unit) format ->
  'bHelp message displayed when entering the widget