[dia] PyDia inline API documentation overhaul
- From: Hans Breuer <hans src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [dia] PyDia inline API documentation overhaul
- Date: Tue, 24 Nov 2009 21:03:27 +0000 (UTC)
commit 8ab80c0955b4f2fe4178ae611935ed4310308d35
Author: Hans Breuer <hans breuer org>
Date: Tue Nov 24 21:40:40 2009 +0100
PyDia inline API documentation overhaul
Now the PyDia API documentation should be almost complete including member documentation. There are two new modes in pydiadoc using it:
- <Diagram>/Help/PyDia Update Docs: to update existing diagram preserving the layout
- <Toolbox>/Help/PyDia HTML Docs: using the standard pydoc/help facility to export to $tmp/dia.html
plug-ins/python/diamodule.c | 36 +-
plug-ins/python/pydia-color.c | 45 +-
plug-ins/python/pydia-cpoint.c | 24 +-
plug-ins/python/pydia-diagram.c | 102 +++-
plug-ins/python/pydia-diagramdata.c | 66 +++-
plug-ins/python/pydia-display.c | 64 ++-
plug-ins/python/pydia-export.c | 26 +-
plug-ins/python/pydia-font.c | 25 +-
plug-ins/python/pydia-geometry.c | 130 ++++--
plug-ins/python/pydia-handle.c | 32 ++-
plug-ins/python/pydia-image.c | 29 ++-
plug-ins/python/pydia-layer.c | 63 ++-
plug-ins/python/pydia-object.c | 93 +++-
plug-ins/python/pydia-paperinfo.c | 27 +-
plug-ins/python/pydia-properties.c | 23 +-
plug-ins/python/pydia-property.c | 26 +-
plug-ins/python/pydia-text.c | 29 ++-
plug-ins/python/pydiadoc.py | 83 +++-
samples/Self/PyDiaObjects.dia | 902 ++++++++++++++++++-----------------
19 files changed, 1206 insertions(+), 619 deletions(-)
---
diff --git a/plug-ins/python/diamodule.c b/plug-ins/python/diamodule.c
index aa50c9e..4719c81 100644
--- a/plug-ins/python/diamodule.c
+++ b/plug-ins/python/diamodule.c
@@ -494,36 +494,44 @@ PyDia_Message (PyObject *self, PyObject *args)
static PyMethodDef dia_methods[] = {
{ "group_create", PyDia_GroupCreate, METH_VARARGS,
- "create a group containing the given list of dia.Object(s)" },
+ "group_create(List of Object: objs) -> Object."
+ " Create a group containing the given list of dia.Object(s)" },
{ "diagrams", PyDia_Diagrams, METH_VARARGS,
- "returns the list of currently open diagrams" },
+ "diagrams() -> List of Diagram. Returns the list of currently open diagrams" },
{ "load", PyDia_Load, METH_VARARGS,
- "loads a diagram from the given filename" },
+ "load(string: name) -> Diagram. Loads a diagram from the given filename" },
{ "message", PyDia_Message, METH_VARARGS,
- "popup a dialog with given message" },
+ "message(int: type, string: msg) -> None. Popup a dialog with given message" },
{ "new", PyDia_New, METH_VARARGS,
- "create an empty diagram" },
+ "new(string: name) -> Diagram. Create an empty diagram" },
{ "get_object_type", PyDia_GetObjectType, METH_VARARGS,
- "from a type name like \"Standard - Line\" return the factory to create objects of that type, see: DiaObjectType" },
+ "get_object_type(string: type) -> ObjectType."
+ " From a type name like \"Standard - Line\" return the factory to create objects of that type, see: DiaObjectType" },
{ "registered_types", PyDia_RegisteredTypes, METH_VARARGS,
- "a dictionary of all registered object factories, aka. DiaObjectType" },
+ "registered_types() -> Dict of ObjectType indexed by their name."
+ " A dictionary of all registered object factories, aka. DiaObjectType" },
{ "active_display", PyDia_ActiveDisplay, METH_VARARGS,
- "delivers the currently active display 'dia.Display' or None" },
+ "active_display() -> Display. Delivers the currently active display 'dia.Display' or None" },
{ "update_all", PyDia_UpdateAll, METH_VARARGS,
- "force a global update of all existing diagrams" },
+ "update_all() -> None. Force an asynchronous update of all existing diagram displays" },
{ "register_export", PyDia_RegisterExport, METH_VARARGS,
- "allows to register an export filter written in Python. It needs to conform to the DiaRenderer interface." },
+ "register_export(string: name, string: extension, Renderer: r) -> None."
+ " Allows to register an export filter written in Python. It needs to conform to the DiaRenderer interface." },
{ "register_import", PyDia_RegisterImport, METH_VARARGS,
- "allows to register an import filter written in Python, that is mainly a callback function which fills the"
+ "register_import(string: name, string: extension, Callback: func) -> None."
+ " Allows to register an import filter written in Python, that is mainly a callback function which fills the"
"given DiaDiagramData from the given filename" },
{ "register_callback", PyDia_RegisterCallback, METH_VARARGS,
- "register a callback function which appears in the menu. Depending on the menu path used during registration"
+ "register_callback(string: description, string: menupath, Callback: func) -> None."
+ " Register a callback function which appears in the menu. Depending on the menu path used during registration"
"the callback gets called with the current DiaDiagramData object" },
{ "register_action", PyDia_RegisterAction, METH_VARARGS,
- "register a callback function which appears in the menu. Depending on the menu path used during registration"
+ "register_action(string: action, string: description, string: menupath, Callback: func) -> None."
+ " Register a callback function which appears in the menu. Depending on the menu path used during registration"
"the callback gets called with the current DiaDiagramData object" },
{ "register_plugin", PyDia_RegisterPlugin, METH_VARARGS,
- "registers a single plug-in given its filename" },
+ "register_plugin(string: filename) -> None."
+ " Registers a single plug-in given its filename, that is load a dynamic module." },
{ NULL, NULL }
};
diff --git a/plug-ins/python/pydia-color.c b/plug-ins/python/pydia-color.c
index 7bcf30d..5ac746c 100644
--- a/plug-ins/python/pydia-color.c
+++ b/plug-ins/python/pydia-color.c
@@ -22,6 +22,8 @@
#include "pydia-object.h"
#include "pydia-color.h"
+#include <structmember.h> /* PyMemberDef */
+
/*
* New
*/
@@ -66,25 +68,6 @@ PyDiaColor_Hash(PyObject *self)
}
/*
- * GetAttr
- */
-static PyObject *
-PyDiaColor_GetAttr(PyDiaColor *self, gchar *attr)
-{
- if (!strcmp(attr, "__members__"))
- return Py_BuildValue("[sss]", "red", "green", "blue");
- else if (!strcmp(attr, "red"))
- return PyFloat_FromDouble(self->color.red);
- else if (!strcmp(attr, "green"))
- return PyFloat_FromDouble(self->color.green);
- else if (!strcmp(attr, "blue"))
- return PyFloat_FromDouble(self->color.blue);
-
- PyErr_SetString(PyExc_AttributeError, attr);
- return NULL;
-}
-
-/*
* Repr / _Str
*/
static PyObject *
@@ -100,6 +83,15 @@ PyDiaColor_Str(PyDiaColor *self)
return py_s;
}
+static PyMemberDef PyDiaColor_Members[] = {
+ { "red", T_DOUBLE, offsetof(PyDiaColor, color.red), 0,
+ "double: red color component [0 .. 1.0]" },
+ { "green", T_DOUBLE, offsetof(PyDiaColor, color.green), 0,
+ "double: green color component [0 .. 1.0]" },
+ { "blue", T_DOUBLE, offsetof(PyDiaColor, color.blue), 0,
+ "double: blue color component [0 .. 1.0]" },
+ { NULL }
+};
/*
* Python objetcs
*/
@@ -111,7 +103,7 @@ PyTypeObject PyDiaColor_Type = {
0,
(destructor)PyDiaColor_Dealloc,
(printfunc)0,
- (getattrfunc)PyDiaColor_GetAttr,
+ (getattrfunc)0,
(setattrfunc)0,
(cmpfunc)PyDiaColor_Compare,
(reprfunc)0,
@@ -121,10 +113,19 @@ PyTypeObject PyDiaColor_Type = {
(hashfunc)PyDiaColor_Hash,
(ternaryfunc)0,
(reprfunc)PyDiaColor_Str,
- (getattrofunc)0,
+ PyObject_GenericGetAttr, /* tp_getattro */
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
"A color either defined by a color string or by a tuple with three elements "
- "(r, g, b) with type float 0.0 ... 1.0 or range int 0 ... 65535"
+ "(r, g, b) with type float 0.0 ... 1.0 or range int 0 ... 65535",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaColor_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-cpoint.c b/plug-ins/python/pydia-cpoint.c
index d69969c..edcf941 100644
--- a/plug-ins/python/pydia-cpoint.c
+++ b/plug-ins/python/pydia-cpoint.c
@@ -23,6 +23,8 @@
#include "pydia-cpoint.h"
#include "pydia-object.h"
+#include <structmember.h> /* PyMemberDef */
+
PyObject *
PyDiaConnectionPoint_New(ConnectionPoint *cpoint)
{
@@ -80,6 +82,17 @@ PyDiaConnectionPoint_GetAttr(PyDiaConnectionPoint *self, gchar *attr)
return NULL;
}
+#define T_INVALID -1 /* can't allow direct access due to pyobject->cpoint indirection */
+static PyMemberDef PyDiaConnectionPoint_Members[] = {
+ { "connected", T_INVALID, 0, RESTRICTED|READONLY,
+ "List of Object: read-only list of connected objects" },
+ { "object", T_INVALID, 0, RESTRICTED|READONLY,
+ "Object: the object owning this connection point" },
+ { "pos", T_INVALID, 0, RESTRICTED|READONLY,
+ "Point: read-only position of the connection point" },
+ { NULL }
+};
+
PyTypeObject PyDiaConnectionPoint_Type = {
PyObject_HEAD_INIT(&PyType_Type)
0,
@@ -103,5 +116,14 @@ PyTypeObject PyDiaConnectionPoint_Type = {
(PyBufferProcs *)0,
0L, /* Flags */
"One of the major features of Dia are connectable objects. They work by this type accesible "
- "through dia.Object.connections[]."
+ "through dia.Object.connections[].",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaConnectionPoint_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-diagram.c b/plug-ins/python/pydia-diagram.c
index e925ace..f337b76 100644
--- a/plug-ins/python/pydia-diagram.c
+++ b/plug-ins/python/pydia-diagram.c
@@ -30,6 +30,8 @@
#include "pydia-geometry.h"
#include "pydia-color.h"
+#include <structmember.h> /* PyMemberDef */
+
#include "app/load_save.h"
#include "app/connectionpoint_ops.h"
@@ -270,13 +272,13 @@ PyDiaDiagram_FindClosestConnectionPoint(PyDiaDiagram *self, PyObject *args)
double dist;
ConnectionPoint *cpoint;
PyObject *ret;
- PyDiaObject *obj;
+ PyDiaObject *obj = NULL;
- if (!PyArg_ParseTuple(args, "ddO!:Diagram.find_closest_connectionpoint",
+ if (!PyArg_ParseTuple(args, "dd|O!:Diagram.find_closest_connectionpoint",
&p.x, &p.y, PyDiaObject_Type, &obj))
return NULL;
dist = diagram_find_closest_connectionpoint(self->dia, &cpoint, &p,
- obj->object);
+ obj ? obj->object : NULL);
ret = PyTuple_New(2);
PyTuple_SetItem(ret, 0, PyFloat_FromDouble(dist));
if (cpoint)
@@ -465,30 +467,73 @@ PyDiaDiagram_ConnectAfter(PyDiaDiagram *self, PyObject *args)
}
static PyMethodDef PyDiaDiagram_Methods[] = {
- {"select", (PyCFunction)PyDiaDiagram_Select, 1},
- {"is_selected", (PyCFunction)PyDiaDiagram_IsSelected, 1},
- {"unselect", (PyCFunction)PyDiaDiagram_Unselect, 1},
- {"remove_all_selected", (PyCFunction)PyDiaDiagram_RemoveAllSelected, 1},
- {"update_extents", (PyCFunction)PyDiaDiagram_UpdateExtents, 1},
- {"get_sorted_selected", (PyCFunction)PyDiaDiagram_GetSortedSelected, 1},
+ {"select", (PyCFunction)PyDiaDiagram_Select, METH_VARARGS,
+ "select(Object: o) -> None. Add the given object to the selection."},
+ {"is_selected", (PyCFunction)PyDiaDiagram_IsSelected, METH_VARARGS,
+ "is_selected(Object: o) -> bool. True if the given object is already selected."},
+ {"unselect", (PyCFunction)PyDiaDiagram_Unselect, METH_VARARGS,
+ "unselect(Object: o) -> None. Remove the given object from the selection)"},
+ {"remove_all_selected", (PyCFunction)PyDiaDiagram_RemoveAllSelected, METH_VARARGS,
+ "remove_all_selected() -> None. Delete all selected objects."},
+ {"update_extents", (PyCFunction)PyDiaDiagram_UpdateExtents, METH_VARARGS,
+ "update_extents() -> None. Force recaculation of the diagram extents."},
+ {"get_sorted_selected", (PyCFunction)PyDiaDiagram_GetSortedSelected, METH_VARARGS,
+ "get_sorted_selected() -> list. Return the current selection sorted by Z-Order."},
{"get_sorted_selected_remove",
- (PyCFunction)PyDiaDiagram_GetSortedSelectedRemove, 1},
- {"add_update", (PyCFunction)PyDiaDiagram_AddUpdate, 1},
- {"add_update_all", (PyCFunction)PyDiaDiagram_AddUpdateAll, 1},
- {"update_connections", (PyCFunction)PyDiaDiagram_UpdateConnections, 1},
- {"flush", (PyCFunction)PyDiaDiagram_Flush, 1},
- {"find_clicked_object", (PyCFunction)PyDiaDiagram_FindClickedObject, 1},
- {"find_closest_handle", (PyCFunction)PyDiaDiagram_FindClosestHandle, 1},
+ (PyCFunction)PyDiaDiagram_GetSortedSelectedRemove, METH_VARARGS,
+ "get_sorted_selected_remove() -> list."
+ " Return sorted selection and remove it from the diagram."},
+ {"add_update", (PyCFunction)PyDiaDiagram_AddUpdate, METH_VARARGS,
+ "add_update(real: top, real: left, real: bottom, real: right) -> None."
+ " Add the given rectangle to the update queue."},
+ {"add_update_all", (PyCFunction)PyDiaDiagram_AddUpdateAll, METH_VARARGS,
+ "add_update_all() -> None. Add the diagram visible area to the update queue."},
+ {"update_connections", (PyCFunction)PyDiaDiagram_UpdateConnections, METH_VARARGS,
+ "update_connections(Object: o) -> None."
+ " Update all connections of the given object. Might move connected objects."},
+ {"flush", (PyCFunction)PyDiaDiagram_Flush, METH_VARARGS,
+ "flush() -> None. If no display update is queued, queue update."},
+ {"find_clicked_object", (PyCFunction)PyDiaDiagram_FindClickedObject, METH_VARARGS,
+ "find_clicked_object(real[2]: point, real: distance) -> Object."
+ " Find an object in the given distance of the given point."},
+ {"find_closest_handle", (PyCFunction)PyDiaDiagram_FindClosestHandle, METH_VARARGS,
+ "find_closest_handle(real[2]: point) -> (real: distance, Handle: h, Object: o)."
+ " Find the closest handle from point and return a tuple of the search results. "
+ " Handle and Object might be None."},
{"find_closest_connectionpoint",
- (PyCFunction)PyDiaDiagram_FindClosestConnectionPoint, 1},
- {"group_selected", (PyCFunction)PyDiaDiagram_GroupSelected, 1},
- {"ungroup_selected", (PyCFunction)PyDiaDiagram_UngroupSelected, 1},
- {"save", (PyCFunction)PyDiaDiagram_Save, 1},
- {"display", (PyCFunction)PyDiaDiagram_Display, 1},
- {"connect_after", (PyCFunction)PyDiaDiagram_ConnectAfter, 1},
+ (PyCFunction)PyDiaDiagram_FindClosestConnectionPoint, METH_VARARGS,
+ "find_closest_connectionpoint(real: x, real: y[, Object: o]) -> (real: dist, ConnectionPoint: cp)."
+ " Given a point and an optional object to exclude, return the distance and closest connection point or None."},
+ {"group_selected", (PyCFunction)PyDiaDiagram_GroupSelected, METH_VARARGS,
+ "group_selected() -> None. Turn the current selection into a group object."},
+ {"ungroup_selected", (PyCFunction)PyDiaDiagram_UngroupSelected, METH_VARARGS,
+ "ungroup_selected() -> None. Split all groups in the current selection into single objects."},
+ {"save", (PyCFunction)PyDiaDiagram_Save, METH_VARARGS,
+ "save(string: filename) -> None. Save the diagram under the given filename."},
+ {"display", (PyCFunction)PyDiaDiagram_Display, METH_VARARGS,
+ "display() -> Display. Create a new display of the diagram."},
+ {"connect_after", (PyCFunction)PyDiaDiagram_ConnectAfter, METH_VARARGS,
+ "connect_after(string: signal_name, Callback: func) -> None. Listen to diagram events in ['removed', 'selection_changed']."},
{NULL, 0, 0, NULL}
};
+#define T_INVALID -1 /* can't allow direct access due to pyobject->handle indirection */
+static PyMemberDef PyDiaDiagram_Members[] = {
+ { "data", T_INVALID, 0, RESTRICTED|READONLY, /* can't allow direct access due to pyobject->dia indirection */
+ "Backward-compatible base-class access" },
+ { "displays", T_INVALID, 0, RESTRICTED|READONLY,
+ "The list of current displays of this diagram." },
+ { "filename", T_INVALID, 0, RESTRICTED|READONLY,
+ "Filename in utf-8 encoding." },
+ { "modified", T_INVALID, 0, RESTRICTED|READONLY,
+ "Modification state." },
+ { "selected", T_INVALID, 0, RESTRICTED|READONLY,
+ "The current object selection." },
+ { "unsaved", T_INVALID, 0, RESTRICTED|READONLY,
+ "True if the diagram was not saved yet." },
+ { NULL }
+};
+
static PyObject *
PyDiaDiagram_GetAttr(PyDiaDiagram *self, gchar *attr)
{
@@ -497,7 +542,7 @@ PyDiaDiagram_GetAttr(PyDiaDiagram *self, gchar *attr)
"data", "displays", "filename",
"modified", "selected", "unsaved");
else if (!strcmp(attr, "data"))
- return PyDiaDiagramData_New (self->dia->data);
+ return PyDiaDiagramData_New (self->dia->data);
else if (!strcmp(attr, "filename"))
return PyString_FromString(self->dia->filename);
else if (!strcmp(attr, "unsaved"))
@@ -548,5 +593,14 @@ PyTypeObject PyDiaDiagram_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "Subclass of dia.DiagramData (at least in the C implmentation) adding interfacing the GUI elements."
+ "Subclass of dia.DiagramData (at least in the C implementation) adding interfacing the GUI elements.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ PyDiaDiagram_Methods, /* tp_methods */
+ PyDiaDiagram_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-diagramdata.c b/plug-ins/python/pydia-diagramdata.c
index 8e5722d..250bedd 100644
--- a/plug-ins/python/pydia-diagramdata.c
+++ b/plug-ins/python/pydia-diagramdata.c
@@ -28,6 +28,8 @@
#include "pydia-color.h"
#include "pydia-paperinfo.h"
+#include <structmember.h> /* PyMemberDef */
+
#include "app/diagram.h"
PyObject *
@@ -178,7 +180,7 @@ PyDiaDiagramData_DeleteLayer(PyDiaDiagramData *self, PyObject *args)
return Py_None;
}
-/*
+/*!
* Callback for "object_add" and "object_remove "signal, used by the connect_after method,
* it's a proxy for the python function, creating the values it needs.
* Params are those of the signals on the Diagram object.
@@ -287,17 +289,52 @@ PyDiaDiagramData_ConnectAfter(PyDiaDiagramData *self, PyObject *args)
static PyMethodDef PyDiaDiagramData_Methods[] = {
- {"update_extents", (PyCFunction)PyDiaDiagramData_UpdateExtents, 1},
- {"get_sorted_selected", (PyCFunction)PyDiaDiagramData_GetSortedSelected, 1},
- {"add_layer", (PyCFunction)PyDiaDiagramData_AddLayer, 1},
- {"raise_layer", (PyCFunction)PyDiaDiagramData_RaiseLayer, 1},
- {"lower_layer", (PyCFunction)PyDiaDiagramData_LowerLayer, 1},
- {"set_active_layer", (PyCFunction)PyDiaDiagramData_SetActiveLayer, 1},
- {"delete_layer", (PyCFunction)PyDiaDiagramData_DeleteLayer, 1},
- {"connect_after", (PyCFunction)PyDiaDiagramData_ConnectAfter, 1},
+ {"update_extents", (PyCFunction)PyDiaDiagramData_UpdateExtents, METH_VARARGS,
+ "update_extents() -> None. Recalculation of the diagram extents."},
+ {"get_sorted_selected", (PyCFunction)PyDiaDiagramData_GetSortedSelected, METH_VARARGS,
+ "get_sorted_selected() -> list. Return the current selection sorted by Z-Order."},
+ {"add_layer", (PyCFunction)PyDiaDiagramData_AddLayer, METH_VARARGS,
+ "add_layer(Layer: layer[, int: position]) -> Layer."
+ " Add a layer to the diagram at the top or the given position counting from bottom."},
+ {"raise_layer", (PyCFunction)PyDiaDiagramData_RaiseLayer, METH_VARARGS,
+ "raise_layer() -> None. Move the layer towards the top."},
+ {"lower_layer", (PyCFunction)PyDiaDiagramData_LowerLayer, METH_VARARGS,
+ "lower_layer() -> None. Move the layer towards the bottom."},
+ {"set_active_layer", (PyCFunction)PyDiaDiagramData_SetActiveLayer, METH_VARARGS,
+ "set_active_layer(Layer: layer) -> None. Make the given layer the active one."},
+ {"delete_layer", (PyCFunction)PyDiaDiagramData_DeleteLayer, METH_VARARGS,
+ "delete_layer(Layer: layer) -> None. Remove the given layer from the diagram."},
+ {"connect_after", (PyCFunction)PyDiaDiagramData_ConnectAfter, METH_VARARGS,
+ "connect_after(string: signal_name, Callback: func) -> None."
+ " Listen to diagram events in ['object_add', 'object_remove']."},
{NULL, 0, 0, NULL}
};
+#define T_INVALID -1 /* can't allow direct access due to pyobject->data indirection */
+static PyMemberDef PyDiaDiagramData_Members[] = {
+ { "extents", T_INVALID, 0, RESTRICTED|READONLY,
+ "Rectangle covering all object's bounding boxes." },
+ { "bg_color", T_INVALID, 0, RESTRICTED|READONLY,
+ "Color of the diagram's background."},
+ { "paper", T_INVALID, 0, RESTRICTED|READONLY,
+ "Paperinfo of the diagram."},
+ { "layers", T_INVALID, 0, RESTRICTED|READONLY,
+ "Read-only list of the diagrams layers."},
+ { "active_layer", T_INVALID, 0, RESTRICTED|READONLY,
+ "Layer currently active in the diagram."},
+ { "grid_width", T_INVALID, 0, RESTRICTED|READONLY,
+ "Tuple(real: x, real: y) : describing the grid size."},
+ { "grid_visible", T_INVALID, 0, RESTRICTED|READONLY,
+ "bool: visibility of the grid."},
+ { "hguides", T_INVALID, 0, RESTRICTED|READONLY,
+ "List of real: horizontal guides."},
+ { "vguides", T_INVALID, 0, RESTRICTED|READONLY,
+ "List of real: vertical guides."},
+ { "selected", T_INVALID, 0, RESTRICTED|READONLY,
+ "List of Object: current selection."},
+ { NULL }
+};
+
static PyObject *
PyDiaDiagramData_GetAttr(PyDiaDiagramData *self, gchar *attr)
{
@@ -399,5 +436,14 @@ PyTypeObject PyDiaDiagramData_Type = {
0L, /* Flags */
"The 'low level' diagram object. It contains everything to manipulate diagrams from im- and export "
"filters as well as from the UI. It does not provide any access to GUI elements related to the diagram."
- "Use the subclass dia.Diagram object for such matters."
+ "Use the subclass dia.Diagram object for such matters.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ PyDiaDiagramData_Methods, /* tp_methods */
+ PyDiaDiagramData_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-display.c b/plug-ins/python/pydia-display.c
index 2ff597b..1e8b063 100644
--- a/plug-ins/python/pydia-display.c
+++ b/plug-ins/python/pydia-display.c
@@ -23,6 +23,8 @@
#include "pydia-diagram.h"
#include "pydia-object.h" /* for PyObject_HEAD_INIT */
+#include <structmember.h> /* PyMemberDef */
+
PyObject *
PyDiaDisplay_New(DDisplay *disp)
{
@@ -195,21 +197,48 @@ PyDiaDisplay_ScrollRight(PyDiaDisplay *self, PyObject *args)
}
static PyMethodDef PyDiaDisplay_Methods[] = {
- {"add_update_all", (PyCFunction)PyDiaDisplay_AddUpdateAll, 1},
- {"flush", (PyCFunction)PyDiaDisplay_Flush, 1},
- {"set_origion", (PyCFunction)PyDiaDisplay_SetOrigion, 1},
- {"zoom", (PyCFunction)PyDiaDisplay_Zoom, 1},
- {"resize_canvas", (PyCFunction)PyDiaDisplay_ResizeCanvas, 1},
- {"close", (PyCFunction)PyDiaDisplay_Close, 1},
- {"set_title", (PyCFunction)PyDiaDisplay_SetTitle, 1},
- {"scroll", (PyCFunction)PyDiaDisplay_Scroll, 1},
- {"scroll_up", (PyCFunction)PyDiaDisplay_ScrollUp, 1},
- {"scroll_down", (PyCFunction)PyDiaDisplay_ScrollDown, 1},
- {"scroll_left", (PyCFunction)PyDiaDisplay_ScrollLeft, 1},
- {"scroll_right", (PyCFunction)PyDiaDisplay_ScrollRight, 1},
+ {"add_update_all", (PyCFunction)PyDiaDisplay_AddUpdateAll, METH_VARARGS,
+ "add_update_all() -> None. Add the diagram visible area to the update queue."},
+ {"flush", (PyCFunction)PyDiaDisplay_Flush, METH_VARARGS,
+ "flush() -> None. If no display update is queued, queue update."},
+ {"set_origion", (PyCFunction)PyDiaDisplay_SetOrigion, METH_VARARGS,
+ "set_origion(real: x, real, y) -> None."
+ " Move the given diagram point to the top-left corner of the visible area."},
+ {"zoom", (PyCFunction)PyDiaDisplay_Zoom, METH_VARARGS,
+ "zoom(real[2]: point, real: factor) -> None. Zoom around the given point."},
+ {"resize_canvas", (PyCFunction)PyDiaDisplay_ResizeCanvas, METH_VARARGS,
+ "resize_canvas(int: width, int: height) -> None."
+ " BEWARE: Changing the drawing area but not the window size."},
+ {"close", (PyCFunction)PyDiaDisplay_Close, METH_VARARGS,
+ "close() -> None. Close the display possibly asking to save."},
+ {"set_title", (PyCFunction)PyDiaDisplay_SetTitle, METH_VARARGS,
+ "set_title(string: title) -> None. Temporary change of the diagram title."},
+ {"scroll", (PyCFunction)PyDiaDisplay_Scroll, METH_VARARGS,
+ "scroll(real: dx, real: dy) -> None. Scroll the visible area by the given delta."},
+ {"scroll_up", (PyCFunction)PyDiaDisplay_ScrollUp, METH_VARARGS,
+ "scroll_up() -> None. Scroll upwards by a fixed amount."},
+ {"scroll_down", (PyCFunction)PyDiaDisplay_ScrollDown, METH_VARARGS,
+ "scroll_down() -> None. Scroll downwards by a fixed amount."},
+ {"scroll_left", (PyCFunction)PyDiaDisplay_ScrollLeft, METH_VARARGS,
+ "scroll_left() -> None. Scroll to the left by a fixed amount."},
+ {"scroll_right", (PyCFunction)PyDiaDisplay_ScrollRight, METH_VARARGS,
+ "scroll_right() -> None. Scroll to the right by a fixed amount."},
{NULL, 0, 0, NULL}
};
+#define T_INVALID -1 /* can't allow direct access due to pyobject->data indirection */
+static PyMemberDef PyDiaDisplay_Members[] = {
+ { "diagram", T_INVALID, 0, RESTRICTED|READONLY, /* can't allow direct access due to pyobject->disp indirection */
+ "Diagram displayed." },
+ { "origin", T_INVALID, 0, RESTRICTED|READONLY,
+ "Point in diagram coordinates of the top-left corner of the visible area."},
+ { "zoom_factor", T_INVALID, 0, RESTRICTED|READONLY,
+ "Real: zoom-factor"},
+ { "visible", T_INVALID, 0, RESTRICTED|READONLY,
+ "Tuple(real: top, real: left, real: bottom, real: right) : visible area"},
+ { NULL }
+};
+
static PyObject *
PyDiaDisplay_GetAttr(PyDiaDisplay *self, gchar *attr)
{
@@ -254,5 +283,14 @@ PyTypeObject PyDiaDisplay_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "A Diagram can have multiple displays but every Display has just one Diagram."
+ "A Diagram can have multiple displays but every Display has just one Diagram.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ PyDiaDisplay_Methods, /* tp_methods */
+ PyDiaDisplay_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-export.c b/plug-ins/python/pydia-export.c
index 178cfc7..04fe377 100644
--- a/plug-ins/python/pydia-export.c
+++ b/plug-ins/python/pydia-export.c
@@ -22,6 +22,8 @@
#include "pydia-object.h"
#include "pydia-export.h"
+#include <structmember.h> /* PyMemberDef */
+
PyObject *
PyDiaExportFilter_New(DiaExportFilter *filter)
{
@@ -68,13 +70,24 @@ static PyMethodDef PyDiaExportFilter_Methods[] = {
{NULL, 0, 0, NULL}
};
+#define T_INVALID -1 /* can't allow direct access due to pyobject->data indirection */
+static PyMemberDef PyDiaExportFilter_Members[] = {
+ { "name", T_INVALID, 0, RESTRICTED|READONLY,
+ "The description for the filter." },
+ { "unique_name", T_INVALID, 0, RESTRICTED|READONLY,
+ "A uniqe name within filters to allow disambiguation.", },
+ { NULL }
+};
+
static PyObject *
PyDiaExportFilter_GetAttr(PyDiaExportFilter *self, gchar *attr)
{
if (!strcmp(attr, "__members__"))
- return Py_BuildValue("[s]", "name");
+ return Py_BuildValue("[ss]", "name");
else if (!strcmp(attr, "name"))
return PyString_FromString(self->filter->description);
+ else if (!strcmp(attr, "unique_name"))
+ return PyString_FromString(self->filter->unique_name);
return Py_FindMethod(PyDiaExportFilter_Methods, (PyObject *)self, attr);
}
@@ -101,5 +114,14 @@ PyTypeObject PyDiaExportFilter_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "returned by dia.register_export() but not used otherwise yet."
+ "returned by dia.register_export() but not used otherwise yet.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ PyDiaExportFilter_Methods, /* tp_methods */
+ PyDiaExportFilter_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-font.c b/plug-ins/python/pydia-font.c
index 8b25515..21e2ef8 100644
--- a/plug-ins/python/pydia-font.c
+++ b/plug-ins/python/pydia-font.c
@@ -22,6 +22,8 @@
#include "pydia-object.h"
#include "pydia-font.h"
+#include <structmember.h> /* PyMemberDef */
+
/*
* New
*/
@@ -121,10 +123,19 @@ PyDiaFont_Str(PyDiaFont *self)
return ret;
}
+#define T_INVALID -1 /* can't allow direct access due to pyobject->cpoint indirection */
+static PyMemberDef PyDiaFont_Members[] = {
+ { "family", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: family name of the font" },
+ { "name", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: legacy name of the font" },
+ { "style", T_INVALID, 0, RESTRICTED|READONLY,
+ "int: style flags" },
+ { NULL }
+};
/*
* Python objetc
*/
-
PyTypeObject PyDiaFont_Type = {
PyObject_HEAD_INIT(&PyType_Type)
0,
@@ -147,6 +158,14 @@ PyTypeObject PyDiaFont_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "Provides access to the some objects font property."
+ "Provides access to some objects font property.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaFont_Members, /* tp_members */
+ 0
};
-
diff --git a/plug-ins/python/pydia-geometry.c b/plug-ins/python/pydia-geometry.c
index a7504c0..bb31eb8 100644
--- a/plug-ins/python/pydia-geometry.c
+++ b/plug-ins/python/pydia-geometry.c
@@ -22,6 +22,7 @@
#include "pydia-object.h"
#include "pydia-geometry.h"
+#include <structmember.h> /* PyMemberDef */
/* Implements wrappers for Point, Rectangle, IntRectangle, BezPoint */
@@ -187,23 +188,6 @@ PyDiaGeometry_Hash(PyObject *self)
return (long)self;
}
-/*
- * GetAttr
- */
-static PyObject *
-PyDiaPoint_GetAttr(PyDiaPoint *self, gchar *attr)
-{
- if (!strcmp(attr, "__members__"))
- return Py_BuildValue("[ss]", "x", "y");
- else if (!strcmp(attr, "x"))
- return PyFloat_FromDouble(self->pt.x);
- else if (!strcmp(attr, "y"))
- return PyFloat_FromDouble(self->pt.y);
-
- PyErr_SetString(PyExc_AttributeError, attr);
- return NULL;
-}
-
static PyObject *
PyDiaRectangle_GetAttr(PyDiaRectangle *self, gchar *attr)
{
@@ -246,22 +230,6 @@ PyDiaBezPoint_GetAttr(PyDiaBezPoint *self, gchar *attr)
return NULL;
}
-static PyObject *
-PyDiaArrow_GetAttr(PyDiaArrow *self, gchar *attr)
-{
- if (!strcmp(attr, "__members__"))
- return Py_BuildValue("[sss]", "type", "width", "length");
- else if (!strcmp(attr, "type"))
- return PyInt_FromLong(self->arrow.type);
- else if (!strcmp(attr, "width"))
- return PyFloat_FromDouble(self->arrow.width);
- else if (!strcmp(attr, "length"))
- return PyFloat_FromDouble(self->arrow.length);
-
- PyErr_SetString(PyExc_AttributeError, attr);
- return NULL;
-}
-
/*
* SetAttr
*/
@@ -360,8 +328,8 @@ static PyObject *
point_item(PyDiaPoint* self, int i)
{
switch (i) {
- case 0 : return PyDiaPoint_GetAttr(self, "x");
- case 1 : return PyDiaPoint_GetAttr(self, "y");
+ case 0 : return PyFloat_FromDouble(self->pt.x);
+ case 1 : return PyFloat_FromDouble(self->pt.y);
default :
PyErr_SetString(PyExc_IndexError, "PyDiaPoint index out of range");
return NULL;
@@ -448,6 +416,13 @@ static PySequenceMethods rect_as_sequence = {
(objobjproc)0 /*sq_contains*/
};
+static PyMemberDef PyDiaPoint_Members[] = {
+ { "x", T_DOUBLE, offsetof(PyDiaPoint, pt.x), 0,
+ "double: coordinate horizontal part" },
+ { "y", T_DOUBLE, offsetof(PyDiaPoint, pt.y), 0,
+ "double: coordinate vertical part" },
+ { NULL }
+};
/*
* Python objetcs
*/
@@ -459,7 +434,7 @@ PyTypeObject PyDiaPoint_Type = {
0,
(destructor)PyDiaGeometry_Dealloc,
(printfunc)0,
- (getattrfunc)PyDiaPoint_GetAttr,
+ (getattrfunc)0,
(setattrfunc)0,
(cmpfunc)PyDiaPoint_Compare,
(reprfunc)0,
@@ -469,13 +444,33 @@ PyTypeObject PyDiaPoint_Type = {
(hashfunc)PyDiaGeometry_Hash,
(ternaryfunc)0,
(reprfunc)PyDiaPoint_Str,
- (getattrofunc)0,
+ PyObject_GenericGetAttr, /* tp_getattro */
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "The dia.Point does not only provide access trough it's members but also via a sequence interface."
+ "The dia.Point does not only provide access trough it's members but also via a sequence interface.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaPoint_Members, /* tp_members */
+ 0
+};
+#define T_INVALID -1 /* can't allow direct access due to pyobject->is_int */
+static PyMemberDef PyDiaRect_Members[] = {
+ { "top", T_INVALID, 0, RESTRICTED|READONLY,
+ "int or double: upper edge y coordinate" },
+ { "left", T_INVALID, 0, RESTRICTED|READONLY,
+ "int or double: left edge x coordinate" },
+ { "bottom", T_INVALID, 0, RESTRICTED|READONLY,
+ "int or double: lower edge y coordinate" },
+ { "right", T_INVALID, 0, RESTRICTED|READONLY,
+ "int or double: right edge x coordinate" },
+ { NULL }
};
-
PyTypeObject PyDiaRectangle_Type = {
PyObject_HEAD_INIT(&PyType_Type)
0,
@@ -498,9 +493,29 @@ PyTypeObject PyDiaRectangle_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "The dia.Rectangle does not only provide access trough it's members but also via a sequence interface."
+ "The dia.Rectangle does not only provide access trough it's members but also via a sequence interface.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaRect_Members, /* tp_members */
+ 0
};
+static PyMemberDef PyDiaBezPoint_Members[] = {
+ { "type", T_INT, offsetof(PyDiaBezPoint, bpn.type), 0,
+ "int: MOVETO, LINETO using p1 only; CURVETO all 3 points" },
+ { "p1", T_INVALID, offsetof(PyDiaBezPoint, bpn.p1), 0, /* T_INVALID for Python not knowing Point */
+ "Point: first control point for CURVETO" },
+ { "p2", T_INVALID, offsetof(PyDiaBezPoint, bpn.p2), 0,
+ "Point: second control point for CURVETO" },
+ { "p3", T_INVALID, offsetof(PyDiaBezPoint, bpn.p3), 0,
+ "Point: target point for CURVETO" },
+ { NULL }
+};
PyTypeObject PyDiaBezPoint_Type = {
PyObject_HEAD_INIT(&PyType_Type)
0,
@@ -523,9 +538,27 @@ PyTypeObject PyDiaBezPoint_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "A dia.Point, a bezier type and two control points (dia.Point) make a bezier point."
+ "A dia.Point, a bezier type and two control points (dia.Point) make a bezier point.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaBezPoint_Members, /* tp_members */
+ 0
};
+static PyMemberDef PyDiaArrow_Members[] = {
+ { "type", T_INT, offsetof(PyDiaArrow, arrow.type), 0,
+ "int: the shape of the arrow" },
+ { "width", T_DOUBLE, offsetof(PyDiaPoint, pt.x), 0,
+ "double: corresponding to line width" },
+ { "length", T_DOUBLE, offsetof(PyDiaPoint, pt.y), 0,
+ "double: length along the line" },
+ { NULL }
+};
PyTypeObject PyDiaArrow_Type = {
PyObject_HEAD_INIT(&PyType_Type)
0,
@@ -534,7 +567,7 @@ PyTypeObject PyDiaArrow_Type = {
0,
(destructor)PyDiaGeometry_Dealloc,
(printfunc)0,
- (getattrfunc)PyDiaArrow_GetAttr,
+ (getattrfunc)0,
(setattrfunc)0,
(cmpfunc)PyDiaArrow_Compare,
(reprfunc)0,
@@ -544,9 +577,18 @@ PyTypeObject PyDiaArrow_Type = {
(hashfunc)PyDiaGeometry_Hash,
(ternaryfunc)0,
(reprfunc)PyDiaArrow_Str,
- (getattrofunc)0,
+ PyObject_GenericGetAttr, /* tp_getattro */
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "Dia's line objects usually ends with an dia.Arrow"
+ "Dia's line objects usually ends with an dia.Arrow",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaArrow_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-handle.c b/plug-ins/python/pydia-handle.c
index 08646ea..4c84d7d 100644
--- a/plug-ins/python/pydia-handle.c
+++ b/plug-ins/python/pydia-handle.c
@@ -24,6 +24,8 @@
#include "pydia-geometry.h"
#include "pydia-object.h" /* for PyObject_HEAD_INIT */
+#include <structmember.h> /* PyMemberDef */
+
PyObject *
PyDiaHandle_New(Handle *handle, DiaObject *owner)
{
@@ -83,10 +85,27 @@ PyDiaHandle_Connect(PyDiaHandle *self, PyObject *args)
}
static PyMethodDef PyDiaHandle_Methods[] = {
- { "connect", (PyCFunction)PyDiaHandle_Connect, 1 },
+ { "connect", (PyCFunction)PyDiaHandle_Connect, METH_VARARGS,
+ "connect(ConnectionPoint: cp) -> None."
+ " Connect object A's handle with object B's connection point. To disconnect a handle pass in None." },
{ NULL, 0, 0, NULL }
};
+#define T_INVALID -1 /* can't allow direct access due to pyobject->handle indirection */
+static PyMemberDef PyDiaHandle_Members[] = {
+ { "connect_type", T_INVALID, 0, RESTRICTED|READONLY,
+ "NONCONNECTABLE=0." },
+ { "connected_to", T_INVALID, 0, RESTRICTED|READONLY,
+ "The connected ConnectionPoint object or None." },
+ { "id", T_INVALID, 0, RESTRICTED|READONLY,
+ "Can be used to derive preferred directions from it." },
+ { "pos", T_INVALID, 0, RESTRICTED|READONLY,
+ "The position of the connection point." },
+ { "type", T_INVALID, 0, RESTRICTED|READONLY,
+ "NON_MOVABLE=0, MAJOR_CONTROL=1, MINOR_CONTROL=2" },
+ { NULL }
+};
+
static PyObject *
PyDiaHandle_GetAttr(PyDiaHandle *self, gchar *attr)
{
@@ -133,5 +152,14 @@ PyTypeObject PyDiaHandle_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "A handle is used to connect objects or for object resizing."
+ "A handle is used to connect objects or for object resizing.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ PyDiaHandle_Methods, /* tp_methods */
+ PyDiaHandle_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-image.c b/plug-ins/python/pydia-image.c
index 0ae84c2..c4bc805 100644
--- a/plug-ins/python/pydia-image.c
+++ b/plug-ins/python/pydia-image.c
@@ -22,6 +22,8 @@
#include "pydia-object.h"
#include "pydia-image.h"
+#include <structmember.h> /* PyMemberDef */
+
/*
* New
*/
@@ -134,6 +136,22 @@ PyDiaImage_Str(PyDiaImage *self)
return py_s;
}
+#define T_INVALID -1 /* can't allow direct access due to pyobject->cpoint indirection */
+static PyMemberDef PyDiaImage_Members[] = {
+ { "width", T_INVALID, 0, RESTRICTED|READONLY,
+ "int: pixel width of the image" },
+ { "height", T_INVALID, 0, RESTRICTED|READONLY,
+ "int: pixel height of the image" },
+ { "rgb_data", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: array of packed rgb pixel values" },
+ { "mask_data", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: array of alpha pixel values" },
+ { "filename", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: utf-8 encoded filename of the image" },
+ { "uri", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: Uniform Resource Identifier of the image" },
+ { NULL }
+};
/*
* Python objetcs
*/
@@ -159,5 +177,14 @@ PyTypeObject PyDiaImage_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "dia.Image gets passed into DiaRenderer.draw_image"
+ "dia.Image gets passed into DiaRenderer.draw_image",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaImage_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-layer.c b/plug-ins/python/pydia-layer.c
index 245ad99..84ee479 100644
--- a/plug-ins/python/pydia-layer.c
+++ b/plug-ins/python/pydia-layer.c
@@ -23,6 +23,8 @@
#include "pydia-object.h"
#include "pydia-cpoint.h"
+#include <structmember.h> /* PyMemberDef */
+
PyObject *
PyDiaLayer_New(Layer *layer)
{
@@ -158,11 +160,12 @@ PyDiaLayer_FindClosestConnectionPoint(PyDiaLayer *self, PyObject *args)
Point pos;
real dist;
PyObject *ret;
+ PyDiaObject *obj;
- if (!PyArg_ParseTuple(args, "dd:Layer.find_closest_connection_point",
- &pos.x, &pos.y))
+ if (!PyArg_ParseTuple(args, "dd|O!:Layer.find_closest_connection_point",
+ &pos.x, &pos.y, PyDiaObject_Type, &obj))
return NULL;
- dist = layer_find_closest_connectionpoint(self->layer, &cpoint, &pos, NULL);
+ dist = layer_find_closest_connectionpoint(self->layer, &cpoint, &pos, obj ? obj->object : NULL);
ret = PyTuple_New(2);
PyTuple_SetItem(ret, 0, PyFloat_FromDouble(dist));
@@ -194,19 +197,46 @@ PyDiaLayer_UpdateExtents(PyDiaLayer *self, PyObject *args)
*/
static PyMethodDef PyDiaLayer_Methods[] = {
- {"destroy", (PyCFunction)PyDiaLayer_Destroy, 1},
- {"object_get_index", (PyCFunction)PyDiaLayer_ObjectGetIndex, 1},
- {"add_object", (PyCFunction)PyDiaLayer_AddObject, 1},
- {"remove_object", (PyCFunction)PyDiaLayer_RemoveObject, 1},
+ {"destroy", (PyCFunction)PyDiaLayer_Destroy, METH_VARARGS,
+ "Release the layer. Must not be called when already added to a diagram."},
+ {"object_get_index", (PyCFunction)PyDiaLayer_ObjectGetIndex, METH_VARARGS,
+ "object_get_index(Object: o) -> int."
+ " Returns the index of the object in the layers list of objects."},
+ {"add_object", (PyCFunction)PyDiaLayer_AddObject, METH_VARARGS,
+ "add_object(Object: o[, int: position]) -> None."
+ " Add the object to the layer at the top or the given position counting from bottom."},
+ {"remove_object", (PyCFunction)PyDiaLayer_RemoveObject, METH_VARARGS,
+ "remove_object(Object: o) -> None"
+ " Remove the object from the layer and delete it."},
{"find_objects_in_rectangle",
- (PyCFunction)PyDiaLayer_FindObjectsInRectangle, 1},
- {"find_closest_object", (PyCFunction)PyDiaLayer_FindClosestObject, 1},
+ (PyCFunction)PyDiaLayer_FindObjectsInRectangle, METH_VARARGS,
+ "find_objects_in_rectangle(real: top, real left, real: bottom, real: right) -> Objects"
+ " Returns a list of objects found in the given rectangle."},
+ {"find_closest_object", (PyCFunction)PyDiaLayer_FindClosestObject, METH_VARARGS,
+ "find_closest_object(real: x, real: y, real: maxdist) -> Object."
+ " Find an object in the given maximum distance of the given point."},
{"find_closest_connection_point",
- (PyCFunction)PyDiaLayer_FindClosestConnectionPoint, 1},
- {"update_extents", (PyCFunction)PyDiaLayer_UpdateExtents, 1},
+ (PyCFunction)PyDiaLayer_FindClosestConnectionPoint, METH_VARARGS,
+ "find_closest_connectionpoint(real: x, real: y[, Object: o]) -> (real: dist, ConnectionPoint: cp)."
+ " Given a point and an optional object to exclude return the distance and the closest connection point or None."},
+ {"update_extents", (PyCFunction)PyDiaLayer_UpdateExtents, METH_VARARGS,
+ "update_extents() -> None. Force recaculation of the layer extents."},
{NULL, 0, 0, NULL}
};
+#define T_INVALID -1 /* can't allow direct access due to pyobject->data indirection */
+static PyMemberDef PyDiaLayer_Members[] = {
+ { "extents", T_INVALID, 0, RESTRICTED|READONLY,
+ "Rectangle covering all object's bounding boxes." },
+ { "name", T_INVALID, 0, RESTRICTED|READONLY,
+ "The name of the layer." },
+ { "objects", T_INVALID, 0, RESTRICTED|READONLY,
+ "The list of objects in the layer." },
+ { "visible", T_INVALID, 0, RESTRICTED|READONLY,
+ "The visibility of the layer." },
+ { NULL }
+};
+
static PyObject *
PyDiaLayer_GetAttr(PyDiaLayer *self, gchar *attr)
{
@@ -257,5 +287,14 @@ PyTypeObject PyDiaLayer_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "A Layer is part of a Diagram and can contain objects."
+ "A Layer is part of a Diagram and can contain objects.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ PyDiaLayer_Methods, /* tp_methods */
+ PyDiaLayer_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-object.c b/plug-ins/python/pydia-object.c
index e99f886..28adc7c 100644
--- a/plug-ins/python/pydia-object.c
+++ b/plug-ins/python/pydia-object.c
@@ -25,6 +25,8 @@
#include "pydia-geometry.h"
#include "pydia-properties.h"
+#include <structmember.h> /* PyMemberDef */
+
PyObject *
PyDiaObject_New(DiaObject *object)
{
@@ -131,6 +133,7 @@ static PyObject *
PyDiaObject_Move(PyDiaObject *self, PyObject *args)
{
Point point;
+ ObjectChange *change;
if (!PyArg_ParseTuple(args, "dd:Object.move", &point.x, &point.y))
return NULL;
@@ -140,7 +143,10 @@ PyDiaObject_Move(PyDiaObject *self, PyObject *args)
return NULL;
}
- self->object->ops->move(self->object, &point);
+ change = self->object->ops->move(self->object, &point);
+ if (G_UNLIKELY(change)) /* TODO: return the change? */
+ change->free(change);
+
Py_INCREF(Py_None);
return Py_None;
}
@@ -150,10 +156,11 @@ PyDiaObject_MoveHandle(PyDiaObject *self, PyObject *args)
{
PyDiaHandle *handle;
Point point;
- HandleMoveReason reason;
- ModifierKeys modifiers;
+ HandleMoveReason reason = 0;
+ ModifierKeys modifiers = 0;
+ ObjectChange *change;
- if (!PyArg_ParseTuple(args, "O!(dd)ii:Object.move_handle",
+ if (!PyArg_ParseTuple(args, "O!(dd)|ii:Object.move_handle",
&PyDiaHandle_Type, &handle, &point.x, &point.y,
&reason, &modifiers))
return NULL;
@@ -163,21 +170,51 @@ PyDiaObject_MoveHandle(PyDiaObject *self, PyObject *args)
return NULL;
}
- self->object->ops->move_handle(self->object, handle->handle, &point,
- NULL, reason, modifiers);
+ change = self->object->ops->move_handle(self->object, handle->handle, &point,
+ NULL, reason, modifiers);
+
+ if (G_UNLIKELY(change)) /* TODO: return the change? */
+ change->free(change);
+
Py_INCREF(Py_None);
return Py_None;
}
static PyMethodDef PyDiaObject_Methods[] = {
- { "destroy", (PyCFunction)PyDiaObject_Destroy, 1 },
- { "distance_from", (PyCFunction)PyDiaObject_DistanceFrom, 1 },
- { "copy", (PyCFunction)PyDiaObject_Copy, 1 },
- { "move", (PyCFunction)PyDiaObject_Move, 1 },
- { "move_handle", (PyCFunction)PyDiaObject_MoveHandle, 1 },
+ { "destroy", (PyCFunction)PyDiaObject_Destroy, METH_VARARGS,
+ "destroy() -> None."
+ " Release the object. Must not be called when already added to a group or layer." },
+ { "distance_from", (PyCFunction)PyDiaObject_DistanceFrom, METH_VARARGS,
+ "distance_from(real: x, real: y) -> real."
+ " Calculate the object's distance from the given point." },
+ { "copy", (PyCFunction)PyDiaObject_Copy, METH_VARARGS,
+ "copy() -> Object. Create a new object copy." },
+ { "move", (PyCFunction)PyDiaObject_Move, METH_VARARGS,
+ "move(real: x, real: y) -> None."
+ " Move the entire object. The given point is the new object.obj_pos." },
+ { "move_handle", (PyCFunction)PyDiaObject_MoveHandle, METH_VARARGS,
+ "move_handle(Handle: h, (real: x, real: y)[int: reason, int: modifiers]) -> None."
+ " Move the given handle of the object to the given position"},
{ NULL, 0, 0, NULL }
};
+#define T_INVALID -1 /* can't allow direct access due to pyobject->data indirection */
+static PyMemberDef PyDiaObject_Members[] = {
+ { "bounding_box", T_INVALID, 0, RESTRICTED|READONLY,
+ "Box covering all the object." },
+ { "connections", T_INVALID, 0, RESTRICTED|READONLY,
+ "Vector of connection points." },
+ { "handles", T_INVALID, 0, RESTRICTED|READONLY,
+ "Vector of handles." },
+ { "parent", T_INVALID, 0, RESTRICTED|READONLY,
+ "The parent object when parenting is in place, None otherwise." },
+ { "properties", T_INVALID, 0, RESTRICTED|READONLY,
+ "Dictionary of object properties." },
+ { "type", T_INVALID, 0, RESTRICTED|READONLY,
+ "The dia.ObjectType of the object" },
+ { NULL }
+};
+
static PyObject *
PyDiaObject_GetAttr(PyDiaObject *self, gchar *attr)
{
@@ -239,7 +276,16 @@ PyTypeObject PyDiaObject_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "The main building block of diagrams."
+ "The main building block of diagrams.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ PyDiaObject_Methods, /* tp_methods */
+ PyDiaObject_Members, /* tp_members */
+ 0
};
PyObject *
@@ -332,10 +378,20 @@ PyDiaObjectType_Create(PyDiaObjectType *self, PyObject *args)
}
static PyMethodDef PyDiaObjectType_Methods[] = {
- { "create", (PyCFunction)PyDiaObjectType_Create, 1 },
+ { "create", (PyCFunction)PyDiaObjectType_Create, METH_VARARGS,
+ "create(real: x, real: y) -> (Object: o, Handle: h1, Handle: h2)"
+ " Create a new object of this type. Returns a tuple containing the new object and up to two handles." },
{ NULL, 0, 0, NULL }
};
+static PyMemberDef PyDiaObjectType_Members[] = {
+ { "name", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: the unique type indentifier of the object type." },
+ { "version", T_INVALID, 0, RESTRICTED|READONLY,
+ "int: version number" },
+ { NULL }
+};
+
static PyObject *
PyDiaObjectType_GetAttr(PyDiaObjectType *self, gchar *attr)
{
@@ -372,6 +428,15 @@ PyTypeObject PyDiaObjectType_Type = {
(PyBufferProcs *)0,
0L, /* Flags */
"The dia.Object factory. Allows to create objects of the specific type. "
- "Use: factory = get_object_type(<type name>) to get a grip on it."
+ "Use: factory = get_object_type(<type name>) to get a grip on it.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ PyDiaObjectType_Methods, /* tp_methods */
+ PyDiaObjectType_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-paperinfo.c b/plug-ins/python/pydia-paperinfo.c
index 3d42f70..d4453e2 100644
--- a/plug-ins/python/pydia-paperinfo.c
+++ b/plug-ins/python/pydia-paperinfo.c
@@ -22,6 +22,8 @@
#include "pydia-paperinfo.h"
#include "pydia-object.h" /* for PyObject_HEAD_INIT */
+#include <structmember.h> /* PyMemberDef */
+
/*
* New
*/
@@ -107,6 +109,20 @@ PyDiaPaperinfo_Str(PyDiaPaperinfo *self)
return py_s;
}
+#define T_INVALID -1 /* can't allow direct access due to pyobject->paper indirection */
+static PyMemberDef PyDiaPaperinfo_Members[] = {
+ { "name", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: paper name, e.g. A4 or Letter" },
+ { "is_portrait", T_INVALID, 0, RESTRICTED|READONLY,
+ "int: paper orientation" },
+ { "scaling", T_INVALID, 0, RESTRICTED|READONLY,
+ "real: factor to zoom the diagram on the paper" },
+ { "width", T_INVALID, 0, RESTRICTED|READONLY,
+ "real: width of the drawable area (sans margins)" },
+ { "height", T_INVALID, 0, RESTRICTED|READONLY,
+ "real: height of the drawable area (sans margins)" },
+ { NULL }
+};
/*
* Python objetcs
*/
@@ -132,5 +148,14 @@ PyTypeObject PyDiaPaperinfo_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "dia.Paperinfo is part of dia.DiagramData describing the paper"
+ "dia.Paperinfo is part of dia.DiagramData describing the paper",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaPaperinfo_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-properties.c b/plug-ins/python/pydia-properties.c
index a3ec901..3ee57bf 100644
--- a/plug-ins/python/pydia-properties.c
+++ b/plug-ins/python/pydia-properties.c
@@ -22,6 +22,8 @@
#include "pydia-object.h"
#include "pydia-properties.h"
+#include <structmember.h> /* PyMemberDef */
+
/*
* New
*/
@@ -253,20 +255,26 @@ static PyMappingMethods PyDiaProperties_AsMapping = {
(objobjargproc)PyDiaProperties_AssSub, /*mp_ass_subscript*/
};
-static PyMethodDef mapp_methods[] = {
+static PyMethodDef PyDiaProperties_Methods[] = {
+ /* duck-typing dictionary */
{"get", (PyCFunction)PyDiaProperties_Get, METH_VARARGS},
{"has_key", (PyCFunction)PyDiaProperties_HasKey, METH_VARARGS},
{"keys", (PyCFunction)PyDiaProperties_Keys},
{NULL, NULL} /* sentinel */
};
+#define T_INVALID -1 /* can't allow direct access due to pyobject->handle indirection */
+static PyMemberDef PyDiaProperties_Members[] = {
+ { NULL }
+};
+
/*
* GetAttr
*/
static PyObject*
PyDiaProperties_GetAttr(PyDiaProperties *self, gchar *attr)
{
- return Py_FindMethod(mapp_methods, (PyObject *)self, attr);
+ return Py_FindMethod(PyDiaProperties_Methods, (PyObject *)self, attr);
}
/*
@@ -296,5 +304,14 @@ PyTypeObject PyDiaProperties_Type = {
0L, /* Flags */
"A dictionary interface to dia.Object's standard properties. Many properties"
"can be get and set through this. If there is a specific method to change an"
- "objects property like o.move() or o.move_handle() use that instead."
+ "objects property like o.move() or o.move_handle() use that instead.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ PyDiaProperties_Methods, /* tp_methods */
+ PyDiaProperties_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-property.c b/plug-ins/python/pydia-property.c
index e445d41..7568746 100644
--- a/plug-ins/python/pydia-property.c
+++ b/plug-ins/python/pydia-property.c
@@ -31,6 +31,8 @@
#include "pydia-color.h"
#include "pydia-text.h"
+#include <structmember.h> /* PyMemberDef */
+
/* include mess: propinternals.h needs tree.h, we don't */
#include "prop_inttypes.h"
#include "prop_geomtypes.h"
@@ -851,6 +853,19 @@ PyDiaProperty_Str(PyDiaProperty *self)
return py_s;
}
+#define T_INVALID -1 /* can't allow direct access due to pyobject->property indirection */
+static PyMemberDef PyDiaProperty_Members[] = {
+ { "name", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: the name of the property" },
+ { "type", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: the type name of the object" },
+ { "value", T_INVALID, 0, RESTRICTED|READONLY,
+ "various: the value is of type char, bool, dict, int, real, string, Text, Point, BezPoint, "
+ "Rect, Arrow, Color or a tuple or list, possibly containing tuple of varying types." },
+ { "visible", T_INVALID, 0, RESTRICTED|READONLY,
+ "bool: visibility of the property" },
+ { NULL }
+};
/*
* Python object
*/
@@ -877,5 +892,14 @@ PyTypeObject PyDiaProperty_Type = {
(PyBufferProcs *)0,
0L, /* Flags */
"Interface to so called StdProps, the mechanism to control "
- "most of Dia's canvas objects properties. "
+ "most of Dia's canvas objects properties. ",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaProperty_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydia-text.c b/plug-ins/python/pydia-text.c
index cfe0246..ab5feed 100644
--- a/plug-ins/python/pydia-text.c
+++ b/plug-ins/python/pydia-text.c
@@ -26,6 +26,8 @@
#include "pydia-font.h"
#include "pydia-geometry.h"
+#include <structmember.h> /* PyMemberDef */
+
/*
* New
*/
@@ -116,6 +118,22 @@ PyDiaText_Str(PyDiaText *self)
return ret;
}
+#define T_INVALID -1 /* can't allow direct access due to pyobject->text indirection */
+static PyMemberDef PyDiaText_Members[] = {
+ { "text", T_INVALID, 0, RESTRICTED|READONLY,
+ "string: text data" },
+ { "font", T_INVALID, 0, RESTRICTED|READONLY,
+ "Font: read-only reference to font used" },
+ { "height", T_INVALID, 0, RESTRICTED|READONLY,
+ "real: height of the font" },
+ { "position", T_INVALID, 0, RESTRICTED|READONLY,
+ "Point: alignment position of the text" },
+ { "color", T_INVALID, 0, RESTRICTED|READONLY,
+ "Color: color of the text" },
+ { "alignment", T_INVALID, 0, RESTRICTED|READONLY,
+ "int: alignment out of LEFT=0, CENTER=1, RIGHT=2" },
+ { NULL }
+};
/*
* Python objetcs
*/
@@ -141,5 +159,14 @@ PyTypeObject PyDiaText_Type = {
(setattrofunc)0,
(PyBufferProcs *)0,
0L, /* Flags */
- "Many objects (dia.Object) having text to display provide this property."
+ "Many objects (dia.Object) having text to display provide this property.",
+ (traverseproc)0,
+ (inquiry)0,
+ (richcmpfunc)0,
+ 0, /* tp_weakliszoffset */
+ (getiterfunc)0,
+ (iternextfunc)0,
+ 0, /* tp_methods */
+ PyDiaText_Members, /* tp_members */
+ 0
};
diff --git a/plug-ins/python/pydiadoc.py b/plug-ins/python/pydiadoc.py
index 3ddc024..c22e8a1 100644
--- a/plug-ins/python/pydiadoc.py
+++ b/plug-ins/python/pydiadoc.py
@@ -54,7 +54,23 @@ def distribute_objects (objs) :
x = 0.0
y += height
-def autodoc_cb (data, flags) :
+def find_class (data, name) :
+ "Find an UML-Class with the given class-name"
+ if not data :
+ return None
+ for la in data.layers :
+ for o in la.objects :
+ if o.type.name == 'UML - Class' and o.properties['name'].value == name :
+ return o
+ return None
+
+def autodoc_fresh_cb (data, flags) :
+ return autodoc_cb(data, flags, 0)
+def autodoc_update_cb (data, flags) :
+ return autodoc_cb(data, flags, data != None)
+
+def autodoc_cb (data, flags, update) :
+ show_comments = 1 # maybe this should be selectable
if not data : # not set when called by the toolbox menu
diagram = dia.new("PyDiaObjects.dia")
# passed in data is not necessary valid - we are called from the Toolbox menu
@@ -117,6 +133,7 @@ def autodoc_cb (data, flags) :
# add UML classes for every object in dir
#print theTypes
+ fresh = [] # list of newly created objects
theGlobals = []
# remove all objects prefixed with '__'
for s in theDir :
@@ -129,10 +146,19 @@ def autodoc_cb (data, flags) :
if is_a :
theGlobals.append((s,doc))
continue
- o, h1, h2 = oType.create (0,0) # p.x, p.y
+ # search the class we would create in the diagram and if found, modify rather than create
+ o = None
+ if update :
+ o = find_class(data, s)
+ h1 = h2 = None
+ if o :
+ show_comments = o.properties["visible_comments"].value
+ if not o :
+ o, h1, h2 = oType.create (0,0) # p.x, p.y
+ layer.add_object (o)
+ fresh.append(o)
if doc :
o.properties["comment"] = doc
- layer.add_object (o)
# set the objects name
o.properties["name"] = s
# now populate the object with ...
@@ -172,8 +198,11 @@ def autodoc_cb (data, flags) :
except AttributeError, msg :
print m, msg # No constructor defined
try :
- doc = eval("t." + m + ".__doc__")
- except :
+ # try to get the member's docstring from the type
+ doc = eval("dia." + s + "." + m + ".__doc__")
+ # fallback to object?
+ #doc = eval("t." + m + ".__doc__")
+ except AttributeError :
doc = str(t) + "." + m
if is_m : # (name, type, comment, stereotype, visibility, inheritance_type, query,class_scope, params)
methods.append((m,tt,doc,'',0,0,0,0,()))
@@ -181,22 +210,33 @@ def autodoc_cb (data, flags) :
attributes.append((m,tt,'',doc,0,0,0))
o.properties["operations"] = methods
o.properties["attributes"] = attributes
+ o.properties["comment_line_length"] = 120
+ o.properties["visible_comments"] = show_comments
if stereotype != "" :
o.properties["stereotype"] = stereotype
- # build the module object
- o, h1, h2 = oType.create (0,0) # p.x, p.y
- layer.add_object (o)
- # set the objects name
- o.properties["name"] = "dia"
+ o = None
+ if update :
+ o = find_class(data, 'dia')
+ if o :
+ show_comments = o.properties["visible_comments"].value
+ else :
+ # build the module object
+ o, h1, h2 = oType.create (0,0) # p.x, p.y
+ layer.add_object (o)
+ # set the objects name
+ o.properties["name"] = "dia"
+ fresh.append(o)
o.properties["comment"] = eval("dia.__doc__")
+ o.properties["comment_line_length"] = 120
+ o.properties["visible_comments"] = show_comments
methods = []
for s in theGlobals :
if string.find(s[0], "swigregister") >= 0 :
continue # just noise
methods.append((s[0],'',s[1],'',0,0,0,1,()))
o.properties["operations"] = methods
- # all objects got there bounding box, distribute them
- distribute_objects (layer.objects)
+ # all objects got there bounding box, distribute the fresh ones
+ distribute_objects (fresh)
if diagram :
diagram.update_extents()
@@ -204,6 +244,23 @@ def autodoc_cb (data, flags) :
# work with bindings test
return data
+def autodoc_html_cb (data, flags) :
+ import pydoc
+ import os
+ try :
+ path = os.environ["TEMP"]
+ os.chdir(path)
+ pydoc.writedoc(dia)
+ dia.message(0, path + os.path.sep + "dia.html saved.")
+ except :
+ pass
+
+dia.register_action ("HelpPydia2", "PyDia HTML Docs",
+ "/ToolboxMenu/Help/HelpExtensionStart",
+ autodoc_html_cb)
dia.register_action ("HelpPydia", "PyDia Docs",
"/ToolboxMenu/Help/HelpExtensionStart",
- autodoc_cb)
+ autodoc_fresh_cb)
+dia.register_action ("UpdatePydia", "PyDia Docs Update",
+ "/DisplayMenu/Help/HelpExtensionStart",
+ autodoc_update_cb)
diff --git a/samples/Self/PyDiaObjects.dia b/samples/Self/PyDiaObjects.dia
index 0205867..963f46b 100644
--- a/samples/Self/PyDiaObjects.dia
+++ b/samples/Self/PyDiaObjects.dia
@@ -113,7 +113,7 @@
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -181,9 +181,7 @@
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#double: blue color component [0 .. 1.0]#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -206,9 +204,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#double: green color component [0 .. 1.0]#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -231,9 +227,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#double: red color component [0 .. 1.0]#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -302,7 +296,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -370,10 +364,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#List of Object: read-only list of connected objects#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -396,7 +387,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#The main building block of diagrams.#</dia:string>
+ <dia:string>#Object: the object owning this connection point#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -419,7 +410,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#<dia.ConnectionPoint object at 0x02C39CC0>.pos#</dia:string>
+ <dia:string>#Point: read-only position of the connection point#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -443,7 +434,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:point val="14.6201,26.392"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="14.5701,26.342;27.1051,47.442"/>
+ <dia:rectangle val="14.5701,26.342;27.1051,48.242"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="14.6201,26.392"/>
@@ -452,7 +443,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:real val="12.434999999999999"/>
</dia:attribute>
<dia:attribute name="elem_height">
- <dia:real val="21.000000000000007"/>
+ <dia:real val="21.800000000000004"/>
</dia:attribute>
<dia:attribute name="name">
<dia:string>#Diagram#</dia:string>
@@ -461,7 +452,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#Subclass of dia.DiagramData (at least in the C implmentation) adding interfacing the GUI elements.#</dia:string>
+ <dia:string>#Subclass of dia.DiagramData (at least in the C implementation) adding interfacing the GUI elements.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="false"/>
@@ -488,7 +479,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -556,7 +547,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#The 'low level' diagram object. It contains everything to manipulate diagrams from im- and export filters as well as from the UI. It does not provide any access to GUI elements related to the diagram.Use the subclass dia.Diagram object for such matters.#</dia:string>
+ <dia:string>#Backward-compatible base-class access#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -579,10 +570,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#The list of current displays of this diagram.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -605,10 +593,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#str(object) -> string
-
-Return a nice string representation of the object.
-If the argument is a string, the return value is the same object.#</dia:string>
+ <dia:string>#Filename in utf-8 encoding.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -631,14 +616,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#Modification state.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -661,10 +639,30 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#The current object selection.#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="visibility">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ <dia:attribute name="abstract">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="class_scope">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ <dia:composite type="umlattribute">
+ <dia:attribute name="name">
+ <dia:string>#unsaved#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="type">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="value">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="comment">
+ <dia:string>#True if the diagram was not saved yet.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -692,7 +690,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#add_update(real: top, real: left, real: bottom, real: right) -> None. Add the given rectangle to the update queue.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -722,7 +720,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#add_update_all() -> None. Add the diagram visible area to the update queue.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -752,7 +750,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#connect_after(string: signal_name, Callback: func) -> None. Listen to diagram events in ['removed', 'selection_changed'].#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -782,7 +780,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#display() -> Display. Create a new display of the diagram.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -812,7 +810,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#find_clicked_object(real[2]: point, real: distance) -> Object. Find an object in the given distance of the given point.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -842,7 +840,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#find_closest_connectionpoint(real: x, real: y[, Object: o]) -> (real: dist, ConnectionPoint: cp). Given a point and an optional object to exclude, return the distance and closest connection point or None.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -872,7 +870,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#find_closest_handle(real[2]: point) -> (real: distance, Handle: h, Object: o). Find the closest handle from point and return a tuple of the search results. Handle and Object might be None.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -902,7 +900,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#flush() -> None. If no display update is queued, queue update.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -932,7 +930,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#get_sorted_selected() -> list. Return the current selection sorted by Z-Order.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -962,7 +960,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#get_sorted_selected_remove() -> list. Return sorted selection and remove it from the diagram.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -992,7 +990,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#group_selected() -> None. Turn the current selection into a group object.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1022,7 +1020,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#is_selected(Object: o) -> bool. True if the given object is already selected.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1052,7 +1050,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#remove_all_selected() -> None. Delete all selected objects.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1082,7 +1080,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#save(string: filename) -> None. Save the diagram under the given filename.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1112,7 +1110,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#select(Object: o) -> None. Add the given object to the selection.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1142,7 +1140,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#ungroup_selected() -> None. Split all groups in the current selection into single objects.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1172,7 +1170,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#unselect(Object: o) -> None. Remove the given object from the selection)#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1202,7 +1200,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#update_connections(Object: o) -> None. Update all connections of the given object. Might move connected objects.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1232,7 +1230,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#update_extents() -> None. Force recaculation of the diagram extents.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1304,7 +1302,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -1372,7 +1370,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#A Layer is part of a Diagram and can contain objects.#</dia:string>
+ <dia:string>#Layer currently active in the diagram.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1395,7 +1393,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#<PyDiaDiagramData 02C39C50>.bg_color#</dia:string>
+ <dia:string>#Color of the diagram's background.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1418,7 +1416,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#<PyDiaDiagramData 02C39C50>.extents#</dia:string>
+ <dia:string>#Rectangle covering all object's bounding boxes.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1441,10 +1439,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#bool: visibility of the grid.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1467,10 +1462,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#Tuple(real: x, real: y) : describing the grid size.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1493,10 +1485,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#List of real: horizontal guides.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1519,10 +1508,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#Read-only list of the diagrams layers.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1545,7 +1531,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#Paperinfo of the diagram.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1568,10 +1554,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#List of Object: current selection.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1594,10 +1577,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#List of real: vertical guides.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1625,7 +1605,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#add_layer(Layer: layer[, int: position]) -> Layer. Add a layer to the diagram at the top or the given position counting from bottom.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1655,7 +1635,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#connect_after(string: signal_name, Callback: func) -> None. Listen to diagram events in ['object_add', 'object_remove'].#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1685,7 +1665,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#delete_layer(Layer: layer) -> None. Remove the given layer from the diagram.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1715,7 +1695,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#get_sorted_selected() -> list. Return the current selection sorted by Z-Order.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1745,7 +1725,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#lower_layer() -> None. Move the layer towards the bottom.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1775,7 +1755,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#raise_layer() -> None. Move the layer towards the top.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1805,7 +1785,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#set_active_layer(Layer: layer) -> None. Make the given layer the active one.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1835,7 +1815,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#update_extents() -> None. Recalculation of the diagram extents.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -1907,7 +1887,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -1975,7 +1955,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#Subclass of dia.DiagramData (at least in the C implmentation) adding interfacing the GUI elements.#</dia:string>
+ <dia:string>#Diagram displayed.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -1998,10 +1978,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#Point in diagram coordinates of the top-left corner of the visible area.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -2024,10 +2001,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#Tuple(real: top, real: left, real: bottom, real: right) : visible area#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -2050,9 +2024,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#Real: zoom-factor#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -2080,7 +2052,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#add_update_all() -> None. Add the diagram visible area to the update queue.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2110,7 +2082,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#close() -> None. Close the display possibly asking to save.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2140,7 +2112,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#flush() -> None. If no display update is queued, queue update.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2170,7 +2142,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#resize_canvas(int: width, int: height) -> None. BEWARE: Changing the drawing area but not the window size.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2200,7 +2172,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#scroll(real: dx, real: dy) -> None. Scroll the visible area by the given delta.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2230,7 +2202,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#scroll_down() -> None. Scroll downwards by a fixed amount.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2260,7 +2232,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#scroll_left() -> None. Scroll to the left by a fixed amount.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2290,7 +2262,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#scroll_right() -> None. Scroll to the right by a fixed amount.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2320,7 +2292,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#scroll_up() -> None. Scroll upwards by a fixed amount.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2350,7 +2322,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#set_origion(real: x, real, y) -> None. Move the given diagram point to the top-left corner of the visible area.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2380,7 +2352,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#set_title(string: title) -> None. Temporary change of the diagram title.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2410,7 +2382,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#zoom(real[2]: point, real: factor) -> None. Zoom around the given point.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2482,7 +2454,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -2547,19 +2519,19 @@ Convert a string or number to a floating point number, if possible.#</dia:string
</dia:object>
<dia:object type="UML - Class" version="0" id="O6">
<dia:attribute name="obj_pos">
- <dia:point val="2.23349,35.3833"/>
+ <dia:point val="2.1558,35.2279"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="2.18349,35.3333;7.54099,37.6333"/>
+ <dia:rectangle val="2.1058,35.1779;7.4633,38.8779"/>
</dia:attribute>
<dia:attribute name="elem_corner">
- <dia:point val="2.23349,35.3833"/>
+ <dia:point val="2.1558,35.2279"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="5.2575000000000003"/>
</dia:attribute>
<dia:attribute name="elem_height">
- <dia:real val="2.1999999999999997"/>
+ <dia:real val="3.6000000000000001"/>
</dia:attribute>
<dia:attribute name="name">
<dia:string>#ExportFilter#</dia:string>
@@ -2595,7 +2567,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -2651,7 +2623,54 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:attribute name="comment_font_height">
<dia:real val="0.69999999999999996"/>
</dia:attribute>
- <dia:attribute name="attributes"/>
+ <dia:attribute name="attributes">
+ <dia:composite type="umlattribute">
+ <dia:attribute name="name">
+ <dia:string>#name#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="type">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="value">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="comment">
+ <dia:string>#The description for the filter.#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="visibility">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ <dia:attribute name="abstract">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="class_scope">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ <dia:composite type="umlattribute">
+ <dia:attribute name="name">
+ <dia:string>#unique_name#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="type">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="value">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="comment">
+ <dia:string>#A uniqe name within filters to allow disambiguation.#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="visibility">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ <dia:attribute name="abstract">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="class_scope">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
<dia:attribute name="operations"/>
<dia:attribute name="template">
<dia:boolean val="false"/>
@@ -2708,7 +2727,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -2776,14 +2795,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#NONCONNECTABLE=0.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -2806,7 +2818,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#The connected ConnectionPoint object or None.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -2829,14 +2841,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#Can be used to derive preferred directions from it.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -2859,7 +2864,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#<dia.Handle object at 0x02C39C90>.pos#</dia:string>
+ <dia:string>#The position of the connection point.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -2882,14 +2887,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#NON_MOVABLE=0, MAJOR_CONTROL=1, MINOR_CONTROL=2#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -2917,7 +2915,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#connect(ConnectionPoint: cp) -> None. Connect object A's handle with object B's connection point. To disconnect a handle pass in None.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -2989,7 +2987,7 @@ will be returned instead.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -3057,10 +3055,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#Rectangle covering all object's bounding boxes.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3083,10 +3078,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#str(object) -> string
-
-Return a nice string representation of the object.
-If the argument is a string, the return value is the same object.#</dia:string>
+ <dia:string>#The name of the layer.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3109,10 +3101,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#The list of objects in the layer.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3135,14 +3124,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#The visibility of the layer.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3170,7 +3152,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#add_object(Object: o[, int: position]) -> None. Add the object to the layer at the top or the given position counting from bottom.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3200,7 +3182,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#Release the layer. Must not be called when already added to a diagram.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3230,7 +3212,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#find_closest_connectionpoint(real: x, real: y[, Object: o]) -> (real: dist, ConnectionPoint: cp). Given a point and an optional object to exclude return the distance and the closest connection point or None.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3260,7 +3242,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#find_closest_object(real: x, real: y, real: maxdist) -> Object. Find an object in the given maximum distance of the given point.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3290,7 +3272,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#find_objects_in_rectangle(real: top, real left, real: bottom, real: right) -> Objects Returns a list of objects found in the given rectangle.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3308,7 +3290,7 @@ will be returned instead.#</dia:string>
</dia:composite>
<dia:composite type="umloperation">
<dia:attribute name="name">
- <dia:string>#object_index#</dia:string>
+ <dia:string>#object_get_index#</dia:string>
</dia:attribute>
<dia:attribute name="stereotype">
<dia:string>##</dia:string>
@@ -3320,7 +3302,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#object_get_index(Object: o) -> int. Returns the index of the object in the layers list of objects.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3350,7 +3332,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#remove_object(Object: o) -> None Remove the object from the layer and delete it.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3380,7 +3362,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#update_extents() -> None. Force recaculation of the layer extents.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3452,7 +3434,7 @@ will be returned instead.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -3520,7 +3502,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#<DiaObject of type "Standard - Image" at 2dd9958>.bounding_box#</dia:string>
+ <dia:string>#Box covering all the object.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3543,10 +3525,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#Vector of connection points.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3569,10 +3548,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#tuple() -> an empty tuple
-tuple(sequence) -> tuple initialized from sequence's items
-
-If the argument is a tuple, the return value is the same object.#</dia:string>
+ <dia:string>#Vector of handles.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3586,7 +3562,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
</dia:composite>
<dia:composite type="umlattribute">
<dia:attribute name="name">
- <dia:string>#properties#</dia:string>
+ <dia:string>#parent#</dia:string>
</dia:attribute>
<dia:attribute name="type">
<dia:string>##</dia:string>
@@ -3595,7 +3571,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#A dictionary interface to dia.Object's standard properties. Many propertiescan be get and set through this. If there is a specific method to change anobjects property like o.move() or o.move_handle() use that instead.#</dia:string>
+ <dia:string>#The parent object when parenting is in place, None otherwise.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3609,7 +3585,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
</dia:composite>
<dia:composite type="umlattribute">
<dia:attribute name="name">
- <dia:string>#type#</dia:string>
+ <dia:string>#properties#</dia:string>
</dia:attribute>
<dia:attribute name="type">
<dia:string>##</dia:string>
@@ -3618,7 +3594,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#The dia.Object factory. Allows to create objects of the specific type. Use: factory = get_object_type(<type name>) to get a grip on it.#</dia:string>
+ <dia:string>#Dictionary of object properties.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3646,7 +3622,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#copy() -> Object. Create a new object copy.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3676,7 +3652,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#destroy() -> None. Release the object. Must not be called when already added to a group or layer.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3706,7 +3682,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#distance_from(real: x, real: y) -> real. Calculate the object's distance from the given point.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3736,7 +3712,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#move(real: x, real: y) -> None. Move the entire object. The given point is the new object.obj_pos.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3766,7 +3742,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#move_handle(Handle: h, (real: x, real: y)[int: reason, int: modifiers]) -> None. Move the given handle of the object to the given position#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -3838,7 +3814,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -3906,10 +3882,7 @@ If the argument is a tuple, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#str(object) -> string
-
-Return a nice string representation of the object.
-If the argument is a string, the return value is the same object.#</dia:string>
+ <dia:string>#string: the unique type indentifier of the object type.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3932,14 +3905,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#int: version number#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -3967,7 +3933,7 @@ will be returned instead.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>##</dia:string>
+ <dia:string>#create(real: x, real: y) -> (Object: o, Handle: h1, Handle: h2) Create a new object of this type. Returns a tuple containing the new object and up to two handles.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -4039,7 +4005,7 @@ will be returned instead.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -4107,9 +4073,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#int or double: lower edge y coordinate#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -4132,9 +4096,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#int or double: left edge x coordinate#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -4157,9 +4119,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#int or double: right edge x coordinate#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -4182,9 +4142,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#int or double: upper edge y coordinate#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -4569,7 +4527,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:point val="61.2344,23.9356"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="34.1129,23.1356;65.0364,35.9309"/>
+ <dia:rectangle val="34.1129,23.1356;65.0364,34.9309"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
@@ -4579,7 +4537,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:point val="64.9864,23.9356"/>
<dia:point val="64.9864,32.7761"/>
<dia:point val="34.9129,32.7761"/>
- <dia:point val="34.9129,35.1309"/>
+ <dia:point val="34.9129,34.1309"/>
</dia:attribute>
<dia:attribute name="orth_orient">
<dia:enum val="0"/>
@@ -4639,27 +4597,25 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="obj_pos">
- <dia:point val="45.0452,42.5042"/>
+ <dia:point val="43.8798,41.4265"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="44.2952,40.852;66.6011,43.3042"/>
+ <dia:rectangle val="43.1298,40.6265;56.8263,43.8"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
</dia:attribute>
<dia:attribute name="orth_points">
- <dia:point val="45.0452,42.5042"/>
- <dia:point val="62.0611,42.5042"/>
- <dia:point val="62.0611,41.652"/>
- <dia:point val="66.5511,41.652"/>
+ <dia:point val="43.8798,41.4265"/>
+ <dia:point val="56.0262,41.4265"/>
+ <dia:point val="56.0262,43"/>
</dia:attribute>
<dia:attribute name="orth_orient">
<dia:enum val="0"/>
<dia:enum val="1"/>
- <dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="orth_autoroute">
- <dia:boolean val="false"/>
+ <dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="text_colour">
<dia:color val="#000000"/>
@@ -4669,18 +4625,18 @@ Convert a string or number to a floating point number, if possible.#</dia:string
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O25" connection="13"/>
- <dia:connection handle="1" to="O20" connection="3"/>
+ <dia:connection handle="1" to="O20" connection="1"/>
</dia:connections>
</dia:object>
<dia:object type="UML - Class" version="0" id="O19">
<dia:attribute name="obj_pos">
- <dia:point val="55.3726,44.6806"/>
+ <dia:point val="65,43"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="55.3226,44.6306;58.6176,49.1306"/>
+ <dia:rectangle val="64.95,42.95;68.245,47.45"/>
</dia:attribute>
<dia:attribute name="elem_corner">
- <dia:point val="55.3726,44.6806"/>
+ <dia:point val="65,43"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="3.1949999999999998"/>
@@ -4722,7 +4678,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -4790,9 +4746,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#double: length along the line#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -4815,14 +4769,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#int: the shape of the arrow#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -4845,9 +4792,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#double: corresponding to line width#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -4868,13 +4813,13 @@ Convert a string or number to a floating point number, if possible.#</dia:string
</dia:object>
<dia:object type="UML - Class" version="0" id="O20">
<dia:attribute name="obj_pos">
- <dia:point val="66.5511,40.952"/>
+ <dia:point val="54,43"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="66.5011,40.902;70.6536,46.202"/>
+ <dia:rectangle val="53.95,42.95;58.1025,48.25"/>
</dia:attribute>
<dia:attribute name="elem_corner">
- <dia:point val="66.5511,40.952"/>
+ <dia:point val="54,43"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="4.0525000000000002"/>
@@ -4916,7 +4861,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -4984,7 +4929,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#MOVE_TO.p1#</dia:string>
+ <dia:string>#Point: first control point for CURVETO#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5007,7 +4952,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#MOVE_TO.p2#</dia:string>
+ <dia:string>#Point: second control point for CURVETO#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5030,7 +4975,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#MOVE_TO.p3#</dia:string>
+ <dia:string>#Point: target point for CURVETO#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5053,14 +4998,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#int: MOVETO, LINETO using p1 only; CURVETO all 3 points#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5081,13 +5019,13 @@ will be returned instead.#</dia:string>
</dia:object>
<dia:object type="UML - Class" version="0" id="O21">
<dia:attribute name="obj_pos">
- <dia:point val="61.4358,43.9551"/>
+ <dia:point val="60,43"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="61.3858,43.9051;64.6808,48.4051"/>
+ <dia:rectangle val="59.95,42.95;63.245,47.45"/>
</dia:attribute>
<dia:attribute name="elem_corner">
- <dia:point val="61.4358,43.9551"/>
+ <dia:point val="60,43"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="3.1949999999999998"/>
@@ -5102,7 +5040,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#Provides access to the some objects font property.#</dia:string>
+ <dia:string>#Provides access to some objects font property.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="false"/>
@@ -5129,7 +5067,7 @@ will be returned instead.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -5197,10 +5135,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#str(object) -> string
-
-Return a nice string representation of the object.
-If the argument is a string, the return value is the same object.#</dia:string>
+ <dia:string>#string: family name of the font#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5223,10 +5158,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#str(object) -> string
-
-Return a nice string representation of the object.
-If the argument is a string, the return value is the same object.#</dia:string>
+ <dia:string>#string: legacy name of the font#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5249,14 +5181,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#int: style flags#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5277,19 +5202,19 @@ will be returned instead.#</dia:string>
</dia:object>
<dia:object type="UML - Class" version="0" id="O22">
<dia:attribute name="obj_pos">
- <dia:point val="46.8085,45.6036"/>
+ <dia:point val="70,32"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="46.7585,45.5536;49.966,47.8536"/>
+ <dia:rectangle val="69.95,31.95;74.4,38.85"/>
</dia:attribute>
<dia:attribute name="elem_corner">
- <dia:point val="46.8085,45.6036"/>
+ <dia:point val="70,32"/>
</dia:attribute>
<dia:attribute name="elem_width">
- <dia:real val="3.1074999999999999"/>
+ <dia:real val="4.3499999999999996"/>
</dia:attribute>
<dia:attribute name="elem_height">
- <dia:real val="2.1999999999999997"/>
+ <dia:real val="6.8000000000000007"/>
</dia:attribute>
<dia:attribute name="name">
<dia:string>#Image#</dia:string>
@@ -5325,7 +5250,7 @@ will be returned instead.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -5381,7 +5306,146 @@ will be returned instead.#</dia:string>
<dia:attribute name="comment_font_height">
<dia:real val="0.69999999999999996"/>
</dia:attribute>
- <dia:attribute name="attributes"/>
+ <dia:attribute name="attributes">
+ <dia:composite type="umlattribute">
+ <dia:attribute name="name">
+ <dia:string>#filename#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="type">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="value">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="comment">
+ <dia:string>#string: utf-8 encoded filename of the image#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="visibility">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ <dia:attribute name="abstract">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="class_scope">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ <dia:composite type="umlattribute">
+ <dia:attribute name="name">
+ <dia:string>#height#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="type">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="value">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="comment">
+ <dia:string>#int: pixel height of the image#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="visibility">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ <dia:attribute name="abstract">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="class_scope">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ <dia:composite type="umlattribute">
+ <dia:attribute name="name">
+ <dia:string>#mask_data#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="type">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="value">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="comment">
+ <dia:string>#string: array of alpha pixel values#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="visibility">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ <dia:attribute name="abstract">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="class_scope">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ <dia:composite type="umlattribute">
+ <dia:attribute name="name">
+ <dia:string>#rgb_data#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="type">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="value">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="comment">
+ <dia:string>#string: array of packed rgb pixel values#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="visibility">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ <dia:attribute name="abstract">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="class_scope">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ <dia:composite type="umlattribute">
+ <dia:attribute name="name">
+ <dia:string>#uri#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="type">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="value">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="comment">
+ <dia:string>#string: Uniform Resource Identifier of the image#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="visibility">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ <dia:attribute name="abstract">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="class_scope">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ <dia:composite type="umlattribute">
+ <dia:attribute name="name">
+ <dia:string>#width#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="type">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="value">
+ <dia:string>##</dia:string>
+ </dia:attribute>
+ <dia:attribute name="comment">
+ <dia:string>#int: pixel width of the image#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="visibility">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ <dia:attribute name="abstract">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ <dia:attribute name="class_scope">
+ <dia:boolean val="false"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
<dia:attribute name="operations"/>
<dia:attribute name="template">
<dia:boolean val="false"/>
@@ -5390,25 +5454,25 @@ will be returned instead.#</dia:string>
</dia:object>
<dia:object type="UML - Class" version="0" id="O23">
<dia:attribute name="obj_pos">
- <dia:point val="51.0873,45.0807"/>
+ <dia:point val="47,43"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="51.0373,45.0307;53.7448,48.7307"/>
+ <dia:rectangle val="46.95,42.95;52.17,47.45"/>
</dia:attribute>
<dia:attribute name="elem_corner">
- <dia:point val="51.0873,45.0807"/>
+ <dia:point val="47,43"/>
</dia:attribute>
<dia:attribute name="elem_width">
- <dia:real val="2.6074999999999999"/>
+ <dia:real val="5.1200000000000001"/>
</dia:attribute>
<dia:attribute name="elem_height">
- <dia:real val="3.6000000000000001"/>
+ <dia:real val="4.4000000000000004"/>
</dia:attribute>
<dia:attribute name="name">
<dia:string>#Point#</dia:string>
</dia:attribute>
<dia:attribute name="stereotype">
- <dia:string>##</dia:string>
+ <dia:string>#sequence#</dia:string>
</dia:attribute>
<dia:attribute name="comment">
<dia:string>#The dia.Point does not only provide access trough it's members but also via a sequence interface.#</dia:string>
@@ -5438,7 +5502,7 @@ will be returned instead.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -5506,9 +5570,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#double: coordinate horizontal part#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5531,9 +5593,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#double: coordinate vertical part#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5554,13 +5614,13 @@ Convert a string or number to a floating point number, if possible.#</dia:string
</dia:object>
<dia:object type="UML - Class" version="0" id="O24">
<dia:attribute name="obj_pos">
- <dia:point val="32.5854,35.1309"/>
+ <dia:point val="32.5854,34.1309"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="32.5354,35.0809;37.2904,39.5809"/>
+ <dia:rectangle val="32.5354,34.0809;37.2904,38.5809"/>
</dia:attribute>
<dia:attribute name="elem_corner">
- <dia:point val="32.5854,35.1309"/>
+ <dia:point val="32.5854,34.1309"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="4.6549999999999994"/>
@@ -5602,7 +5662,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -5758,13 +5818,13 @@ Convert a string or number to a floating point number, if possible.#</dia:string
</dia:object>
<dia:object type="UML - Class" version="0" id="O25">
<dia:attribute name="obj_pos">
- <dia:point val="41.0602,39.0042"/>
+ <dia:point val="39.8948,37.9265"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="41.0102,38.9542;45.0952,44.2542"/>
+ <dia:rectangle val="39.8448,37.8765;43.9298,43.1765"/>
</dia:attribute>
<dia:attribute name="elem_corner">
- <dia:point val="41.0602,39.0042"/>
+ <dia:point val="39.8948,37.9265"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="3.9850000000000003"/>
@@ -5806,7 +5866,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -5874,10 +5934,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#str(object) -> string
-
-Return a nice string representation of the object.
-If the argument is a string, the return value is the same object.#</dia:string>
+ <dia:string>#string: the name of the property#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5900,10 +5957,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#str(object) -> string
-
-Return a nice string representation of the object.
-If the argument is a string, the return value is the same object.#</dia:string>
+ <dia:string>#string: the type name of the object#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5926,7 +5980,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#<DiaProperty at 02C39CF0, "obj_pos", point>.value#</dia:string>
+ <dia:string>#various: the value is of type char, bool, dict, int, real, string, Text, Point, BezPoint, Rect, Arrow, Color or a tuple or list, possibly containing tuple of varying types.#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5949,14 +6003,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#bool: visibility of the property#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -5977,13 +6024,13 @@ will be returned instead.#</dia:string>
</dia:object>
<dia:object type="UML - Class" version="0" id="O26">
<dia:attribute name="obj_pos">
- <dia:point val="68.431,33.285"/>
+ <dia:point val="70,40"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="68.381,33.235;72.446,39.335"/>
+ <dia:rectangle val="69.95,39.95;74.015,46.05"/>
</dia:attribute>
<dia:attribute name="elem_corner">
- <dia:point val="68.431,33.285"/>
+ <dia:point val="70,40"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="3.9649999999999999"/>
@@ -6025,7 +6072,7 @@ will be returned instead.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="0"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -6093,7 +6140,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#<DiaText "none" at 2d6ab60>.color#</dia:string>
+ <dia:string>#Color: color of the text#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -6116,7 +6163,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#<DiaText "none" at 2d6ab60>.font#</dia:string>
+ <dia:string>#Font: read-only reference to font used#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -6139,9 +6186,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#real: height of the font#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -6164,7 +6209,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#<DiaText "none" at 2d6ab60>.position#</dia:string>
+ <dia:string>#Point: alignment position of the text#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -6187,10 +6232,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#str(object) -> string
-
-Return a nice string representation of the object.
-If the argument is a string, the return value is the same object.#</dia:string>
+ <dia:string>#string: text data#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -6247,25 +6289,27 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="obj_pos">
- <dia:point val="45.0452,42.5042"/>
+ <dia:point val="43.8798,41.4265"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="44.2952,41.7042;49.1623,46.4036"/>
+ <dia:rectangle val="43.1298,31.9;70.05,42.2265"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
</dia:attribute>
<dia:attribute name="orth_points">
- <dia:point val="45.0452,42.5042"/>
- <dia:point val="48.3623,42.5042"/>
- <dia:point val="48.3623,45.6036"/>
+ <dia:point val="43.8798,41.4265"/>
+ <dia:point val="66,41.4265"/>
+ <dia:point val="66,32.7"/>
+ <dia:point val="70,32.7"/>
</dia:attribute>
<dia:attribute name="orth_orient">
<dia:enum val="0"/>
<dia:enum val="1"/>
+ <dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="orth_autoroute">
- <dia:boolean val="true"/>
+ <dia:boolean val="false"/>
</dia:attribute>
<dia:attribute name="text_colour">
<dia:color val="#000000"/>
@@ -6275,7 +6319,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O25" connection="13"/>
- <dia:connection handle="1" to="O22" connection="1"/>
+ <dia:connection handle="1" to="O22" connection="3"/>
</dia:connections>
</dia:object>
<dia:object type="UML - Association" version="2" id="O28">
@@ -6316,18 +6360,18 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="obj_pos">
- <dia:point val="45.0452,42.5042"/>
+ <dia:point val="43.8798,41.4265"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="44.2952,41.7042;53.1911,45.8807"/>
+ <dia:rectangle val="43.1298,40.6265;50.36,43.8"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
</dia:attribute>
<dia:attribute name="orth_points">
- <dia:point val="45.0452,42.5042"/>
- <dia:point val="52.3911,42.5042"/>
- <dia:point val="52.3911,45.0807"/>
+ <dia:point val="43.8798,41.4265"/>
+ <dia:point val="49.56,41.4265"/>
+ <dia:point val="49.56,43"/>
</dia:attribute>
<dia:attribute name="orth_orient">
<dia:enum val="0"/>
@@ -6385,18 +6429,18 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="obj_pos">
- <dia:point val="45.0452,42.5042"/>
+ <dia:point val="43.8798,41.4265"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="44.2952,41.7042;57.7701,45.4806"/>
+ <dia:rectangle val="43.1298,40.6265;67.3975,43.8"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
</dia:attribute>
<dia:attribute name="orth_points">
- <dia:point val="45.0452,42.5042"/>
- <dia:point val="56.9701,42.5042"/>
- <dia:point val="56.9701,44.6806"/>
+ <dia:point val="43.8798,41.4265"/>
+ <dia:point val="66.5975,41.4265"/>
+ <dia:point val="66.5975,43"/>
</dia:attribute>
<dia:attribute name="orth_orient">
<dia:enum val="0"/>
@@ -6454,27 +6498,25 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="obj_pos">
- <dia:point val="45.0452,42.5042"/>
+ <dia:point val="43.8798,41.4265"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="44.2952,41.7042;61.4858,45.4551"/>
+ <dia:rectangle val="43.1298,40.6265;62.3975,43.8"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
</dia:attribute>
<dia:attribute name="orth_points">
- <dia:point val="45.0452,42.5042"/>
- <dia:point val="59.7664,42.5042"/>
- <dia:point val="59.7664,44.6551"/>
- <dia:point val="61.4358,44.6551"/>
+ <dia:point val="43.8798,41.4265"/>
+ <dia:point val="61.5975,41.4265"/>
+ <dia:point val="61.5975,43"/>
</dia:attribute>
<dia:attribute name="orth_orient">
<dia:enum val="0"/>
<dia:enum val="1"/>
- <dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="orth_autoroute">
- <dia:boolean val="false"/>
+ <dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="text_colour">
<dia:color val="#000000"/>
@@ -6484,7 +6526,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O25" connection="13"/>
- <dia:connection handle="1" to="O21" connection="3"/>
+ <dia:connection handle="1" to="O21" connection="1"/>
</dia:connections>
</dia:object>
<dia:object type="UML - Association" version="2" id="O31">
@@ -6525,19 +6567,19 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="obj_pos">
- <dia:point val="45.0452,42.5042"/>
+ <dia:point val="43.8798,41.4265"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="44.2952,33.185;68.481,43.3042"/>
+ <dia:rectangle val="43.1298,39.9;70.05,42.2265"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
</dia:attribute>
<dia:attribute name="orth_points">
- <dia:point val="45.0452,42.5042"/>
- <dia:point val="59.7665,42.5042"/>
- <dia:point val="59.7665,33.985"/>
- <dia:point val="68.431,33.985"/>
+ <dia:point val="43.8798,41.4265"/>
+ <dia:point val="68,41.4265"/>
+ <dia:point val="68,40.7"/>
+ <dia:point val="70,40.7"/>
</dia:attribute>
<dia:attribute name="orth_orient">
<dia:enum val="0"/>
@@ -6596,18 +6638,18 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="obj_pos">
- <dia:point val="37.2404,37.4309"/>
+ <dia:point val="37.2404,36.4309"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="37.1904,36.6309;43.9854,39.8042"/>
+ <dia:rectangle val="37.1904,35.6309;43.9854,38.7265"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
</dia:attribute>
<dia:attribute name="orth_points">
- <dia:point val="37.2404,37.4309"/>
- <dia:point val="43.0527,37.4309"/>
- <dia:point val="43.0527,39.0042"/>
+ <dia:point val="37.2404,36.4309"/>
+ <dia:point val="41.8873,36.4309"/>
+ <dia:point val="41.8873,37.9265"/>
</dia:attribute>
<dia:attribute name="orth_orient">
<dia:enum val="0"/>
@@ -7035,7 +7077,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:point val="59.045,2.9"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="10.9737,2.1;77.906,49.7353"/>
+ <dia:rectangle val="10.9737,2.1;77.906,50.05"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
@@ -7043,8 +7085,8 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:attribute name="orth_points">
<dia:point val="59.045,2.9"/>
<dia:point val="77.856,2.9"/>
- <dia:point val="77.856,49.6853"/>
- <dia:point val="11.0237,49.6853"/>
+ <dia:point val="77.856,50"/>
+ <dia:point val="11.0237,50"/>
<dia:point val="11.0237,27.092"/>
<dia:point val="14.6201,27.092"/>
</dia:attribute>
@@ -7321,7 +7363,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:point val="61.2344,24.7356"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="0.634475,16.9;64.2093,48.5977"/>
+ <dia:rectangle val="0.634475,16.9;64.2093,49.05"/>
</dia:attribute>
<dia:attribute name="meta">
<dia:composite type="dict"/>
@@ -7331,8 +7373,8 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:point val="64.1593,24.7356"/>
<dia:point val="64.1593,31.9992"/>
<dia:point val="30.4407,31.9992"/>
- <dia:point val="30.4407,48.5477"/>
- <dia:point val="0.684475,48.5477"/>
+ <dia:point val="30.4407,49"/>
+ <dia:point val="0.684475,49"/>
<dia:point val="0.684475,17.7"/>
<dia:point val="4,17.7"/>
</dia:attribute>
@@ -7409,7 +7451,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="17"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -7481,7 +7523,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#delivers the currently active display 'dia.Display' or None#</dia:string>
+ <dia:string>#active_display() -> Display. Delivers the currently active display 'dia.Display' or None#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7511,7 +7553,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#returns the list of currently open diagrams#</dia:string>
+ <dia:string>#diagrams() -> List of Diagram. Returns the list of currently open diagrams#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7541,7 +7583,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#from a type name like "Standard - Line" return the factory to create objects of that type, see: DiaObjectType#</dia:string>
+ <dia:string>#get_object_type(string: type) -> ObjectType. From a type name like "Standard - Line" return the factory to create objects of that type, see: DiaObjectType#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7571,7 +7613,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#create a group containing the given list of dia.Object(s)#</dia:string>
+ <dia:string>#group_create(List of Object: objs) -> Object. Create a group containing the given list of dia.Object(s)#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7601,7 +7643,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#loads a diagram from the given filename#</dia:string>
+ <dia:string>#load(string: name) -> Diagram. Loads a diagram from the given filename#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7631,7 +7673,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#popup a dialog with given message#</dia:string>
+ <dia:string>#message(int: type, string: msg) -> None. Popup a dialog with given message#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7661,7 +7703,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#create an empty diagram#</dia:string>
+ <dia:string>#new(string: name) -> Diagram. Create an empty diagram#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7691,7 +7733,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#register a callback function which appears in the menu. Depending on the menu path used during registrationthe callback gets called with the current DiaDiagramData object#</dia:string>
+ <dia:string>#register_action(string: action, string: description, string: menupath, Callback: func) -> None. Register a callback function which appears in the menu. Depending on the menu path used during registrationthe callback gets called with the current DiaDiagramData object#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7721,7 +7763,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#register a callback function which appears in the menu. Depending on the menu path used during registrationthe callback gets called with the current DiaDiagramData object#</dia:string>
+ <dia:string>#register_callback(string: description, string: menupath, Callback: func) -> None. Register a callback function which appears in the menu. Depending on the menu path used during registrationthe callback gets called with the current DiaDiagramData object#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7751,7 +7793,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#allows to register an export filter written in Python. It needs to conform to the DiaRenderer interface.#</dia:string>
+ <dia:string>#register_export(string: name, string: extension, Renderer: r) -> None. Allows to register an export filter written in Python. It needs to conform to the DiaRenderer interface.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7781,7 +7823,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#allows to register an import filter written in Python, that is mainly a callback function which fills thegiven DiaDiagramData from the given filename#</dia:string>
+ <dia:string>#register_import(string: name, string: extension, Callback: func) -> None. Allows to register an import filter written in Python, that is mainly a callback function which fills thegiven DiaDiagramData from the given filename#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7811,7 +7853,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#registers a single plug-in given its filename#</dia:string>
+ <dia:string>#register_plugin(string: filename) -> None. Registers a single plug-in given its filename, that is load a dynamic module.#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7841,7 +7883,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#a dictionary of all registered object factories, aka. DiaObjectType#</dia:string>
+ <dia:string>#registered_types() -> Dict of ObjectType indexed by their name. A dictionary of all registered object factories, aka. DiaObjectType#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7871,7 +7913,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:enum val="0"/>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#force a global update of all existing diagrams#</dia:string>
+ <dia:string>#update_all() -> None. Force an asynchronous update of all existing diagram displays#</dia:string>
</dia:attribute>
<dia:attribute name="abstract">
<dia:boolean val="true"/>
@@ -7943,7 +7985,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:int val="40"/>
</dia:attribute>
<dia:attribute name="comment_line_length">
- <dia:int val="17"/>
+ <dia:int val="120"/>
</dia:attribute>
<dia:attribute name="comment_tagging">
<dia:boolean val="false"/>
@@ -8011,9 +8053,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#real: height of the drawable area (sans margins)#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -8036,14 +8076,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#int(x[, base]) -> integer
-
-Convert a string or number to an integer, if possible. A floating point
-argument will be truncated towards zero (this does not include a string
-representation of a floating point number!) When converting a string, use
-the optional base. It is an error to supply a base when converting a
-non-string. If the argument is outside the integer range a long object
-will be returned instead.#</dia:string>
+ <dia:string>#int: paper orientation#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -8066,10 +8099,7 @@ will be returned instead.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#str(object) -> string
-
-Return a nice string representation of the object.
-If the argument is a string, the return value is the same object.#</dia:string>
+ <dia:string>#string: paper name, e.g. A4 or Letter#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -8092,9 +8122,7 @@ If the argument is a string, the return value is the same object.#</dia:string>
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#real: factor to zoom the diagram on the paper#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
@@ -8117,9 +8145,7 @@ Convert a string or number to a floating point number, if possible.#</dia:string
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="comment">
- <dia:string>#float(x) -> floating point number
-
-Convert a string or number to a floating point number, if possible.#</dia:string>
+ <dia:string>#real: width of the drawable area (sans margins)#</dia:string>
</dia:attribute>
<dia:attribute name="visibility">
<dia:enum val="0"/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]