1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
Workbench
=========
The workbench plugin, found in the :mod:`envisage.ui.workbench.api` package,
provides a style of user interface that is often (but not exclusively) found in
integrated development environments (IDEs). Note that this does not mean that
all of your user interfaces must fit this pattern -- just that if they do, then
we have done a lot of the work for you.
Workbench user interfaces are based on 3 simple concepts:
1) Views
Views are primarily used to present information to the user to help them
perform their current task.
In an IDE application, views might be:
- file tree
- class outlines
2) Editors
Editors allow the user to manipulate data and objects to perform their
current task. Editors are really the focus of users attention with the
views used to provide supporting information. Editors are grouped together
geographically in what is known as the *editor area*.
In an IDE application, editors would contain the source code that a
developer is currently working on.
3) Perspectives
A perspective is a particular grouping of views (usually around the editor
area) that correspond to a user task.
For example, in an IDE, I might have the following perspectives:
- Coding perspective
This is the perspective that the user (in this case a developer) would be
in when they are actually writing the code. It might contain views that
show the files in the current project, the outline of the current class
etc, and the editors would contain the source code that they are actually
working on.
- Debugging perspective
In this perspective, the user would still see the source code in the
editors, but the views might show things like breakpoints,
variable watches, stack information etc.
In keeping with the Envisage philosophy of making code as reuseable as
possible, the workbench plugin is just a thin layer over the Pyface Workbench
widget to allow views, editors and perspectives to be contributed via plugins.
.. toctree::
:maxdepth: 2
preferences.rst
|