Glossary
- action
- An action is an abstraction of a user interface component (e.g. a
push button or an entry in a menu) that can be triggered by the user
to perform some task.
- adapter
- An adapter is a class that is able to implement an interface
on behalf of another object. Adapters are instantiated automatically
when required and are destroyed only when the object they are
adapting is destroyed.
- attribute path
- An attribute path is a string used access a particular attribute of a
model. Models may be nested, i.e. contain sub-models and so
the string may contain . separated sequence of nested attribute
names.
- attribute type
- An attribute type defines the type of an attribute of a model.
It is implemented as a descriptor stored as a class attribute of the
model.
- controller
- A controller manages the interaction between the
editors of a view and a model.
- editor
- An editor is a view sub-class that can be
adapted to the IEditor interface. It
is created by an editor factory to handle a particular attribute of a
particular model.
- extension point
- An extension point is a mechanism by which a plugin can publish
and contribute to a list of objects. Each extension point has a unique
string identifier.
- interface
- An interface is a special form of model that is used to declare
the API than an object is expected to implement. It should not include
any implementation code, although it is normal to include method stubs
for documentation purposes.
- i/o manager
- An i/o manager manages the available types of storage
available and determines how and where objects may be stored.
- model
- A model is normally a collection of attributes each of which is defined
as an attribute type and is implemented by the
Model class. In simple cases a model may also be
implemented as a Python mapping object such as a dictionary.
- plugin
- A plugin is a wrapper, specifically an implementation of the
IPlugin interface, around a reusable component
that ensures it is decoupled from other reusable components.
Communication between plugins is implemented by
extension points and services
when a plugin is enabled.
- plugin manager
- A plugin manager is responsible for handling all
plugins, extension points and
services.
- service
- A service is an object that implements a particular interface
and is published by a plugin. A number of different services
may be available that implement a particular interface but an
application will not care which one it actually uses.
- shell
- A shell is an abstraction of an instance of an application’s user
interface, typically a graphical user interface. At its most general
level it manages and visualizes the set of actions and
tools that make up an application.
- shell manager
- A shell manager is responsible for the lifecycle of tools
and the shell objects they operate on.
- shell object
- A shell object is an object whose lifecycle is managed by a
shell manager.
- storage
- A persistent repository that can hold objects. Storage is classified
as either streaming storage or structured storage.
Storage may specify that it can only store objects of a particular
type. Each stored object has a unique storage location.
- storage location
- A storage location is the unique address of an object in
storage. The nature of the location will depend on the
storage. For example for a filesystem it may be the absolute pathname
of a file. A location might be implicit in that its value may depend
on the value of the object. In which case a user will not be able to
change the location.
- storage policy
- A storage policy is called by an i/o manager to determine if
an object should be allowed to be stored in a particular type of
storage.
- streaming storage
- Streaming storage is a class of storage that stores an object
as an encoded stream of bytes. A filesystem is the most common
example of streaming storage.
- structured storage
- Structured storage is a class of storage that stores an object
as some implicit structure specific to the storage.
- tool
- A tool is a sub-set of an application that allows the user to perform
a set of logically related actions on a shell object. A simple
application may consist of a single tool. A tool is implicitly
managed, i.e. it relies on a shell manager to manage the
lifecycle of the shell object it is operating on.
Unmanaged tools explicitly manage the objects
they operate on.
- toolkit
- A toolkit is an object that contains factories that create the
different GUI elements (menus, push buttons, file dialogs etc.) used
by dip. dip includes the QtToolkit
that contains factories for the standard Qt widgets.
- unmanaged tool
- An unmanaged tool is a tool that manages the lifecycle of the
object it is operating on itself.
- view
- A view is a QLayout or a
QWidget instance that can be
adapted to the IView interface. It
is created by a view factory which itself can contain a number of
sub-view factories.