Home

  Editor

The Editor is the IDE. The top level notebook represent open modules. A module is a source code file like a python module, a Python package, an wxApp file or any of the wxFrame variants (To create a module see Palette)
For each module the views supported by the module will be hosted on a second level notebook. Any actions applicable to the view like refreshing the source code or adding a module will be accessible by right clicking on the view or selecting from the 'Edit' menu. Most of these options are also available from the toolbar. Usually a default action will be triggered by double clicking on a view.
 

Modules

 These are the supported modules:
Python module Standard python source code file.
Python package Standard python package, loads any __init__.py and shows it's directory as a package of modules as well as sub-directories containing a __init__.py file.
Text Plain text file
wxApp The module that hosts the wxApp object. A module list is maintained in this module. The App module controls which is the main frame of an application and currently maintains relative paths for the module list.
wxFrame variants Currently wrapped wxFrame type modules are wxFrame, wxDialog, wxMiniFrame, wxMDIParentFrame, wxMDIChildFrame.
These modules support the Designer view for visual frame creation.

Standard Pages

 These are the standard pages:
Interactive shell  Simple python shell.
Explorer An Explorer for your filesystem / workspace and sys.path. It shows folders and packages in a tree on the left and all valid Boa modules in a list on the right.
CVS folders (cyan) will display their entries file with icons showing if the file has been modified since the last check in. CVS update facilities are planned.
Zope browsing / document editing is also supported.

The explorer configuration can not be edited in the GUI (yet), edit the file Explorer.msw.cfg or Explorer.gtk.cfg depending on your platform. Under the Explorer section, the following key/values are defined:
Filesystem: List of root drives or network shares
Workspaces: Dictionary {name: path} of frequently used source direcories
DefaultWorkspace: Name of workspace in which Boa will open up.
Zope: Structure {name: {'host': [host], 'httpport': [httpport], 'ftpport': [ftpport], 'username': [username], 'passwd': [passwd], 'path': [path to object], 'name': [name of object]}}

Views

 These are the views on modules:
Source Syntax highlighting source code editor. It is based on the fantastic Scintilla editor by Neil Hodgson and wrapped for wxWindows by Robin.
Basic supported functionality:
  • Auto indent/dedent
  • Block indent/dedent
  • Block comment/uncomment
  • Find text
  • Limited code completion and parameter tips
  • Folding
  • Limited code browsing, hold down ctrl and move mouse cursor over source code
Designer This is the GUI bulder view for the source.
The view is activated by clicking the  button
Data The DataView shows the invisible design-time objects. These are objects created from the 'Utilities' palette page.
Explore This view show the list of classes and function defined in a module. Exploding reveals methods and events.
Use this view for navigating quickly thru your code.
Hierarchy The inheritance hierarchy of the objects in the model, color coded as follows:
Magenta Class not defined in module
Gray Base class 
Blue Derived class
Documentation An html view on the doc strings in your code. The format is structured around the wxWindows look.
UML OGL enabled view of all the classes and their inheritance relationships. This view is not complete yet.
Info View for creation and maintenance of the comment block at the top of code identifying the author, licence etc.
ToDo Displays a list of all comments in your code started with # XXX
Handy for reviewing what needs to be done and a jumppad for quick access.
Application View on wxApp files for maintenance of an application. Add edit and remove modules of the application thru this view.

The Imports view can only be accessed from this view.
 

Imports Another OGL enabled view, this time showing the import relationships between modules of an application. 
i.e. who imports who.
Package Shows all modules and other packages inside a package.

Results Views

 There can be multiple instances of these views on a module, they are usually the result of an operation on the module.
The following are defined:
Application find results List of modules in which the search text was found.
Cyclops An HTML report of all circular references and related info.
Based on module by Tim Peters
Profiler List of profiling statistics. Sortable on the columns.
Diff modules Difference between two modules. The current module (1) and another selected module (2) is used.
Differences are noted in the margin. Plus means that a line was added in (2) and minus means that a line from (1) is no longer in (2)
A block specifies an informational line that underlines the lines in the source with +'s and -'s
Uses ndiff written by Tim Peters
Compare apps The result of the comparison of the current app and another selected by the file dialog. Double clicking on a result in the list opens a module diff of the two modules in the apps.