7 |
|
|
8 |
__version__ = "$Revision$" |
__version__ = "$Revision$" |
9 |
|
|
10 |
|
from Thuban import _ |
11 |
|
|
12 |
from messages import EXTENSION_CHANGED, EXTENSION_OBJECTS_CHANGED |
from messages import EXTENSION_CHANGED, EXTENSION_OBJECTS_CHANGED |
13 |
|
|
14 |
from base import TitledObject, Modifiable |
from base import TitledObject, Modifiable |
18 |
|
|
19 |
"""Represent a extension. A extension is a package of additional |
"""Represent a extension. A extension is a package of additional |
20 |
functionality to Thuban and contains a number of Objects |
functionality to Thuban and contains a number of Objects |
21 |
that can be freely defined in an extension. |
that can be freely defined in an extension. |
22 |
Each object must a a TitleObject with additional set "object.name". |
Each object must a a TitleObject with additional set "object.name". |
23 |
|
Furthermore, each object must implement the methods Subscribe, |
24 |
|
Unsubscribe and Destroy (i.e. derive from Modifiable). |
25 |
|
|
26 |
Extension objects send the following message types: |
Extension objects send the following message types: |
27 |
|
|
87 |
Modifiable.UnsetModified(self) |
Modifiable.UnsetModified(self) |
88 |
|
|
89 |
def TreeInfo(self): |
def TreeInfo(self): |
90 |
return ("Extension: %s" % self.title, |
return (_("Extension: %s") % self.title, |
91 |
["%s: %s" % (object.title, object.name) |
["%s: %s" % (object.title, object.name) |
92 |
for object in self.objects]) |
for object in self.objects]) |