46 lines
1.3 KiB
ReStructuredText
46 lines
1.3 KiB
ReStructuredText
|
|
||
|
Generators
|
||
|
==========
|
||
|
|
||
|
Generators are sub classes of
|
||
|
|
||
|
.. autoclass:: boxes.Boxes
|
||
|
|
||
|
Most code is directly in this class. Sub class are supposed to over
|
||
|
write the ``.__init__()`` and ``.render()`` method.
|
||
|
|
||
|
The Boxes class keeps a cairo canvas object (self.ctx) that all
|
||
|
drawing is made on. In addition it keeps a couple of global settings
|
||
|
used for various drawing operations. See the ``.__init__()`` method
|
||
|
for the details.
|
||
|
|
||
|
For implementing a new generator forking an existing one or using the
|
||
|
``boxes/generators/_template.py`` is probably easier than starting
|
||
|
from scratch.
|
||
|
|
||
|
Many methods and attributes are for use of the sub classes. These
|
||
|
methods are the interface for the user interfaces to interact with the
|
||
|
generators:
|
||
|
|
||
|
.. automethod:: boxes.Boxes.__init__
|
||
|
|
||
|
.. automethod:: boxes.Boxes.parseArgs
|
||
|
.. automethod:: boxes.Boxes.render
|
||
|
|
||
|
.. automethod:: boxes.Boxes.open
|
||
|
.. automethod:: boxes.Boxes.close
|
||
|
|
||
|
Handling Generators
|
||
|
-------------------
|
||
|
|
||
|
To handle the generators there is code in the ``boxes.generators``
|
||
|
package.
|
||
|
|
||
|
.. automodule:: boxes.generators
|
||
|
:members:
|
||
|
:undoc-members:
|
||
|
|
||
|
This adds generators to the user interfaces automatically. For this to
|
||
|
work it is important that the class names are unique. So whenever you
|
||
|
start a new generator please change the class name right away.
|