|
 Overview : Aethera : kamera : KDB : KDE Studio : Kivio : Korelib : Kugar : MARS : tkJabber VeePee

VeePee: Overview
Location / Home / Projects / VeePee / Overview  Components
VeePee is made up of the following components.
- A set of C++ header files that define the KDE application API.
- A library that implements the KDE application API.
- A set of C header files that define the GNOME application API.
- A library that implements the GNOME application API.
- A KDE shell kvpshell that runs
standalone scripts.
- A GNOME shell gvpshell that runs
standalone scripts.
- A generic shell vpshell that runs
standalone scripts under either KDE or GNOME according to the
user's preferences.
- A Python module vp.py that
implements the VeePee class hierachy. It is made
available to scripts automatically.
- A Python module that implements the KDE versions of the VeePee
controls. It is made available to scripts automatically.
- A Python module that implements the GNOME versions of the
VeePee controls. It is made available to scripts automatically.
 A Scripter's View of VeePee
As far as the user is concerned, VeePee defines a set of Python classes.
Most of these classes implement a particular GUI control. Because of the nature
of the first applications to embed VeePee, more output controls have
been implemented than input controls, but a full set of controls will be
added over time.
A signal/slot mechanism is used to communicate between controls. Signals can be
connected to either a Python function or class method. The control that emits
a signal has no knowledge of what, if anything, the signal is connected to.
Controls have a defined set of properties which determine the appearence and
behaviour of the control. Properties can be set when the property is created,
and be subsequently changed as the following code fragment demonstrates.
# Create a label.
lab = vp.Label(parent,text = 'The initial text')
# Print the current label text.
print lab.text
# Set some new text.
lab.text = 'Some new text'
See the file `controls.txt' in the `doc' sub-directory of the distribution for
a description of all the available controls, their properties and signals.
 Embedding VeePee
Embedding VeePee in your application can be as simple as an API call
to create a Python interpreter and an API call to execute a script in the
interpreter. Link in the relevant application API library, and that's it.
You may also use the API to do the following.
- Define some initial arguments to the script.
- Define a set of signals that your application can use to
communicate with a script.
- Emit a signal (with any Python object as an argument) to a
script.
- Define one or more widgets within your application that scripts
use as a container for any controls they create themselves.
- Run multiple scripts in the same interpreter, or run scripts in
different interpreters.
See the files `KDEapi.txt' and `GNOMEapi.txt' in the `doc' sub-directory of the
distribution for a description of the full APIs.
 Adding Application Specific Functionality
Most applications will want to expose some of their own functionality to the
user. To do this the application developer must implement a Python extension
module. Normally you would use one of the existing Python bindings generators
(SIP for C++ and
SWIG for C) to automate as much of this
process as possible.
The VeePee application APIs provide a mechanism for automatically
making the application specific module available to scripts.
|