View Issue Details

IDProjectCategoryView StatusLast Update
0001276ScribusScripterpublic2004-11-09 00:27
ReporterringercAssigned Tofschmid  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionfixed 
Platformx86 LinuxOSFedora CoreOS Version1
Product Version1.2.1cvs 
Fixed in Version1.2.1cvs 
Summary0001276: PATCH: Change function aliasing to use a dynamically created Python wrapper function
DescriptionAttached is a patch that changes the way the aliasing of function names in the scripter works. Instead of doubling up entires in the module's PyMethodDef struct, it provides a function that creates simple Python wrapper funcions for the aliases.

The biggest advantage of this is that it cleans up the PyMethodDef struct considerably, making it easier to read and eliminating the duplication of docstrings.

Another advantage is that the wrapper function can warn the user that the name is deprecated, and to use the new name. It uses the Python `warnings' module to do this, giving the user the option of suppressing the warnings entirely, having them print out at every use, etc. The default is to print a warning the first time the function is used in each interpreter instance, which in Scribus means the first time it's used in a script.

An extremely similar mechanism to this can be used to handle incompatible calling convention changes (make a Python function that translates the old method to the new one and calls the new function under a different name).

It's easy to create aliases that don't output DeprecationWarning too, but I didn't see the need to add such a function at present. To my mind aliasing is undesirable - it adds duplication and messes up the scribus module namespace - so I don't know if a plain version of deprecatedFunctionAlias() will ever be required.

There should be no compatibility impact on existing scripts - they'll just start outputting warnings until the script author disables the warnings with the warnings module or fixes their script.

The patch that's attached includes the noargs patch from bug 0001264. The changes in this bug do not depend on the changes made in the noargs patch, the combination is just made so that it's more convenient to apply both without tackling a large pile of rejects. If the noargs patch is applied (or rejected) I'll produce a version of this patch without the noargs changes included.

This patch also includes a restructuring of the way slotRunScriptFile operates - the restructure is required to get the warnings to be displayed properly. The change eliminates the redirection of stderr, instead capturing the exception text after the script has run. It also tidies things up a little and adds comments. I will break this out into a separate patch as I think it's worth including on its own, but for testing purposes it's included with this patch. Again, I'm happy to produce a version of this patch without the change, though the warnings will not appear.

This patch is fairly hefty, so it's probably not a good idea to apply it without extensive testing. Most of the changes are actually from the noargs patch, though, so if that tests out OK (which it certainly should) this should be fairly safe to apply.
TagsNo tags attached.
Patch

Relationships

related to 0001264 closedfschmid PATCH: Convert functions that take no arguments to METH_NOARGS 
child of 0003813 acknowledged Metabug: Scripter 

Activities

2004-11-06 14:42

 

scripter_NOARGS3_and_aliasing_2.diff (118,442 bytes)   
Index: cmdcolor.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdcolor.cpp,v
retrieving revision 1.5
diff -u -r1.5 cmdcolor.cpp
--- cmdcolor.cpp	4 Oct 2004 21:34:12 -0000	1.5
+++ cmdcolor.cpp	6 Nov 2004 14:25:38 -0000
@@ -3,16 +3,11 @@
 #include "cmdutil.h"
 #include "cmdvar.h"
 
-PyObject *scribus_colornames(PyObject *self, PyObject* args)
+PyObject *scribus_colornames(PyObject *self)
 {
 	CListe edc;
 	PyObject *l;
 	int cc = 0;
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getColorNames()"));
-		return NULL;
-	}
 	edc = Carrier->HaveDoc ? Carrier->doc->PageColors : Carrier->Prefs.DColors;
 	CListe::Iterator it;
 	l = PyList_New(edc.count());
Index: cmdcolor.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdcolor.h,v
retrieving revision 1.4
diff -u -r1.4 cmdcolor.h
--- cmdcolor.h	5 Apr 2004 21:52:21 -0000	1.4
+++ cmdcolor.h	6 Nov 2004 14:25:38 -0000
@@ -5,7 +5,7 @@
 /** Managing Colors */
 
 /** Returns a list with colours available in doc or in prefs. */
-PyObject *scribus_colornames(PyObject *self, PyObject* args);
+PyObject *scribus_colornames(PyObject *self);
 /** Returns a CMYK tuple of the specified color. */
 PyObject *scribus_getcolor(PyObject *self, PyObject* args);
 /** Sets named color with C,M,Y,K params. */
Index: cmddialog.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmddialog.cpp,v
retrieving revision 1.14
diff -u -r1.14 cmddialog.cpp
--- cmddialog.cpp	2 Nov 2004 18:36:05 -0000	1.14
+++ cmddialog.cpp	6 Nov 2004 14:25:38 -0000
@@ -6,13 +6,8 @@
 #include <qmessagebox.h>
 #include <qcursor.h>
 
-PyObject *scribus_newdocdia(PyObject *self, PyObject* args)
+PyObject *scribus_newdocdia(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("newDocDialog()"));
-		return NULL;
-	}
 	QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
 	bool ret = Carrier->slotFileNew();
 	QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
Index: cmddialog.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmddialog.h,v
retrieving revision 1.6
diff -u -r1.6 cmddialog.h
--- cmddialog.h	2 Nov 2004 18:36:05 -0000	1.6
+++ cmddialog.h	6 Nov 2004 14:25:38 -0000
@@ -4,7 +4,7 @@
 
 /** Calling Dialogs from Scribus */
 /** Raises the Scribus New Document dialog */
-PyObject *scribus_newdocdia(PyObject *self, PyObject* args);
+PyObject *scribus_newdocdia(PyObject *self);
 /** Raises file dialog.
  Params - caption, filter, default name and opt. pre, mode. */
 PyObject *scribus_filedia(PyObject *self, PyObject* args);
Index: cmddoc.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmddoc.cpp,v
retrieving revision 1.12
diff -u -r1.12 cmddoc.cpp
--- cmddoc.cpp	30 Oct 2004 13:08:17 -0000	1.12
+++ cmddoc.cpp	6 Nov 2004 14:25:38 -0000
@@ -55,13 +55,8 @@
 	return Py_None;
 }
 
-PyObject *scribus_closedoc(PyObject *self, PyObject* args)
+PyObject *scribus_closedoc(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("closeDoc()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	Carrier->doc->setUnModified();
@@ -70,13 +65,8 @@
 	return PyInt_FromLong(static_cast<long>(ret));
 }
 
-PyObject *scribus_havedoc(PyObject *self, PyObject* args)
+PyObject *scribus_havedoc(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("haveDoc()"));
-		return NULL;
-	}
 	return PyInt_FromLong(static_cast<long>(Carrier->HaveDoc));
 }
 
@@ -92,13 +82,8 @@
 	return PyInt_FromLong(static_cast<long>(ret));
 }
 
-PyObject *scribus_savedoc(PyObject *self, PyObject* args)
+PyObject *scribus_savedoc(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("saveDoc()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	Carrier->slotFileSave();
@@ -156,13 +141,8 @@
 	return Py_None;
 }
 
-PyObject *scribus_getunit(PyObject *self, PyObject* args)
+PyObject *scribus_getunit(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getUnit()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	return PyInt_FromLong(static_cast<long>(Carrier->doc->Einheit));
Index: cmddoc.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmddoc.h,v
retrieving revision 1.4
diff -u -r1.4 cmddoc.h
--- cmddoc.h	20 Sep 2004 22:19:09 -0000	1.4
+++ cmddoc.h	6 Nov 2004 14:25:38 -0000
@@ -7,13 +7,13 @@
  first 2 args are lists (tuples) */
 PyObject *scribus_newdoc(PyObject *self, PyObject* args);
 /** Closes active doc. No params */
-PyObject *scribus_closedoc(PyObject *self, PyObject* args);
+PyObject *scribus_closedoc(PyObject *self);
 /** Checks if is a document opened. */
-PyObject *scribus_havedoc(PyObject *self, PyObject* args);
+PyObject *scribus_havedoc(PyObject *self);
 /** Opens a document with given name. */
 PyObject *scribus_opendoc(PyObject *self, PyObject* args);
 /** Saves active document (only save slot call). */
-PyObject *scribus_savedoc(PyObject *self, PyObject* args);
+PyObject *scribus_savedoc(PyObject *self);
 /** Saves active document with given name */
 PyObject *scribus_savedocas(PyObject *self, PyObject* args);
 /** Sets document infos - author, title and description */
@@ -23,7 +23,7 @@
 /** Changes unit scale. */
 PyObject *scribus_setunit(PyObject *self, PyObject* args);
 /** Returns actual unit scale. */
-PyObject *scribus_getunit(PyObject *self, PyObject* args);
+PyObject *scribus_getunit(PyObject *self);
 /** Loads styles from another .sla file (craig r.)*/
 PyObject *scribus_loadstylesfromfile(PyObject *self, PyObject *args);
 PyObject *scribus_setdoctype(PyObject *self, PyObject* args);
Index: cmdmani.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdmani.cpp,v
retrieving revision 1.9
diff -u -r1.9 cmdmani.cpp
--- cmdmani.cpp	30 Oct 2004 13:08:17 -0000	1.9
+++ cmdmani.cpp	6 Nov 2004 14:25:38 -0000
@@ -262,13 +262,8 @@
 		return PyString_FromString("");
 }
 
-PyObject *scribus_selcount(PyObject *self, PyObject* args)
+PyObject *scribus_selcount(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("selectionCount()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	return PyInt_FromLong(static_cast<long>(Carrier->doc->ActPage->SelItem.count()));
@@ -291,13 +286,8 @@
 	return Py_None;
 }
 
-PyObject *scribus_deselect(PyObject *self, PyObject* args)
+PyObject *scribus_deselect(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("deselectAll()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	for (uint i = 0; i < Carrier->view->Pages.count(); i++)
Index: cmdmani.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdmani.h,v
retrieving revision 1.3
diff -u -r1.3 cmdmani.h
--- cmdmani.h	12 Jul 2004 23:26:45 -0000	1.3
+++ cmdmani.h	6 Nov 2004 14:25:38 -0000
@@ -9,9 +9,9 @@
 PyObject *scribus_rotobjabs(PyObject *self, PyObject* args);
 PyObject *scribus_sizeobjabs(PyObject *self, PyObject* args);
 PyObject *scribus_getselobjnam(PyObject *self, PyObject* args);
-PyObject *scribus_selcount(PyObject *self, PyObject* args);
+PyObject *scribus_selcount(PyObject *self);
 PyObject *scribus_selectobj(PyObject *self, PyObject* args);
-PyObject *scribus_deselect(PyObject *self, PyObject* args);
+PyObject *scribus_deselect(PyObject *self);
 PyObject *scribus_groupobj(PyObject *self, PyObject* args);
 PyObject *scribus_ungroupobj(PyObject *self, PyObject* args);
 PyObject *scribus_scalegroup(PyObject *self, PyObject* args);
Index: cmdmisc.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdmisc.cpp,v
retrieving revision 1.14
diff -u -r1.14 cmdmisc.cpp
--- cmdmisc.cpp	30 Oct 2004 13:08:17 -0000	1.14
+++ cmdmisc.cpp	6 Nov 2004 14:25:38 -0000
@@ -20,13 +20,8 @@
 	return Py_None;
 }
 
-PyObject *scribus_fontnames(PyObject *self, PyObject* args)
+PyObject *scribus_fontnames(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getFontNames()"));
-		return NULL;
-	}
 	int cc2 = 0;
 	SCFontsIterator it2(Carrier->Prefs.AvailFonts);
 	for ( ; it2.current() ; ++it2)
@@ -48,13 +43,8 @@
 	return l;
 }
 
-PyObject *scribus_xfontnames(PyObject *self, PyObject* args)
+PyObject *scribus_xfontnames(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getXFontNames()"));
-		return NULL;
-	}
 	PyObject *l = PyList_New(Carrier->Prefs.AvailFonts.count());
 	SCFontsIterator it(Carrier->Prefs.AvailFonts);
 	int cc = 0;
@@ -98,13 +88,8 @@
 	return PyInt_FromLong(static_cast<long>(ret));
 }
 
-PyObject *scribus_getlayers(PyObject *self, PyObject* args)
+PyObject *scribus_getlayers(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getLayers()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	PyObject *l;
@@ -144,13 +129,8 @@
 	return Py_None;
 }
 
-PyObject *scribus_getactlayer(PyObject *self, PyObject* args)
+PyObject *scribus_getactlayer(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getActiveLayer()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	return PyString_FromString(Carrier->doc->Layers[Carrier->doc->ActiveLayer].Name);
@@ -362,12 +342,7 @@
 	return Py_None;
 }
 
-PyObject *scribus_getlanguage(PyObject *self, PyObject* args)
+PyObject *scribus_getlanguage(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getGuiLanguage()"));
-		return NULL;
-	}
 	return PyString_FromString(Carrier->GuiLanguage);
 }
Index: cmdmisc.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdmisc.h,v
retrieving revision 1.5
diff -u -r1.5 cmdmisc.h
--- cmdmisc.h	14 May 2004 22:34:05 -0000	1.5
+++ cmdmisc.h	6 Nov 2004 14:25:38 -0000
@@ -4,16 +4,16 @@
 
 /** Other Commands */
 PyObject *scribus_setredraw(PyObject *self, PyObject* args);
-PyObject *scribus_fontnames(PyObject *self, PyObject* args);
+PyObject *scribus_fontnames(PyObject *self);
  /**
  return a list of the tuples with
  Scribus name, Family, Real name, subset (1|0), embed PS (1|0), font file
  */
-PyObject *scribus_xfontnames(PyObject *self, PyObject* args);
+PyObject *scribus_xfontnames(PyObject *self);
 PyObject *scribus_renderfont(PyObject *self, PyObject* args);
-PyObject *scribus_getlayers(PyObject *self, PyObject* args);
+PyObject *scribus_getlayers(PyObject *self);
 PyObject *scribus_setactlayer(PyObject *self, PyObject* args);
-PyObject *scribus_getactlayer(PyObject *self, PyObject* args);
+PyObject *scribus_getactlayer(PyObject *self);
 PyObject *scribus_senttolayer(PyObject *self, PyObject* args);
 PyObject *scribus_layervisible(PyObject *self, PyObject* args);
 PyObject *scribus_layerprint(PyObject *self, PyObject* args);
@@ -21,7 +21,7 @@
 PyObject *scribus_glayerprint(PyObject *self, PyObject* args);
 PyObject *scribus_removelayer(PyObject *self, PyObject* args);
 PyObject *scribus_createlayer(PyObject *self, PyObject* args);
-PyObject *scribus_getlanguage(PyObject *self, PyObject* args);
+PyObject *scribus_getlanguage(PyObject *self);
 
 #endif
 
Index: cmdobj.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdobj.cpp,v
retrieving revision 1.13
diff -u -r1.13 cmdobj.cpp
--- cmdobj.cpp	30 Oct 2004 13:08:17 -0000	1.13
+++ cmdobj.cpp	6 Nov 2004 14:25:39 -0000
@@ -507,14 +507,9 @@
  * Craig Ringer, 2004-09-09
  * Enumerate all known paragraph styles
  */
-PyObject *scribus_getstylenames(PyObject *self, PyObject* args)
+PyObject *scribus_getstylenames(PyObject *self)
 {
 	PyObject *styleList;
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getAllStyles()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	styleList = PyList_New(0);
Index: cmdobj.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdobj.h,v
retrieving revision 1.6
diff -u -r1.6 cmdobj.h
--- cmdobj.h	20 Sep 2004 22:19:09 -0000	1.6
+++ cmdobj.h	6 Nov 2004 14:25:39 -0000
@@ -58,7 +58,7 @@
  Craig Ringer, 2004-09-09
  Enumerate all known paragraph styles
 */
-PyObject *scribus_getstylenames(PyObject *self, PyObject* args);
+PyObject *scribus_getstylenames(PyObject *self);
 
 #endif
 
Index: cmdpage.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdpage.cpp,v
retrieving revision 1.14
diff -u -r1.14 cmdpage.cpp
--- cmdpage.cpp	30 Oct 2004 13:08:17 -0000	1.14
+++ cmdpage.cpp	6 Nov 2004 14:25:39 -0000
@@ -3,25 +3,15 @@
 #include "cmdvar.h"
 #include "cmdutil.h"
 
-PyObject *scribus_actualpage(PyObject *self, PyObject* args)
+PyObject *scribus_actualpage(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("currentPage()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	return PyInt_FromLong(static_cast<long>(Carrier->doc->ActPage->PageNr + 1));
 }
 
-PyObject *scribus_redraw(PyObject *self, PyObject* args)
+PyObject *scribus_redraw(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("redrawAll()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	Carrier->view->DrawNew();
@@ -112,25 +102,15 @@
 	return Py_None;
 }
 
-PyObject *scribus_pagecount(PyObject *self, PyObject* args)
+PyObject *scribus_pagecount(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("pageCount()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	return PyInt_FromLong(static_cast<long>(Carrier->view->Pages.count()));
 }
 
-PyObject *scribus_pagedimension(PyObject *self, PyObject *args)
+PyObject *scribus_pagedimension(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getPageSize()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	PyObject *t;
@@ -142,13 +122,8 @@
 	return t;
 }
 
-PyObject *scribus_getpageitems(PyObject *self, PyObject* args)
+PyObject *scribus_getpageitems(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getPageItems()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	if (Carrier->doc->ActPage->Items.count() == 0)
@@ -167,13 +142,8 @@
 	return l;
 }
 
-PyObject *scribus_getHguides(PyObject *self, PyObject* args)
+PyObject *scribus_getHguides(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getHGuides()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	int n = Carrier->doc->ActPage->YGuides.count();
@@ -227,13 +197,8 @@
 	return Py_None;
 }
 
-PyObject *scribus_getVguides(PyObject *self, PyObject* args)
+PyObject *scribus_getVguides(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getVGuides()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	int n = Carrier->doc->ActPage->XGuides.count();
@@ -287,14 +252,9 @@
 	return Py_None;
 }
 
-PyObject *scribus_getpagemargins(PyObject *self,  PyObject* args)
+PyObject *scribus_getpagemargins(PyObject *self)
 {
 	PyObject *margins = NULL;
-	if (!PyArg_ParseTuple(args, ""))
-	{
-		PyErr_SetString(PyExc_Exception, ERRPARAM + QString("getPageMargins()"));
-		return NULL;
-	}
 	if(!checkHaveDocument())
 		return NULL;
 	margins = Py_BuildValue("ffff", Carrier->doc->PageM.Top, Carrier->doc->PageM.Left,
Index: cmdpage.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmdpage.h,v
retrieving revision 1.6
diff -u -r1.6 cmdpage.h
--- cmdpage.h	28 Sep 2004 22:42:25 -0000	1.6
+++ cmdpage.h	6 Nov 2004 14:25:39 -0000
@@ -4,33 +4,33 @@
 
 /** Page related Commands */
 PyObject *scribus_newpage(PyObject *self, PyObject* args);
-PyObject *scribus_actualpage(PyObject *self, PyObject* args);
-PyObject *scribus_redraw(PyObject *self, PyObject* args);
+PyObject *scribus_actualpage(PyObject *self);
+PyObject *scribus_redraw(PyObject *self);
 PyObject *scribus_savepageeps(PyObject *self, PyObject* args);
 PyObject *scribus_deletepage(PyObject *self, PyObject* args);
 PyObject *scribus_gotopage(PyObject *self, PyObject* args);
-PyObject *scribus_pagecount(PyObject *self, PyObject* args);
-PyObject *scribus_getHguides(PyObject *self, PyObject* args);
+PyObject *scribus_pagecount(PyObject *self);
+PyObject *scribus_getHguides(PyObject *self);
 PyObject *scribus_setHguides(PyObject *self, PyObject* args);
-PyObject *scribus_getVguides(PyObject *self, PyObject* args);
+PyObject *scribus_getVguides(PyObject *self);
 PyObject *scribus_setVguides(PyObject *self, PyObject* args);
 /** 
 returns a tuple with page domensions in used system
 e.g. when is the doc in picas returns picas ;)
 (Petr Vanek 02/17/04) 
 */
-PyObject *scribus_pagedimension(PyObject *self, PyObject* args);
+PyObject *scribus_pagedimension(PyObject *self);
 /**
 returns a list of tuples with items on the actual page
 TODO: solve utf/iso chars in object names
 (Petr Vanek 03/02/2004)
 */
-PyObject *scribus_getpageitems(PyObject *self, PyObject* args);
+PyObject *scribus_getpageitems(PyObject *self);
 /**
 returns a tuple with page margins
 Craig Ringer, Petr Vanek 09/25/2004
 */
-PyObject *scribus_getpagemargins(PyObject *self, PyObject* args);
+PyObject *scribus_getpagemargins(PyObject *self);
 
 #endif
 
Index: scriptplugin.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp,v
retrieving revision 1.38
diff -u -r1.38 scriptplugin.cpp
--- scriptplugin.cpp	2 Nov 2004 18:34:29 -0000	1.38
+++ scriptplugin.cpp	6 Nov 2004 14:25:40 -0000
@@ -225,31 +225,64 @@
 	PyThreadState *stateo = PyEval_SaveThread();
 	PyThreadState *state = Py_NewInterpreter();
 	initscribus(Carrier);
-	QString cm = "import sys\nsys.path[0] = \""+fi.dirPath(true)+"\"\n";
-	cm += "try:\n\texecfile(\""+fileName+"\")\nexcept SystemExit:\n\tpass\n";
-	QCString cmd = cm.latin1();
 	comm[0] = na.data();
-	// this code run the script and handles stderr redirection
-	PyRun_SimpleString( "import sys, StringIO\nsys.stderr=sys._capture=StringIO.StringIO()\n");
 	// call python script
 	PySys_SetArgv(1, comm);
-	PyRun_SimpleString(cmd.data());
-	// and restore stderr
-	PyObject* sysmod = PyImport_ImportModule("sys");
-	PyObject* capobj = PyObject_GetAttrString(sysmod, "_capture");
-	PyObject* strres = PyObject_CallMethod(capobj, "getvalue", 0);
-	QString cres = QString(PyString_AsString(strres));
-	// just tell the truth :)
-	if (cres.length() > 0)
-	{
-		QClipboard *cp = QApplication::clipboard();
-		cp->setText(cres);
-		QMessageBox::warning(Carrier,
-		                     tr("Script error"),
-		                     tr("If you are running an official script report it at <a href=\"http://bugs.scribus.net\">bugs.scribus.net</a> please.")
-		                     + "<pre>"
-		                     + cres + "</pre>" + tr("This message is in your clipboard too. Use Ctrl+V to paste it into bug tracker."));
-	}
+	PyObject* m = PyImport_AddModule("__main__");
+	if (m == NULL)
+		qDebug("Failed to get __main__ - aborting script");
+	else
+	{
+		PyObject* globals = PyModule_GetDict(m);
+		// Build the Python code to run the script
+		QString cm = QString("import sys,StringIO,traceback\n");
+		cm        += QString("sys.path[0] = \"%1\"\n").arg(fi.dirPath(true));
+		cm        += QString("try:\n");
+		cm        += QString("    execfile(\"%1\")\n").arg(fileName);
+		cm        += QString("except SystemExit:\n");
+		cm        += QString("    pass\n");
+		// Capture the text of any other exception that's raised by the interpreter
+		// into a StringIO buffer for later extraction.
+		cm        += QString("except Exception, err:\n");
+		cm        += QString("    f=StringIO.StringIO()\n");
+		cm        += QString("    traceback.print_exc(file=f)\n");
+		cm        += QString("    errorMsg = f.getvalue()\n");
+		cm        += QString("    del(f)\n");
+		// We re-raise the exception so the return value of PyRun_String reflects
+		// the fact that an exception has ocurred.
+		cm        += QString("    raise\n");
+		QCString cmd = cm.latin1();
+		// Now run the script in the interpreter's global scope
+		PyObject* result = PyRun_String(cmd.data(), Py_file_input, globals, globals);
+		// NULL is returned if an exception is set. We don't care about any
+		// other return value (most likely None anyway) and can ignore it.
+		if (result == NULL)
+		{
+			PyObject* errorMsgPyStr = PyMapping_GetItemString(globals, "errorMsg");
+			if (errorMsgPyStr == NULL)
+			{
+				// It's rather unlikely that this will ever be reached - to get here
+				// we'd have to fail to retrive the string we just created.
+				qDebug("Error retrieving error message content after script exception!");
+				qDebug("Exception was:");
+				PyErr_Print();
+			}
+			else
+			{
+				QString errorMsg = PyString_AsString(errorMsgPyStr);
+				// Display a dialog to the user with the exception
+				QClipboard *cp = QApplication::clipboard();
+				cp->setText(errorMsg);
+				QMessageBox::warning(Carrier,
+									tr("Script error"),
+									tr("If you are running an official script report it at <a href=\"http://bugs.scribus.net\">bugs.scribus.net</a> please.")
+									+ "<pre>" +errorMsg + "</pre>"
+									+ tr("This message is in your clipboard too. Use Ctrl+V to paste it into bug tracker."));
+			}
+		} // end if result == NULL
+		// Because 'result' may be NULL, not a PyObject*, we must call PyXDECREF not Py_DECREF
+		Py_XDECREF(result);
+	} // end if m == NULL
 	Py_EndInterpreter(state);
 	PyEval_RestoreThread(stateo);
 	Carrier->ScriptRunning = false;
@@ -408,6 +441,45 @@
 	dia->show();
 }
 
+// This function builds a Python wrapper function called newName around the
+// python function called oldName. The wrapper function prints a warning, then
+// calls oldName with all passed arguments and returns the result from oldName.
+// The wrapper is stored in the module dictionary passed, so it appears in the
+// `scribus' module and will be imported by 'from scribus import'. A docstring
+// is provided to direct the user to the correct function.
+// By default the warning gets output only on the first use of the function in a given
+// interpreter instance, but user scripts can change this.
+void deprecatedFunctionAlias(PyObject* scribusdict, char* oldName, char* newName)
+{
+	// Build the Python code to create the wrapper function
+	QString wrapperFunc = "";
+	wrapperFunc += QString("def %1(*args, **kwargs):\n").arg(newName);
+	wrapperFunc += QString("    \"\"\"Deprecated alias for function %1 - see help(%2).\"\"\"\n").arg(oldName).arg(oldName);
+	wrapperFunc += QString("    warnings.warn(\"Warning, script function %1 is deprecated, use %2 instead.\\n\",exceptions.DeprecationWarning)\n").arg(newName).arg(oldName);
+	wrapperFunc += QString("    return %1(*args,**kwargs)\n").arg(oldName);
+	QCString wsData = wrapperFunc.latin1();
+	// And run it in the namespace of the scribus module
+	/*
+	PyObject* m = PyImport_AddModule("__main__");
+	if (m == NULL)
+	{
+		qDebug("Failed to import __main__!");
+		return;
+	}
+	PyObject* globals = PyModule_GetDict(m);
+	*/
+	PyObject* result = PyRun_String(wsData, Py_file_input, scribusdict, scribusdict);
+	// NULL is returned if an exception is set. We don't care about any other return value and
+	// can ignore it.
+	if (result == NULL)
+	{
+		qDebug("Failed to alias %s to %s in Python scripter - exception raised!", oldName, newName);
+		PyErr_Print();
+	}
+	// Because 'result' may be NULL, not a PyObject*, we must call PyXDECREF not Py_DECREF
+	Py_XDECREF(result);
+}
+
 /****************************************************************************************/
 /*                                                                                      */
 /*   Definitions of the Python commands                                                 */
@@ -438,293 +510,150 @@
 etc. */
 static PyMethodDef scribus_methods[] = {
 	// 2004/10/03 pv - aliases with common Python syntax - ClassName methodName
-	// 2004/09/26 pv
-	{"ValueDialog", scribus_valdialog, METH_VARARGS, "TODO: docstring"},
-	{"valueDialog", scribus_valdialog, METH_VARARGS, "TODO: docstring"},
-	{"GetPageSize", scribus_pagedimension, METH_VARARGS, "Returns a tuple with page dimensions in used system e.g. when the document's page is in picas - picas are returned"}, // just an alias to PageDimension()
-	{"getPageSize", scribus_pagedimension, METH_VARARGS, "Returns a tuple with page dimensions in used system e.g. when the document's page is in picas - picas are returned"}, // just an alias to PageDimension()
-	{"GetPageMargins", scribus_getpagemargins, METH_VARARGS, "TODO: docstring"},
-	{"getPageMargins", scribus_getpagemargins, METH_VARARGS, "TODO: docstring"},
-	// 2004/09/13 pv
-	{"TraceText", scribus_tracetext, METH_VARARGS, "TODO: docstring"},
-	{"traceText", scribus_tracetext, METH_VARARGS, "TODO: docstring"},
-	{"LoadStylesFromFile", scribus_loadstylesfromfile, METH_VARARGS, "TODO: docstring"},
-	{"loadStylesFromFile", scribus_loadstylesfromfile, METH_VARARGS, "TODO: docstring"},
-	{"SetStyle", scribus_setstyle, METH_VARARGS, "TODO: docstring"},
-	{"setStyle", scribus_setstyle, METH_VARARGS, "TODO: docstring"},
-	{"GetAllStyles", scribus_getstylenames, METH_VARARGS, "TODO: docstring"},
-	{"getAllStyles", scribus_getstylenames, METH_VARARGS, "TODO: docstring"},
-	// before 2004/09/13 pv
-	{"LockObject", scribus_lockobject, METH_VARARGS, "TODO: docstring"},
-	{"lockObject", scribus_lockobject, METH_VARARGS, "TODO: docstring"},
-	{"IsLocked", scribus_islocked, METH_VARARGS, "TODO: docstring"},
-	{"isLocked", scribus_islocked, METH_VARARGS, "TODO: docstring"},
-	{"ObjectExists",scribus_objectexists, METH_VARARGS, "User test if an object with specified name really exists in the doc. Optional parameter is the object name. When no param given returns if there is something selected."},
-	{"objectExists",scribus_objectexists, METH_VARARGS, "User test if an object with specified name really exists in the doc. Optional parameter is the object name. When no param given returns if there is something selected."},
-	{"GetPageItems", scribus_getpageitems, METH_VARARGS, "Returns a list of tuples with items on the actual page. (name, objectType, order) E.g. [('Text1', 4, 0), ('Image1', 2, 1)] means that object named 'Text1' is a text frame (type 4) and is the first at the page..."},
-	{"getPageItems", scribus_getpageitems, METH_VARARGS, "Returns a list of tuples with items on the actual page. (name, objectType, order) E.g. [('Text1', 4, 0), ('Image1', 2, 1)] means that object named 'Text1' is a text frame (type 4) and is the first at the page..."},
-	{"TextFlowsAroundFrame", scribus_textflow, METH_VARARGS, "Enables/disables \"Text Flows Around Frame\" feature for object. Called with params string name and voluntary 1|0. When 1 set flowing to true (0 to false). When is second param empty flowing is reverted."},
-	{"textFlowsAroundFrame", scribus_textflow, METH_VARARGS, "Enables/disables \"Text Flows Around Frame\" feature for object. Called with params string name and voluntary 1|0. When 1 set flowing to true (0 to false). When is second param empty flowing is reverted."},
-	{"GetXFontNames",scribus_xfontnames, METH_VARARGS, "Returns a list of the tuples with: [ (Scribus name, Family, Real name, subset (1|0), embed PS (1|0), font file), (...), ... ]"},
-	{"getXFontNames",scribus_xfontnames, METH_VARARGS, "Returns a list of the tuples with: [ (Scribus name, Family, Real name, subset (1|0), embed PS (1|0), font file), (...), ... ]"},
-	{"LinkTextFrames", scribus_linktextframes, METH_VARARGS, "Create the linked text frames. Parameters are the object names."},
-	{"linkTextFrames", scribus_linktextframes, METH_VARARGS, "Create the linked text frames. Parameters are the object names."},
-	{"UnlinkTextFrames", scribus_unlinktextframes, METH_VARARGS, "Remove the specified (named) object from the text frame flows/linkage."},
-	{"unlinkTextFrames", scribus_unlinktextframes, METH_VARARGS, "Remove the specified (named) object from the text frame flows/linkage."},
-	{"ProgressReset", scribus_progressreset, METH_VARARGS, "Cleans up the Scribus progress bar previous settings. It is called before the new progress bar use."},
-	{"progressReset", scribus_progressreset, METH_VARARGS, "Cleans up the Scribus progress bar previous settings. It is called before the new progress bar use."},
-	{"ProgressTotal", scribus_progresssettotalsteps, METH_VARARGS, "Sets the progress bar's maximum steps value to the specified number."},
-	{"progressTotal", scribus_progresssettotalsteps, METH_VARARGS, "Sets the progress bar's maximum steps value to the specified number."},
-	{"ProgressSet", scribus_progresssetprogress, METH_VARARGS, "Progress bar handling. The progress bar uses the concept of steps; you give it the total number of steps and the number of steps completed so far and it will display the percentage of steps that have been completed. You can specify the total number of steps in the constructor or later with progressTotal(). The current number of steps is set with progressSet(). The progress bar can be rewound to the beginning with progressReset(). [taken from Trolltech's Qt docs]"},
-	{"progressSet", scribus_progresssetprogress, METH_VARARGS, "Progress bar handling. The progress bar uses the concept of steps; you give it the total number of steps and the number of steps completed so far and it will display the percentage of steps that have been completed. You can specify the total number of steps in the constructor or later with progressTotal(). The current number of steps is set with progressSet(). The progress bar can be rewound to the beginning with progressReset(). [taken from Trolltech's Qt docs]"},
-	{"MessagebarText", scribus_messagebartext, METH_VARARGS, "Writes the param string into the Scribus message bar (status line)."},
-	{"messagebarText", scribus_messagebartext, METH_VARARGS, "Writes the param string into the Scribus message bar (status line)."},
-	{"DocChanged", scribus_docchanged, METH_VARARGS, "Enable/disable save icon."},
-	{"docChanged", scribus_docchanged, METH_VARARGS, "Enable/disable save icon."},
-	{"SetCursor", scribus_setcursor, METH_VARARGS, "TODO: docstring"},
-	{"setCursor", scribus_setcursor, METH_VARARGS, "TODO: docstring"},
-	{"PageDimension", scribus_pagedimension, METH_VARARGS, "Returns a tuple with page dimensions in used system e.g. when the document's page is in picas - picas are returned"},
-	{"pageDimension", scribus_pagedimension, METH_VARARGS, "Returns a tuple with page dimensions in used system e.g. when the document's page is in picas - picas are returned"},
-	{"NewDocDialog", scribus_newdocdia, METH_VARARGS, "Shows the \"New Document\" Dialog Box. Returns true if a new Document was created."},
-	{"newDocDialog", scribus_newdocdia, METH_VARARGS, "Shows the \"New Document\" Dialog Box. Returns true if a new Document was created."},
-	{"FileDialog", scribus_filedia, METH_VARARGS, "Shows a FileSelect Box with the Caption \"caption\". Files are filtered with the Filter String \"filter\", refer to the Qt-Documentation for it's use. A default Filename can also supplied, leave this string empty when you don't want to use it. A Value of 1 for preview enables a small Preview Widget in the FileSelect Box. When the mode parameter is set to 1 the Dialog acts like a \"Save As\" Dialog otherwise it acts like a \"File Open Dialog\". The default for both of the opional Parameters is 0."},
-	{"fileDialog", scribus_filedia, METH_VARARGS, "Shows a FileSelect Box with the Caption \"caption\". Files are filtered with the Filter String \"filter\", refer to the Qt-Documentation for it's use. A default Filename can also supplied, leave this string empty when you don't want to use it. A Value of 1 for preview enables a small Preview Widget in the FileSelect Box. When the mode parameter is set to 1 the Dialog acts like a \"Save As\" Dialog otherwise it acts like a \"File Open Dialog\". The default for both of the opional Parameters is 0."},
-	{"StatusMessage", scribus_messagebartext, METH_VARARGS, "Displays the Message \"string\" in the StatusBar."},
-	{"statusMessage", scribus_messagebartext, METH_VARARGS, "Displays the Message \"string\" in the StatusBar."},
-	{"MessageBox", scribus_messdia, METH_VARARGS, "Shows a Message Box with the Title \"caption\", the Message \"message\", and an Icon icon and up to 3 Buttons. Button1 is always needed. For the icon and the Button Parameters there are predefined Constants available with the same Names as in the Qt Documentation. Returns the number of the selected Button."},
-	{"messageBox", scribus_messdia, METH_VARARGS, "Shows a Message Box with the Title \"caption\", the Message \"message\", and an Icon icon and up to 3 Buttons. Button1 is always needed. For the icon and the Button Parameters there are predefined Constants available with the same Names as in the Qt Documentation. Returns the number of the selected Button."},
-	{"NewDoc", scribus_newdoc, METH_VARARGS, "Creates a new Document. The Parameters have the following Meaning:\n\tsize = A Tuple (width, height) describing the Size of the Document.\n\tmargins = A Tuple (Left, Right, Top, Bottom) describing the Margins of the Document.\n\torientation = the Page Orientation, 0 means Portrait, 1 is Landscape\n\tfirstPageNumer is the Number of the first Page in the Document used for Pagenumbering\n\tunit: this Value sets the Measurement Unit of the Document\n\n\t0 = Typographic Points\n\t1 = Millimeters\n\t2 = Inches\n\t3 = Picas\n\n\tFacingPages: 1 means FacingPages turned on, 0 means FacingPages turned off\n\tFirstSideLeft: 1 means that the first Page in the Document is a left Page, 0 means a right Page as first Page\n\tThe values for Width, Height and the Margins are expressed in the given unit for the Document."},
-	{"newDoc", scribus_newdoc, METH_VARARGS, "Creates a new Document. The Parameters have the following Meaning:\n\tsize = A Tuple (width, height) describing the Size of the Document.\n\tmargins = A Tuple (Left, Right, Top, Bottom) describing the Margins of the Document.\n\torientation = the Page Orientation, 0 means Portrait, 1 is Landscape\n\tfirstPageNumer is the Number of the first Page in the Document used for Pagenumbering\n\tunit: this Value sets the Measurement Unit of the Document\n\n\t0 = Typographic Points\n\t1 = Millimeters\n\t2 = Inches\n\t3 = Picas\n\n\tFacingPages: 1 means FacingPages turned on, 0 means FacingPages turned off\n\tFirstSideLeft: 1 means that the first Page in the Document is a left Page, 0 means a right Page as first Page\n\tThe values for Width, Height and the Margins are expressed in the given unit for the Document."},
-	{"CloseDoc", scribus_closedoc, METH_VARARGS, "Closes the current Document. Returns true if successful."},
-	{"closeDoc", scribus_closedoc, METH_VARARGS, "Closes the current Document. Returns true if successful."},
-	{"HaveDoc", scribus_havedoc, METH_VARARGS, "Returns true if there is a Document open."},
-	{"haveDoc", scribus_havedoc, METH_VARARGS, "Returns true if there is a Document open."},
-	{"OpenDoc", scribus_opendoc, METH_VARARGS, "Opens the Document \"name\". Returns true if successful."},
-	{"openDoc", scribus_opendoc, METH_VARARGS, "Opens the Document \"name\". Returns true if successful."},
-	{"SaveDoc", scribus_savedoc, METH_VARARGS, "Saves the Document under its actual Name, returns true if successful."},
-	{"saveDoc", scribus_savedoc, METH_VARARGS, "Saves the Document under its actual Name, returns true if successful."},
-	{"SaveDocAs", scribus_savedocas, METH_VARARGS, "Saves the actual Document under the new Name \"name\". Returns true if successful."},
-	{"saveDocAs", scribus_savedocas, METH_VARARGS, "Saves the actual Document under the new Name \"name\". Returns true if successful."},
-	{"SetInfo", scribus_setinfo, METH_VARARGS, "Sets the Document Information. \"Author\", \"Info\", \"Description\""},
-	{"setInfo", scribus_setinfo, METH_VARARGS, "Sets the Document Information. \"Author\", \"Info\", \"Description\""},
-	{"SetMargins", scribus_setmargins, METH_VARARGS, "Sets the Print margins of the Document, Left(lr), Right(rr), Top(tr) and Bottom(br) Margins are given in the measurement unit of the Document."},
-	{"setMargins", scribus_setmargins, METH_VARARGS, "Sets the Print margins of the Document, Left(lr), Right(rr), Top(tr) and Bottom(br) Margins are given in the measurement unit of the Document."},
-	{"SetUnit", scribus_setunit, METH_VARARGS, "Changes the Measurement Unit of the Document. Possible Values for Unit are:\n\t0 = Typographic Points\n\t1 = Millimeters\n\t2 = Inches\n\t3 = Picas "},
-	{"setUnit", scribus_setunit, METH_VARARGS, "Changes the Measurement Unit of the Document. Possible Values for Unit are:\n\t0 = Typographic Points\n\t1 = Millimeters\n\t2 = Inches\n\t3 = Picas "},
-	{"GetUnit", scribus_getunit, METH_VARARGS, "Returns the Measurement Unit of the Document.\nPossible Values for Unit are:\n\t0 = Typographic Points\n\t1 = Millimeters\n\t2 = Inches\n\t3 = Picas "},
-	{"getUnit", scribus_getunit, METH_VARARGS, "Returns the Measurement Unit of the Document.\nPossible Values for Unit are:\n\t0 = Typographic Points\n\t1 = Millimeters\n\t2 = Inches\n\t3 = Picas "},
-	{"CurrentPage", scribus_actualpage, METH_VARARGS, "Returns the Number of the current working Page. Pagenumbers are counted from 1 upwards."},
-	{"currentPage", scribus_actualpage, METH_VARARGS, "Returns the Number of the current working Page. Pagenumbers are counted from 1 upwards."},
-	{"SetRedraw", scribus_setredraw, METH_VARARGS, "Disables Page Redraw when bool = 0, otherwise redrawing is enabled."},
-	{"setRedraw", scribus_setredraw, METH_VARARGS, "Disables Page Redraw when bool = 0, otherwise redrawing is enabled."},
-	{"RedrawAll", scribus_redraw, METH_VARARGS, "Redraws all Pages."},
-	{"redrawAll", scribus_redraw, METH_VARARGS, "Redraws all Pages."},
-	{"SavePageAsEPS", scribus_savepageeps, METH_VARARGS, "Saves the actual Page as an EPS, returns true if successful."},
-	{"savePageAsEPS", scribus_savepageeps, METH_VARARGS, "Saves the actual Page as an EPS, returns true if successful."},
-	{"NewPage", scribus_newpage, METH_VARARGS, "Creates a new Page If \"where\" is -1 the new Page is appended to the Document, otherwise the new Page is inserted at \"where\". The Pagenumbers are counted from 1 upwards. The optional Parameter \"template\" specifies the Name of the Template Page for the new Page."},
-	{"newPage", scribus_newpage, METH_VARARGS, "Creates a new Page If \"where\" is -1 the new Page is appended to the Document, otherwise the new Page is inserted at \"where\". The Pagenumbers are counted from 1 upwards. The optional Parameter \"template\" specifies the Name of the Template Page for the new Page."},
-	{"DeletePage", scribus_deletepage, METH_VARARGS, "Deletes the given Page, does nothing if the Document contains only one Page. Pagenumbers are counted from 1 upwards."},
-	{"deletePage", scribus_deletepage, METH_VARARGS, "Deletes the given Page, does nothing if the Document contains only one Page. Pagenumbers are counted from 1 upwards."},
-	{"GotoPage", scribus_gotopage, METH_VARARGS, "Moves to the Page \"nr\". If \"nr\" is outside the current rage of Pages nothing happens."},
-	{"gotoPage", scribus_gotopage, METH_VARARGS, "Moves to the Page \"nr\". If \"nr\" is outside the current rage of Pages nothing happens."},
-	{"PageCount", scribus_pagecount, METH_VARARGS, "Returns the Number of Pages in the Document."},
-	{"pageCount", scribus_pagecount, METH_VARARGS, "Returns the Number of Pages in the Document."},
-	{"CreateRect", scribus_newrect, METH_VARARGS, "Creates a new Rectangle on the actual Page and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"createRect", scribus_newrect, METH_VARARGS, "Creates a new Rectangle on the actual Page and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"CreateEllipse", scribus_newellipse, METH_VARARGS, "Creates a new Ellipse on the actual Page and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
+	// 2004-11-06 cr - move aliasing to dynamically generated wrapper functions, sort methoddef
+	{"changeColor", scribus_setcolor, METH_VARARGS, "Changes the Color \"name\", The Color Value is defined via four Components c = Cyan, m = Magenta, y = Yello and k = Black. Color Compontens should be in the range from 0 to 255."},
+	{"closeDoc", (PyCFunction)scribus_closedoc, METH_NOARGS, "Closes the current Document. Returns true if successful."},
+	{"createBezierLine", scribus_bezierline, METH_VARARGS, "Creates a new Bezier Curve and returns its Name. The Points for the Bezier Curve are stored in the List \"list\" in the following Order: x1, y1, kx1, ky1, x2, y2, kx2, ky2...xn. yn, kxn. kyn. Where x and y mean the x and y Coordinates of the Point and kx and ky meaning the Controlpoint for the Curve. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
 	{"createEllipse", scribus_newellipse, METH_VARARGS, "Creates a new Ellipse on the actual Page and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"CreateImage", scribus_newimage, METH_VARARGS, "Creates a new Picture on the actual Page and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
 	{"createImage", scribus_newimage, METH_VARARGS, "Creates a new Picture on the actual Page and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"CreateLine", scribus_newline, METH_VARARGS, "Creates a new Line from the Point(x1, y1) to the Point(x2, y2) and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
+	{"createLayer", scribus_createlayer, METH_VARARGS, "Creates a new Layer with the Name \"name\"."},
 	{"createLine", scribus_newline, METH_VARARGS, "Creates a new Line from the Point(x1, y1) to the Point(x2, y2) and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"CreatePolyLine", scribus_polyline, METH_VARARGS, "Creates a new Polyline and returns its Name. The Points for the Polyline are stored in the List \"list\" in the following Order: x1, y1, x2, y2...xn. yn. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"createPolyLine", scribus_polyline, METH_VARARGS, "Creates a new Polyline and returns its Name. The Points for the Polyline are stored in the List \"list\" in the following Order: x1, y1, x2, y2...xn. yn. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"CreatePolygon", scribus_polygon, METH_VARARGS, "Creates a new Polygon and returns its Name. The Points for the Polygon are stored in the List \"list\" in the following Order: x1, y1, x2, y2...xn. yn. At least three Points are required. There is no need to repeat the first Point to close the Polygon. The Polygon is automatically closed by connecting the first and the last Point. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"createPolygon", scribus_polygon, METH_VARARGS, "Creates a new Polygon and returns its Name. The Points for the Polygon are stored in the List \"list\" in the following Order: x1, y1, x2, y2...xn. yn. At least three Points are required. There is no need to repeat the first Point to close the Polygon. The Polygon is automatically closed by connecting the first and the last Point. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"CreateBezierLine", scribus_bezierline, METH_VARARGS, "Creates a new Bezier Curve and returns its Name. The Points for the Bezier Curve are stored in the List \"list\" in the following Order: x1, y1, kx1, ky1, x2, y2, kx2, ky2...xn. yn, kxn. kyn. Where x and y mean the x and y Coordinates of the Point and kx and ky meaning the Controlpoint for the Curve. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"createBezierLine", scribus_bezierline, METH_VARARGS, "Creates a new Bezier Curve and returns its Name. The Points for the Bezier Curve are stored in the List \"list\" in the following Order: x1, y1, kx1, ky1, x2, y2, kx2, ky2...xn. yn, kxn. kyn. Where x and y mean the x and y Coordinates of the Point and kx and ky meaning the Controlpoint for the Curve. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"CreatePathText", scribus_pathtext, METH_VARARGS, "Creates a new PathText by merging the 2 Objects \"textbox\" and \"beziercurve\" and returns its Name. The Coordinates are given in the actual measurement Unit of the Document \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
 	{"createPathText", scribus_pathtext, METH_VARARGS, "Creates a new PathText by merging the 2 Objects \"textbox\" and \"beziercurve\" and returns its Name. The Coordinates are given in the actual measurement Unit of the Document \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"CreateText", scribus_newtext, METH_VARARGS, "Creates a new Rectangle on the actual Page and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
+	{"createPolygon", scribus_polygon, METH_VARARGS, "Creates a new Polygon and returns its Name. The Points for the Polygon are stored in the List \"list\" in the following Order: x1, y1, x2, y2...xn. yn. At least three Points are required. There is no need to repeat the first Point to close the Polygon. The Polygon is automatically closed by connecting the first and the last Point. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
+	{"createPolyLine", scribus_polyline, METH_VARARGS, "Creates a new Polyline and returns its Name. The Points for the Polyline are stored in the List \"list\" in the following Order: x1, y1, x2, y2...xn. yn. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
+	{"createRect", scribus_newrect, METH_VARARGS, "Creates a new Rectangle on the actual Page and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
 	{"createText", scribus_newtext, METH_VARARGS, "Creates a new Rectangle on the actual Page and returns its Name. The Coordinates are given in the actual measurement Unit of the Document. \"name\" should be a unique Identifier for the Object because you need this Name for further referencing of that Object. If \"name\" is not given Scribus will create one for you."},
-	{"DeleteObject", scribus_deleteobj, METH_VARARGS, "Deletes the Item with the Name \"name\". If \"name\" is not given the currently selected Item is deleted."},
+	{"currentPage", (PyCFunction)scribus_actualpage, METH_NOARGS, "Returns the Number of the current working Page. Pagenumbers are counted from 1 upwards."},
+	{"defineColor", scribus_newcolor, METH_VARARGS, "Defines a new Color \"name\". The Color Value is defined via four Components c = Cyan, m = Magenta, y = Yello and k = Black. Color Compontens should be in the range from 0 to 255."},
+	{"deleteColor", scribus_delcolor, METH_VARARGS, "Deletes the Color \"name\". Every occurence of that Color is replaced by the Color \"replace\"."},
+	{"deleteLayer", scribus_removelayer, METH_VARARGS, "Deletes the Layer with the Name \"name\". Nothing happens if the Layer doesn't exists or if it's the only Layer in the Document."},
 	{"deleteObject", scribus_deleteobj, METH_VARARGS, "Deletes the Item with the Name \"name\". If \"name\" is not given the currently selected Item is deleted."},
-	{"GetFillColor", scribus_getfillcolor, METH_VARARGS, "Returns the name of the Fill Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
+	{"deletePage", scribus_deletepage, METH_VARARGS, "Deletes the given Page, does nothing if the Document contains only one Page. Pagenumbers are counted from 1 upwards."},
+	{"deleteText", scribus_deletetext, METH_VARARGS, "Deletes the Text of the Textframe \"name\". If there is some Text selected, this Text will be deleted. If \"name\" is not given the currently selected Item is used."},
+	{"deselectAll", (PyCFunction)scribus_deselect, METH_NOARGS, "Deselects all Objects."},
+	{"docChanged", scribus_docchanged, METH_VARARGS, "Enable/disable save icon."},
+	{"fileDialog", scribus_filedia, METH_VARARGS, "Shows a FileSelect Box with the Caption \"caption\". Files are filtered with the Filter String \"filter\", refer to the Qt-Documentation for it's use. A default Filename can also supplied, leave this string empty when you don't want to use it. A Value of 1 for preview enables a small Preview Widget in the FileSelect Box. When the mode parameter is set to 1 the Dialog acts like a \"Save As\" Dialog otherwise it acts like a \"File Open Dialog\". The default for both of the opional Parameters is 0."},
+	{"getActiveLayer", (PyCFunction)scribus_getactlayer, METH_NOARGS, "Returns the Name of the current active Layer."},
+	{"getAllObjects", scribus_getallobj, METH_VARARGS, "Returns a List containing the Names of all Objects on the actual Page."},
+	{"getAllStyles", (PyCFunction)scribus_getstylenames, METH_NOARGS, "TODO: docstring"},
+	{"getAllText", scribus_gettext, METH_VARARGS, "Returns the Text of the Textframe \"name\" and of all Textframes which are linked with this Frame. If this Textframe has some Text selected, this Text is returned. If \"name\" is not given the currently selected Item is used."},
+	{"getColorNames", (PyCFunction)scribus_colornames, METH_NOARGS, "Returns a List with the Names of all defined Colors."},
+	{"getColor", scribus_getcolor, METH_VARARGS, "Returns a Tuple containing the four Color Components of the Color \"name\"."},
+	{"getColumnGap", scribus_getcolumngap, METH_VARARGS, "Gets the Column Gap of the Text Frame \"name\" expressed in Points. If \"name\" is not given the currently selected Item is used."},
+	{"getColumns", scribus_getcolumns, METH_VARARGS, "Gets the number of Columns of the Text Frame \"name\". If \"name\" is not given the currently selected Item is used."},
+	{"getCornerRadius", scribus_getcornerrad, METH_VARARGS, "Returns the Corner Radius of the Object \"name\" The Radius is expressed in Points. If \"name\" is not given the currently selected Item is used."},
 	{"getFillColor", scribus_getfillcolor, METH_VARARGS, "Returns the name of the Fill Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetLineColor", scribus_getlinecolor, METH_VARARGS, "Returns the name of the Line Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
+	{"getFillShade", scribus_getfillshade, METH_VARARGS, "Returns the shading Value of the Fill Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
+	{"getFontNames", (PyCFunction)scribus_fontnames, METH_NOARGS, "Returns a List with the Names of all available Fonts."},
+	{"getFont", scribus_getfont, METH_VARARGS, "Returns the Font for the Textframe \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
+	{"getFontSize", scribus_getfontsize, METH_VARARGS, "Returns the Fontsize for the Textframe \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
+	{"getGuiLanguage", (PyCFunction)scribus_getlanguage, METH_NOARGS, "Returns a string with the -lang value."},
+	{"getHGuides", (PyCFunction)scribus_getHguides, METH_NOARGS, "TODO: docstring"},
+	{"getImageFile", scribus_getimgname, METH_VARARGS, "Returns the Filename for the Image in the Image Frame. If \"name\" is not given the currently selected Item is used."},
+	{"getImageScale", scribus_getimgscale, METH_VARARGS, "Returns a Tuple containing the Scaling Values of the Image Frame \"name\". If \"name\" is not given the currently selected Item is used."},
+	{"getLayers", (PyCFunction)scribus_getlayers, METH_NOARGS, "Returns a List with the Names of all defined Layers."},
+	{"getLineCap", scribus_getlineend, METH_VARARGS, "Returns the Line Cap Style of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
 	{"getLineColor", scribus_getlinecolor, METH_VARARGS, "Returns the name of the Line Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetLineWidth", scribus_getlinewidth, METH_VARARGS, "Returns the Line Width of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"getLineWidth", scribus_getlinewidth, METH_VARARGS, "Returns the Line Width of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetLineShade", scribus_getlineshade, METH_VARARGS, "Returns the shading Value of the Line Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"getLineShade", scribus_getlineshade, METH_VARARGS, "Returns the shading Value of the Line Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetLineJoin", scribus_getlinejoin, METH_VARARGS, "Returns the Line Join Style of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
 	{"getLineJoin", scribus_getlinejoin, METH_VARARGS, "Returns the Line Join Style of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetLineCap", scribus_getlineend, METH_VARARGS, "Returns the Line Cap Style of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"getLineCap", scribus_getlineend, METH_VARARGS, "Returns the Line Cap Style of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetLineStyle", scribus_getlinestyle, METH_VARARGS, "Returns the Line Style of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
+	{"getLineShade", scribus_getlineshade, METH_VARARGS, "Returns the shading Value of the Line Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
+	{"getLineSpacing", scribus_getlinespace, METH_VARARGS, "Gets the Linespacing of the Text Frame \"name\" expressed in Points. If \"name\" is not given the currently selected Item is used."},
 	{"getLineStyle", scribus_getlinestyle, METH_VARARGS, "Returns the Line Style of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetFillShade", scribus_getfillshade, METH_VARARGS, "Returns the shading Value of the Fill Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"getFillShade", scribus_getfillshade, METH_VARARGS, "Returns the shading Value of the Fill Color of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetCornerRadius", scribus_getcornerrad, METH_VARARGS, "Returns the Corner Radius of the Object \"name\" The Radius is expressed in Points. If \"name\" is not given the currently selected Item is used."},
-	{"getCornerRadius", scribus_getcornerrad, METH_VARARGS, "Returns the Corner Radius of the Object \"name\" The Radius is expressed in Points. If \"name\" is not given the currently selected Item is used."},
-	{"GetImageScale", scribus_getimgscale, METH_VARARGS, "Returns a Tuple containing the Scaling Values of the Image Frame \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"getImageScale", scribus_getimgscale, METH_VARARGS, "Returns a Tuple containing the Scaling Values of the Image Frame \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetImageFile", scribus_getimgname, METH_VARARGS, "Returns the Filename for the Image in the Image Frame. If \"name\" is not given the currently selected Item is used."},
-	{"getImageFile", scribus_getimgname, METH_VARARGS, "Returns the Filename for the Image in the Image Frame. If \"name\" is not given the currently selected Item is used."},
-	{"GetPosition", scribus_getposi, METH_VARARGS, "Returns a tuple with the actual Position of the Object \"name\" If \"name\" is not given the currently selected Item is used. The Position is expressed in the actual Measurement Unit of the Document."},
+	{"getLineWidth", scribus_getlinewidth, METH_VARARGS, "Returns the Line Width of the Object \"name\". If \"name\" is not given the currently selected Item is used."},
+	{"getPageItems", (PyCFunction)scribus_getpageitems, METH_NOARGS, "Returns a list of tuples with items on the actual page. (name, objectType, order) E.g. [('Text1', 4, 0), ('Image1', 2, 1)] means that object named 'Text1' is a text frame (type 4) and is the first at the page..."},
+	{"getPageMargins", (PyCFunction)scribus_getpagemargins, METH_NOARGS, "TODO: docstring"},
+	{"getPageSize", (PyCFunction)scribus_pagedimension, METH_NOARGS, "Returns a tuple with page dimensions in used system e.g. when the document's page is in picas - picas are returned"}, // just an alias to PageDimension()
 	{"getPosition", scribus_getposi, METH_VARARGS, "Returns a tuple with the actual Position of the Object \"name\" If \"name\" is not given the currently selected Item is used. The Position is expressed in the actual Measurement Unit of the Document."},
-	{"GetSize", scribus_getsize, METH_VARARGS, "Returns a tuple with the actual Size of the Object \"name\" If \"name\" is not given the currently selected Item is used. The Size is expressed in the actual Measurement Unit of the Document."},
-	{"getSize", scribus_getsize, METH_VARARGS, "Returns a tuple with the actual Size of the Object \"name\" If \"name\" is not given the currently selected Item is used. The Size is expressed in the actual Measurement Unit of the Document."},
-	{"GetRotation", scribus_getrotation, METH_VARARGS, "Returns the Rotation of the Object \"name\". The value is expressed in Degrees. If \"name\" is not given the currently selected Item is used."},
 	{"getRotation", scribus_getrotation, METH_VARARGS, "Returns the Rotation of the Object \"name\". The value is expressed in Degrees. If \"name\" is not given the currently selected Item is used."},
-	{"GetFontSize", scribus_getfontsize, METH_VARARGS, "Returns the Fontsize for the Textframe \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
-	{"getFontSize", scribus_getfontsize, METH_VARARGS, "Returns the Fontsize for the Textframe \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
-	{"GetFont", scribus_getfont, METH_VARARGS, "Returns the Font for the Textframe \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
-	{"getFont", scribus_getfont, METH_VARARGS, "Returns the Font for the Textframe \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
-	{"GetTextLength", scribus_gettextsize, METH_VARARGS, "Returns the Length of the Text in the Textframe \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"getTextLength", scribus_gettextsize, METH_VARARGS, "Returns the Length of the Text in the Textframe \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetTextColor", scribus_getlinecolor, METH_VARARGS, "Returns the name of the Text Color of the Object \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
+	{"getSelectedObject", scribus_getselobjnam, METH_VARARGS, "Returns the Name of the selecteted Object. \"nr\" if given indicates the Number of the selected Object, e.g. 0 means the first selected Object, 1 means the second selected Object and so on."},
+	{"getSize", scribus_getsize, METH_VARARGS, "Returns a tuple with the actual Size of the Object \"name\" If \"name\" is not given the currently selected Item is used. The Size is expressed in the actual Measurement Unit of the Document."},
 	{"getTextColor", scribus_getlinecolor, METH_VARARGS, "Returns the name of the Text Color of the Object \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
-	{"GetTextShade", scribus_getlineshade, METH_VARARGS, "Returns the shading Value of the Text Color of the Object \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
-	{"getTextShade", scribus_getlineshade, METH_VARARGS, "Returns the shading Value of the Text Color of the Object \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
-	{"GetColumns", scribus_getcolumns, METH_VARARGS, "Gets the number of Columns of the Text Frame \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"getColumns", scribus_getcolumns, METH_VARARGS, "Gets the number of Columns of the Text Frame \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"GetColumnGap", scribus_getcolumngap, METH_VARARGS, "Gets the Column Gap of the Text Frame \"name\" expressed in Points. If \"name\" is not given the currently selected Item is used."},
-	{"getColumnGap", scribus_getcolumngap, METH_VARARGS, "Gets the Column Gap of the Text Frame \"name\" expressed in Points. If \"name\" is not given the currently selected Item is used."},
-	{"GetLineSpacing", scribus_getlinespace, METH_VARARGS, "Gets the Linespacing of the Text Frame \"name\" expressed in Points. If \"name\" is not given the currently selected Item is used."},
-	{"getLineSpacing", scribus_getlinespace, METH_VARARGS, "Gets the Linespacing of the Text Frame \"name\" expressed in Points. If \"name\" is not given the currently selected Item is used."},
-	{"GetText", scribus_getframetext, METH_VARARGS, "Returns the Text of the Textframe \"name\". If this Textframe has some Text selected, this Text is returned. If \"name\" is not given the currently selected Item is used."},
+	{"getTextLength", scribus_gettextsize, METH_VARARGS, "Returns the Length of the Text in the Textframe \"name\". If \"name\" is not given the currently selected Item is used."},
 	{"getText", scribus_getframetext, METH_VARARGS, "Returns the Text of the Textframe \"name\". If this Textframe has some Text selected, this Text is returned. If \"name\" is not given the currently selected Item is used."},
-	{"GetAllText", scribus_gettext, METH_VARARGS, "Returns the Text of the Textframe \"name\" and of all Textframes which are linked with this Frame. If this Textframe has some Text selected, this Text is returned. If \"name\" is not given the currently selected Item is used."},
-	{"getAllText", scribus_gettext, METH_VARARGS, "Returns the Text of the Textframe \"name\" and of all Textframes which are linked with this Frame. If this Textframe has some Text selected, this Text is returned. If \"name\" is not given the currently selected Item is used."},
-	{"GetAllObjects", scribus_getallobj, METH_VARARGS, "Returns a List containing the Names of all Objects on the actual Page."},
-	{"getAllObjects", scribus_getallobj, METH_VARARGS, "Returns a List containing the Names of all Objects on the actual Page."},
-	{"SetGradientFill", scribus_setgradfill, METH_VARARGS, "Sets the Gradient Fill of the Object \"name\" to type. Color Descriptions are the same as for \"setFillColor\" and \"setFillShade\"."},
-	{"setGradientFill", scribus_setgradfill, METH_VARARGS, "Sets the Gradient Fill of the Object \"name\" to type. Color Descriptions are the same as for \"setFillColor\" and \"setFillShade\"."},
-	{"SetFillColor", scribus_setfillcolor, METH_VARARGS, "Sets the Fill Color of the Object \"name\" to the Color \"color\". \"color\" is the Name of one of the defined Colors. If \"name\" is not given the currently selected Item is used."},
-	{"setFillColor", scribus_setfillcolor, METH_VARARGS, "Sets the Fill Color of the Object \"name\" to the Color \"color\". \"color\" is the Name of one of the defined Colors. If \"name\" is not given the currently selected Item is used."},
-	{"SetLineColor", scribus_setlinecolor, METH_VARARGS, "Sets the Line Color of the Object \"name\" to the Color \"color\". If \"name\" is not given the currently selected Item is used."},
-	{"setLineColor", scribus_setlinecolor, METH_VARARGS, "Sets the Line Color of the Object \"name\" to the Color \"color\". If \"name\" is not given the currently selected Item is used."},
-	{"SetMultiLine", scribus_setmultiline, METH_VARARGS, "Sets the Line Style of the Object \"name\" to the Named Style \"namedStyle\". If \"name\" is not given the currently selected Item is used."},
-	{"setMultiLine", scribus_setmultiline, METH_VARARGS, "TODO: docstring"},
-	// aliases below
-	{"setLineWidth", scribus_setlinewidth, METH_VARARGS, "Sets Line Width of the Object \"name\" to \"width\". \"width\" must be in the range from 0.0 to 12.0 inclusive. If \"name\" is not given the currently selected Item is used."},
-	{"setLineShade", scribus_setlineshade, METH_VARARGS, "Sets the shading of the Line Color of the Object \"name\" to \"shade\". \"shade\" must be an Integer Value in the range from 0 (lightest) to 100 (full Color intensity). If \"name\" is not given the currently selected Item is used."},
-	{"setLineJoin", scribus_setlinejoin, METH_VARARGS, "Sets the Line Join Style of the Object \"name\" to the Style \"join\". If \"name\" is not given the currently selected Item is used. There are predefined Constants for \"join\"."},
-	{"setLineCap", scribus_setlineend, METH_VARARGS, "Sets the Line Cap Style of the Object \"name\" to the Style \"cap\". If \"name\" is not given the currently selected Item is used. There are predefined Constants for \"cap\"."},
-	{"setLineStyle", scribus_setlinestyle, METH_VARARGS, "Sets the Line Style of the Object \"name\" to the Style \"style\". If \"name\" is not given the currently selected Item is used. There are predefined Constants for \"style\"."},
-	{"setFillShade", scribus_setfillshade, METH_VARARGS, "Sets the shading of the Fill Color of the Object \"name\" to \"shade\". \"shade\" must be an Integer Value in the range from 0 (lightest) to 100 (full Color intensity). If \"name\" is not given the currently selected Item is used."},
-	{"setCornerRadius", scribus_setcornerrad, METH_VARARGS, "Sets the Corner Radius of the Object \"name\" The Radius is expressed in Points. If \"name\" is not given the currently selected Item is used."},
+	{"getTextShade", scribus_getlineshade, METH_VARARGS, "Returns the shading Value of the Text Color of the Object \"name\". If this Textframe has some Text selected the Value assigned to the first Character of the Selection is returned. If \"name\" is not given the currently selected Item is used."},
+	{"getUnit", (PyCFunction)scribus_getunit, METH_NOARGS, "Returns the Measurement Unit of the Document.\nPossible Values for Unit are:\n\t0 = Typographic Points\n\t1 = Millimeters\n\t2 = Inches\n\t3 = Picas "},
+	{"getVGuides", (PyCFunction)scribus_getVguides, METH_NOARGS, "TODO: docstring"},
+	{"getXFontNames", (PyCFunction)scribus_xfontnames, METH_NOARGS, "Returns a list of the tuples with: [ (Scribus name, Family, Real name, subset (1|0), embed PS (1|0), font file), (...), ... ]"},
+	{"gotoPage", scribus_gotopage, METH_VARARGS, "Moves to the Page \"nr\". If \"nr\" is outside the current rage of Pages nothing happens."},
+	{"groupObjects", scribus_groupobj, METH_VARARGS, "Groups the Objects in \"list\" together. \"list\" must contain the Names of the Objects to be grouped. If \"list\" is not given the currently selected Items are used."},
+	{"haveDoc", (PyCFunction)scribus_havedoc, METH_NOARGS, "Returns true if there is a Document open."},
+	{"insertText", scribus_inserttext, METH_VARARGS, "Inserts the Text \"text\" at the Position \"pos\" into the Textframe The first Character has an Index of 0. \"name\" If \"name\" is not given the currently selected Item is used."},
+	{"isLayerPrintable", scribus_glayerprint, METH_VARARGS, "Returns wether the Layer \"layer\" is printable or not, a Value of 1 means that the Layer \"layer\" can be printed, a Value of 0 means that printing the Layer \"layer\" is disabled."},
+	{"isLayerVisible", scribus_glayervisib, METH_VARARGS, "Returns wether the Layer \"layer\" is visible or not, a Value of 1 means that the Layer \"layer\" is visible, a Value of 0 means that the Layer \"layer\" is invisible."},
+	{"isLocked", scribus_islocked, METH_VARARGS, "TODO: docstring"},
+	{"linkTextFrames", scribus_linktextframes, METH_VARARGS, "Create the linked text frames. Parameters are the object names."},
 	{"loadImage", scribus_loadimage, METH_VARARGS, "Loads the Picture \"picture\" into the Image Frame \"name\". If \"name\" is not given the currently selected Item is used."},
+	{"loadStylesFromFile", scribus_loadstylesfromfile, METH_VARARGS, "TODO: docstring"},
+	{"lockObject", scribus_lockobject, METH_VARARGS, "TODO: docstring"},
+	{"messagebarText", scribus_messagebartext, METH_VARARGS, "Writes the param string into the Scribus message bar (status line)."},
+	{"messageBox", scribus_messdia, METH_VARARGS, "Shows a Message Box with the Title \"caption\", the Message \"message\", and an Icon icon and up to 3 Buttons. Button1 is always needed. For the icon and the Button Parameters there are predefined Constants available with the same Names as in the Qt Documentation. Returns the number of the selected Button."},
+	{"moveObjectAbs", scribus_moveobjabs, METH_VARARGS, "Moves the Object \"name\" to a new Location. The Coordinates are expressed in the actual Measurement Unit of the Document. If \"name\" is not given the currently selected Item is used. If the Object \"name\" belongs to a Group, the whole Group is moved."},
+	{"moveObject", scribus_moveobjrel, METH_VARARGS, "Moves the Object \"name\" by dx and dy relative to its origin. The Distances are expressed in the actual Measurement Unit of the Document. If \"name\" is not given the currently selected Item is used. If the Object \"name\" belongs to a Group, the whole Group is moved."},
+	{"newDocDialog", (PyCFunction)scribus_newdocdia, METH_NOARGS, "Shows the \"New Document\" Dialog Box. Returns true if a new Document was created."},
+	{"newDoc", scribus_newdoc, METH_VARARGS, "Creates a new Document. The Parameters have the following Meaning:\n\tsize = A Tuple (width, height) describing the Size of the Document.\n\tmargins = A Tuple (Left, Right, Top, Bottom) describing the Margins of the Document.\n\torientation = the Page Orientation, 0 means Portrait, 1 is Landscape\n\tfirstPageNumer is the Number of the first Page in the Document used for Pagenumbering\n\tunit: this Value sets the Measurement Unit of the Document\n\n\t0 = Typographic Points\n\t1 = Millimeters\n\t2 = Inches\n\t3 = Picas\n\n\tFacingPages: 1 means FacingPages turned on, 0 means FacingPages turned off\n\tFirstSideLeft: 1 means that the first Page in the Document is a left Page, 0 means a right Page as first Page\n\tThe values for Width, Height and the Margins are expressed in the given unit for the Document."},
+	{"newPage", scribus_newpage, METH_VARARGS, "Creates a new Page If \"where\" is -1 the new Page is appended to the Document, otherwise the new Page is inserted at \"where\". The Pagenumbers are counted from 1 upwards. The optional Parameter \"template\" specifies the Name of the Template Page for the new Page."},
+	{"objectExists",scribus_objectexists, METH_VARARGS, "User test if an object with specified name really exists in the doc. Optional parameter is the object name. When no param given returns if there is something selected."},
+	{"openDoc", scribus_opendoc, METH_VARARGS, "Opens the Document \"name\". Returns true if successful."},
+	{"pageCount", (PyCFunction)scribus_pagecount, METH_NOARGS, "Returns the Number of Pages in the Document."},
+	{"pageDimension", (PyCFunction)scribus_pagedimension, METH_NOARGS, "Returns a tuple with page dimensions in used system e.g. when the document's page is in picas - picas are returned"},
+	{"progressReset", scribus_progressreset, METH_VARARGS, "Cleans up the Scribus progress bar previous settings. It is called before the new progress bar use."},
+	{"progressSet", scribus_progresssetprogress, METH_VARARGS, "Progress bar handling. The progress bar uses the concept of steps; you give it the total number of steps and the number of steps completed so far and it will display the percentage of steps that have been completed. You can specify the total number of steps in the constructor or later with progressTotal(). The current number of steps is set with progressSet(). The progress bar can be rewound to the beginning with progressReset(). [taken from Trolltech's Qt docs]"},
+	{"progressTotal", scribus_progresssettotalsteps, METH_VARARGS, "Sets the progress bar's maximum steps value to the specified number."},
+	{"redrawAll", (PyCFunction)scribus_redraw, METH_NOARGS, "Redraws all Pages."},
+	{"renderFont", scribus_renderfont, METH_VARARGS, "Creates an image preview of font with given text"},
+	{"replaceColor", scribus_replcolor, METH_VARARGS, "Every occurence of that Color is replaced by the Color \"replace\"."},
+	{"rotateObjectAbs", scribus_rotobjabs, METH_VARARGS, "Sets the Rotation of the Object \"name\" to \"rot\". Positve Values mean counter clockwise Rotation. If \"name\" is not given the currently selected Item is used."},
+	{"rotateObject", scribus_rotobjrel, METH_VARARGS, "Rotates the Object \"name\" by \"rot\" Degrees. Positve Values mean counter clockwise Rotation. If \"name\" is not given the currently selected Item is used."},
+	{"saveDocAs", scribus_savedocas, METH_VARARGS, "Saves the actual Document under the new Name \"name\". Returns true if successful."},
+	{"saveDoc", (PyCFunction)scribus_savedoc, METH_NOARGS, "Saves the Document under its actual Name, returns true if successful."},
+	{"savePageAsEPS", scribus_savepageeps, METH_VARARGS, "Saves the actual Page as an EPS, returns true if successful."},
+	{"scaleGroup", scribus_scalegroup, METH_VARARGS, "Scales the Group the Object \"name\" belongs to. Values greater than 1 enlarge the Group, Values smaller than 1 make the Group smaller e.g a Value of 0.5 scales the Group to 50 % of is original Size, a Value of 1.5 scales the Group to 150 % of its original Size. The Value for \"factor\" must be greater than 0. If \"name\" is not given the currently selected Item is used."},
 	{"scaleImage", scribus_scaleimage, METH_VARARGS, "Sets the Scaling Factors of the Picture in the Image Frame \"name\". If \"name\" is not given the currently selected Item is used. A Number of 1 means 100 %."},
-	{"setText", scribus_setboxtext, METH_VARARGS, "Sets the Text of the Text Frame \"name\" to the Text of the String \"text\". If \"name\" is not given the currently selected Item is used."},
-	{"insertText", scribus_inserttext, METH_VARARGS, "Inserts the Text \"text\" at the Position \"pos\" into the Textframe The first Character has an Index of 0. \"name\" If \"name\" is not given the currently selected Item is used."},
+	{"selectionCount", (PyCFunction)scribus_selcount, METH_NOARGS, "Returns the Number of selected Objects."},
+	{"selectObject", scribus_selectobj, METH_VARARGS, "Selects the Object with the given Name."},
 	{"selectText", scribus_selecttext, METH_VARARGS, "Selects \"count\" Characters Text of the Textframe \"name\" starting from the Character \"start\". Character Counting starts at 0. If \"count\" is zero, any Text Selection will be cleared. If \"name\" is not given the currently selected Item is used."},
-	{"deleteText", scribus_deletetext, METH_VARARGS, "Deletes the Text of the Textframe \"name\". If there is some Text selected, this Text will be deleted. If \"name\" is not given the currently selected Item is used."},
+	{"sentToLayer", scribus_senttolayer, METH_VARARGS, "Sends the Object \"name\" to the Layer \"layer\". The Layer must exist. If \"name\" is not given the currently selected Item is used."},
+	{"setActiveLayer", scribus_setactlayer, METH_VARARGS, "Sets the active Layer to the Layer named \"name\"."},
+	{"setColumnGap", scribus_setcolumngap, METH_VARARGS, "Sets the Column Gap of the Text Frame \"name\" to the Value \"size\". If \"name\" is not given the currently selected Item is used."},
+	{"setColumns", scribus_setcolumns, METH_VARARGS, "Sets the number of Columns of the Text Frame \"name\" to the Value \"nr\". If \"name\" is not given the currently selected Item is used."},
+	{"setCornerRadius", scribus_setcornerrad, METH_VARARGS, "Sets the Corner Radius of the Object \"name\" The Radius is expressed in Points. If \"name\" is not given the currently selected Item is used."},
+	{"setCursor", scribus_setcursor, METH_VARARGS, "TODO: docstring"},
+	{"setDocType", scribus_setdoctype, METH_VARARGS, "Sets the Type of the Documents, to get Facing Pages set the first Parameter to 1, to switch FacingPages off use 0 instead. If you want to be the first Page a left Side set the second Parameter to 1, for a right Page use 0."},
+	{"setFillColor", scribus_setfillcolor, METH_VARARGS, "Sets the Fill Color of the Object \"name\" to the Color \"color\". \"color\" is the Name of one of the defined Colors. If \"name\" is not given the currently selected Item is used."},
+	{"setFillShade", scribus_setfillshade, METH_VARARGS, "Sets the shading of the Fill Color of the Object \"name\" to \"shade\". \"shade\" must be an Integer Value in the range from 0 (lightest) to 100 (full Color intensity). If \"name\" is not given the currently selected Item is used."},
 	{"setFont", scribus_setfont, METH_VARARGS, "Sets the Font of the Text Frame \"name\" to \"font\", if there is some Text selected only the selected Text is changed. If \"name\" is not given the currently selected Item is used."},
 	{"setFontSize", scribus_setfontsize, METH_VARARGS, "Sets the Fontsize of the Text Frame \"name\" to the Pointsize \"size\", if there is some Text selected only the selected Text is changed. \"size\" must be in the Range 1 to 512. If \"name\" is not given the currently selected Item is used."},
-	{"setTextColor", scribus_settextfill, METH_VARARGS, "Sets the Text Color of the Object \"name\" to the Color \"color\", if there is some Text selected only the selected Text is changed. If \"name\" is not given the currently selected Item is used."},
-	{"setTextStroke", scribus_settextstroke, METH_VARARGS, "TODO: docstring"},
-	{"setTextShade", scribus_settextshade, METH_VARARGS, "Sets the shading of the Text Color of the Object \"name\" to \"shade\", if there is some Text selected only the selected Text is changed. \"shade\" must be an Integer Value in the range from 0 (lightest) to 100 (full Color intensity). If \"name\" is not given the currently selected Item is used."},
-	{"setColumns", scribus_setcolumns, METH_VARARGS, "Sets the number of Columns of the Text Frame \"name\" to the Value \"nr\". If \"name\" is not given the currently selected Item is used."},
-	{"setColumnGap", scribus_setcolumngap, METH_VARARGS, "Sets the Column Gap of the Text Frame \"name\" to the Value \"size\". If \"name\" is not given the currently selected Item is used."},
+	{"setGradientFill", scribus_setgradfill, METH_VARARGS, "Sets the Gradient Fill of the Object \"name\" to type. Color Descriptions are the same as for \"setFillColor\" and \"setFillShade\"."},
+	{"setHGuides", scribus_setHguides, METH_VARARGS, "TODO: docstring"},
+	{"setInfo", scribus_setinfo, METH_VARARGS, "Sets the Document Information. \"Author\", \"Info\", \"Description\""},
+	{"setLayerPrintable", scribus_layerprint, METH_VARARGS, "Sets the Layer \"layer\" to be printable or not. A Value of 1 for \"flag\" means that the Layer \"layer\" can be printed, a Value of 0 means that printing the Layer \"layer\" is disabled."},
+	{"setLayerVisible", scribus_layervisible, METH_VARARGS, "Sets the Layer \"layer\" to be visible or not. A Value of 1 for \"flag\" means that the Layer \"layer\" is visible, a Value of 0 means that the Layer \"layer\" is invisible."},
+	{"setLineCap", scribus_setlineend, METH_VARARGS, "Sets the Line Cap Style of the Object \"name\" to the Style \"cap\". If \"name\" is not given the currently selected Item is used. There are predefined Constants for \"cap\"."},
+	{"setLineColor", scribus_setlinecolor, METH_VARARGS, "Sets the Line Color of the Object \"name\" to the Color \"color\". If \"name\" is not given the currently selected Item is used."},
+	{"setLineJoin", scribus_setlinejoin, METH_VARARGS, "Sets the Line Join Style of the Object \"name\" to the Style \"join\". If \"name\" is not given the currently selected Item is used. There are predefined Constants for \"join\"."},
+	{"setLineShade", scribus_setlineshade, METH_VARARGS, "Sets the shading of the Line Color of the Object \"name\" to \"shade\". \"shade\" must be an Integer Value in the range from 0 (lightest) to 100 (full Color intensity). If \"name\" is not given the currently selected Item is used."},
 	{"setLineSpacing", scribus_setlinespace, METH_VARARGS, "Sets the Linespacing of the Text Frame \"name\" to the Pointsize \"size\". If \"name\" is not given the currently selected Item is used."},
+	{"setLineStyle", scribus_setlinestyle, METH_VARARGS, "Sets the Line Style of the Object \"name\" to the Style \"style\". If \"name\" is not given the currently selected Item is used. There are predefined Constants for \"style\"."},
+	{"setLineWidth", scribus_setlinewidth, METH_VARARGS, "Sets Line Width of the Object \"name\" to \"width\". \"width\" must be in the range from 0.0 to 12.0 inclusive. If \"name\" is not given the currently selected Item is used."},
+	{"setMargins", scribus_setmargins, METH_VARARGS, "Sets the Print margins of the Document, Left(lr), Right(rr), Top(tr) and Bottom(br) Margins are given in the measurement unit of the Document."},
+	{"setMultiLine", scribus_setmultiline, METH_VARARGS, "Sets the Line Style of the Object \"name\" to the Named Style \"namedStyle\". If \"name\" is not given the currently selected Item is used."},
+	{"setMultiLine", scribus_setmultiline, METH_VARARGS, "TODO: docstring"},
+	{"setRedraw", scribus_setredraw, METH_VARARGS, "Disables Page Redraw when bool = 0, otherwise redrawing is enabled."},
+	{"setSelectedObject", scribus_getselobjnam, METH_VARARGS, "Returns the Name of the selecteted Object. \"nr\" if given indicates the Number of the selected Object, e.g. 0 means the first selected Object, 1 means the second selected Object and so on."},
+	{"setStyle", scribus_setstyle, METH_VARARGS, "TODO: docstring"},
 	{"setTextAlignment", scribus_setalign, METH_VARARGS, "Sets the Textalignment of the Text Frame \"name\" to the specified Alignment. If \"name\" is not given the currently selected Item is used. \"align\" can have the following values:\n\t0 = Left Aligned\n\t1 = Centered\n\t2 = Right Aligned\n\t3 = Forced"},
-	{"moveObject", scribus_moveobjrel, METH_VARARGS, "Moves the Object \"name\" by dx and dy relative to its origin. The Distances are expressed in the actual Measurement Unit of the Document. If \"name\" is not given the currently selected Item is used. If the Object \"name\" belongs to a Group, the whole Group is moved."},
-	{"moveObjectAbs", scribus_moveobjabs, METH_VARARGS, "Moves the Object \"name\" to a new Location. The Coordinates are expressed in the actual Measurement Unit of the Document. If \"name\" is not given the currently selected Item is used. If the Object \"name\" belongs to a Group, the whole Group is moved."},
-	{"rotateObject", scribus_rotobjrel, METH_VARARGS, "Rotates the Object \"name\" by \"rot\" Degrees. Positve Values mean counter clockwise Rotation. If \"name\" is not given the currently selected Item is used."},
-	{"rotateObjectAbs", scribus_rotobjabs, METH_VARARGS, "Sets the Rotation of the Object \"name\" to \"rot\". Positve Values mean counter clockwise Rotation. If \"name\" is not given the currently selected Item is used."},
+	{"setTextColor", scribus_settextfill, METH_VARARGS, "Sets the Text Color of the Object \"name\" to the Color \"color\", if there is some Text selected only the selected Text is changed. If \"name\" is not given the currently selected Item is used."},
+	{"setText", scribus_setboxtext, METH_VARARGS, "Sets the Text of the Text Frame \"name\" to the Text of the String \"text\". If \"name\" is not given the currently selected Item is used."},
+	{"setTextShade", scribus_settextshade, METH_VARARGS, "Sets the shading of the Text Color of the Object \"name\" to \"shade\", if there is some Text selected only the selected Text is changed. \"shade\" must be an Integer Value in the range from 0 (lightest) to 100 (full Color intensity). If \"name\" is not given the currently selected Item is used."},
+	{"setTextStroke", scribus_settextstroke, METH_VARARGS, "TODO: docstring"},
+	{"setUnit", scribus_setunit, METH_VARARGS, "Changes the Measurement Unit of the Document. Possible Values for Unit are:\n\t0 = Typographic Points\n\t1 = Millimeters\n\t2 = Inches\n\t3 = Picas "},
+	{"setVGuides", scribus_setVguides, METH_VARARGS, "TODO: docstring"},
 	{"sizeObject", scribus_sizeobjabs, METH_VARARGS, "Resizes the Object \"name\" to the given Width and Height. If \"name\" is not given the currently selected Item is used."},
-	{"groupObjects", scribus_groupobj, METH_VARARGS, "Groups the Objects in \"list\" together. \"list\" must contain the Names of the Objects to be grouped. If \"list\" is not given the currently selected Items are used."},
+	{"statusMessage", scribus_messagebartext, METH_VARARGS, "Displays the Message \"string\" in the StatusBar."},
+	{"textFlowsAroundFrame", scribus_textflow, METH_VARARGS, "Enables/disables \"Text Flows Around Frame\" feature for object. Called with params string name and voluntary 1|0. When 1 set flowing to true (0 to false). When is second param empty flowing is reverted."},
+	{"traceText", scribus_tracetext, METH_VARARGS, "TODO: docstring"},
 	{"unGroupObject", scribus_ungroupobj, METH_VARARGS, "Destructs the Group the Object \"name\" belongs to. If \"name\" is not given the currently selected Item is used."},
-	{"scaleGroup", scribus_scalegroup, METH_VARARGS, "Scales the Group the Object \"name\" belongs to. Values greater than 1 enlarge the Group, Values smaller than 1 make the Group smaller e.g a Value of 0.5 scales the Group to 50 % of is original Size, a Value of 1.5 scales the Group to 150 % of its original Size. The Value for \"factor\" must be greater than 0. If \"name\" is not given the currently selected Item is used."},
-	{"setSelectedObject", scribus_getselobjnam, METH_VARARGS, "Returns the Name of the selecteted Object. \"nr\" if given indicates the Number of the selected Object, e.g. 0 means the first selected Object, 1 means the second selected Object and so on."},
-	{"selectionCount", scribus_selcount, METH_VARARGS, "Returns the Number of selected Objects."},
-	{"selectObject", scribus_selectobj, METH_VARARGS, "Selects the Object with the given Name."},
-	{"deselectAll", scribus_deselect, METH_VARARGS, "Deselects all Objects."},
-	{"getColorNames", scribus_colornames, METH_VARARGS, "Returns a List with the Names of all defined Colors."},
-	{"getColor", scribus_getcolor, METH_VARARGS, "Returns a Tuple containing the four Color Components of the Color \"name\"."},
-	{"changeColor", scribus_setcolor, METH_VARARGS, "Changes the Color \"name\", The Color Value is defined via four Components c = Cyan, m = Magenta, y = Yello and k = Black. Color Compontens should be in the range from 0 to 255."},
-	{"defineColor", scribus_newcolor, METH_VARARGS, "Defines a new Color \"name\". The Color Value is defined via four Components c = Cyan, m = Magenta, y = Yello and k = Black. Color Compontens should be in the range from 0 to 255."},
-	{"deleteColor", scribus_delcolor, METH_VARARGS, "Deletes the Color \"name\". Every occurence of that Color is replaced by the Color \"replace\"."},
-	{"replaceColor", scribus_replcolor, METH_VARARGS, "Every occurence of that Color is replaced by the Color \"replace\"."},
-	{"getFontNames", scribus_fontnames, METH_VARARGS, "Returns a List with the Names of all available Fonts."},
-	{"renderFont", scribus_renderfont, METH_VARARGS, "Creates an image preview of font with given text"},
-	{"getLayers", scribus_getlayers, METH_VARARGS, "Returns a List with the Names of all defined Layers."},
-	{"setActiveLayer", scribus_setactlayer, METH_VARARGS, "Sets the active Layer to the Layer named \"name\"."},
-	{"getActiveLayer", scribus_getactlayer, METH_VARARGS, "Returns the Name of the current active Layer."},
-	{"sentToLayer", scribus_senttolayer, METH_VARARGS, "Sends the Object \"name\" to the Layer \"layer\". The Layer must exist. If \"name\" is not given the currently selected Item is used."},
-	{"setLayerVisible", scribus_layervisible, METH_VARARGS, "Sets the Layer \"layer\" to be visible or not. A Value of 1 for \"flag\" means that the Layer \"layer\" is visible, a Value of 0 means that the Layer \"layer\" is invisible."},
-	{"setLayerPrintable", scribus_layerprint, METH_VARARGS, "Sets the Layer \"layer\" to be printable or not. A Value of 1 for \"flag\" means that the Layer \"layer\" can be printed, a Value of 0 means that printing the Layer \"layer\" is disabled."},
-	{"isLayerVisible", scribus_glayervisib, METH_VARARGS, "Returns wether the Layer \"layer\" is visible or not, a Value of 1 means that the Layer \"layer\" is visible, a Value of 0 means that the Layer \"layer\" is invisible."},
-	{"isLayerPrintable", scribus_glayerprint, METH_VARARGS, "Returns wether the Layer \"layer\" is printable or not, a Value of 1 means that the Layer \"layer\" can be printed, a Value of 0 means that printing the Layer \"layer\" is disabled."},
-	{"createLayer", scribus_createlayer, METH_VARARGS, "Creates a new Layer with the Name \"name\"."},
-	{"deleteLayer", scribus_removelayer, METH_VARARGS, "Deletes the Layer with the Name \"name\". Nothing happens if the Layer doesn't exists or if it's the only Layer in the Document."},
-	{"getGuiLanguage", scribus_getlanguage, METH_VARARGS, "Returns a string with the -lang value."},
-	{"getHGuides", scribus_getHguides, METH_VARARGS, "TODO: docstring"},
-	{"setHGuides", scribus_setHguides, METH_VARARGS, "TODO: docstring"},
-	{"getVGuides", scribus_getVguides, METH_VARARGS, "TODO: docstring"},
-	{"setVGuides", scribus_setVguides, METH_VARARGS, "TODO: docstring"},
-	{"setDocType", scribus_setdoctype, METH_VARARGS, "Sets the Type of the Documents, to get Facing Pages set the first Parameter to 1, to switch FacingPages off use 0 instead. If you want to be the first Page a left Side set the second Parameter to 1, for a right Page use 0."},
-	// aliases (old convention)
-	{"SetLineWidth", scribus_setlinewidth, METH_VARARGS, "Sets Line Width of the Object \"name\" to \"width\". \"width\" must be in the range from 0.0 to 12.0 inclusive. If \"name\" is not given the currently selected Item is used."},
-	{"SetLineShade", scribus_setlineshade, METH_VARARGS, "Sets the shading of the Line Color of the Object \"name\" to \"shade\". \"shade\" must be an Integer Value in the range from 0 (lightest) to 100 (full Color intensity). If \"name\" is not given the currently selected Item is used."},
-	{"SetLineJoin", scribus_setlinejoin, METH_VARARGS, "Sets the Line Join Style of the Object \"name\" to the Style \"join\". If \"name\" is not given the currently selected Item is used. There are predefined Constants for \"join\"."},
-	{"SetLineCap", scribus_setlineend, METH_VARARGS, "Sets the Line Cap Style of the Object \"name\" to the Style \"cap\". If \"name\" is not given the currently selected Item is used. There are predefined Constants for \"cap\"."},
-	{"SetLineStyle", scribus_setlinestyle, METH_VARARGS, "Sets the Line Style of the Object \"name\" to the Style \"style\". If \"name\" is not given the currently selected Item is used. There are predefined Constants for \"style\"."},
-	{"SetFillShade", scribus_setfillshade, METH_VARARGS, "Sets the shading of the Fill Color of the Object \"name\" to \"shade\". \"shade\" must be an Integer Value in the range from 0 (lightest) to 100 (full Color intensity). If \"name\" is not given the currently selected Item is used."},
-	{"SetCornerRadius", scribus_setcornerrad, METH_VARARGS, "Sets the Corner Radius of the Object \"name\" The Radius is expressed in Points. If \"name\" is not given the currently selected Item is used."},
-	{"LoadImage", scribus_loadimage, METH_VARARGS, "Loads the Picture \"picture\" into the Image Frame \"name\". If \"name\" is not given the currently selected Item is used."},
-	{"ScaleImage", scribus_scaleimage, METH_VARARGS, "Sets the Scaling Factors of the Picture in the Image Frame \"name\". If \"name\" is not given the currently selected Item is used. A Number of 1 means 100 %."},
-	{"SetText", scribus_setboxtext, METH_VARARGS, "Sets the Text of the Text Frame \"name\" to the Text of the String \"text\". If \"name\" is not given the currently selected Item is used."},
-	{"InsertText", scribus_inserttext, METH_VARARGS, "Inserts the Text \"text\" at the Position \"pos\" into the Textframe The first Character has an Index of 0. \"name\" If \"name\" is not given the currently selected Item is used."},
-	{"SelectText", scribus_selecttext, METH_VARARGS, "Selects \"count\" Characters Text of the Textframe \"name\" starting from the Character \"start\". Character Counting starts at 0. If \"count\" is zero, any Text Selection will be cleared. If \"name\" is not given the currently selected Item is used."},
-	{"DeleteText", scribus_deletetext, METH_VARARGS, "Deletes the Text of the Textframe \"name\". If there is some Text selected, this Text will be deleted. If \"name\" is not given the currently selected Item is used."},
-	{"SetFont", scribus_setfont, METH_VARARGS, "Sets the Font of the Text Frame \"name\" to \"font\", if there is some Text selected only the selected Text is changed. If \"name\" is not given the currently selected Item is used."},
-	{"SetFontSize", scribus_setfontsize, METH_VARARGS, "Sets the Fontsize of the Text Frame \"name\" to the Pointsize \"size\", if there is some Text selected only the selected Text is changed. \"size\" must be in the Range 1 to 512. If \"name\" is not given the currently selected Item is used."},
-	{"SetTextColor", scribus_settextfill, METH_VARARGS, "Sets the Text Color of the Object \"name\" to the Color \"color\", if there is some Text selected only the selected Text is changed. If \"name\" is not given the currently selected Item is used."},
-	{"SetTextStroke", scribus_settextstroke, METH_VARARGS, "TODO: docstring"},
-	{"SetTextShade", scribus_settextshade, METH_VARARGS, "Sets the shading of the Text Color of the Object \"name\" to \"shade\", if there is some Text selected only the selected Text is changed. \"shade\" must be an Integer Value in the range from 0 (lightest) to 100 (full Color intensity). If \"name\" is not given the currently selected Item is used."},
-	{"SetColumns", scribus_setcolumns, METH_VARARGS, "Sets the number of Columns of the Text Frame \"name\" to the Value \"nr\". If \"name\" is not given the currently selected Item is used."},
-	{"SetColumnGap", scribus_setcolumngap, METH_VARARGS, "Sets the Column Gap of the Text Frame \"name\" to the Value \"size\". If \"name\" is not given the currently selected Item is used."},
-	{"SetLineSpacing", scribus_setlinespace, METH_VARARGS, "Sets the Linespacing of the Text Frame \"name\" to the Pointsize \"size\". If \"name\" is not given the currently selected Item is used."},
-	{"SetTextAlignment", scribus_setalign, METH_VARARGS, "Sets the Textalignment of the Text Frame \"name\" to the specified Alignment. If \"name\" is not given the currently selected Item is used. \"align\" can have the following values:\n\t0 = Left Aligned\n\t1 = Centered\n\t2 = Right Aligned\n\t3 = Forced"},
-	{"MoveObject", scribus_moveobjrel, METH_VARARGS, "Moves the Object \"name\" by dx and dy relative to its origin. The Distances are expressed in the actual Measurement Unit of the Document. If \"name\" is not given the currently selected Item is used. If the Object \"name\" belongs to a Group, the whole Group is moved."},
-	{"MoveObjectAbs", scribus_moveobjabs, METH_VARARGS, "Moves the Object \"name\" to a new Location. The Coordinates are expressed in the actual Measurement Unit of the Document. If \"name\" is not given the currently selected Item is used. If the Object \"name\" belongs to a Group, the whole Group is moved."},
-	{"RotateObject", scribus_rotobjrel, METH_VARARGS, "Rotates the Object \"name\" by \"rot\" Degrees. Positve Values mean counter clockwise Rotation. If \"name\" is not given the currently selected Item is used."},
-	{"RotateObjectAbs", scribus_rotobjabs, METH_VARARGS, "Sets the Rotation of the Object \"name\" to \"rot\". Positve Values mean counter clockwise Rotation. If \"name\" is not given the currently selected Item is used."},
-	{"SizeObject", scribus_sizeobjabs, METH_VARARGS, "Resizes the Object \"name\" to the given Width and Height. If \"name\" is not given the currently selected Item is used."},
-	{"GroupObjects", scribus_groupobj, METH_VARARGS, "Groups the Objects in \"list\" together. \"list\" must contain the Names of the Objects to be grouped. If \"list\" is not given the currently selected Items are used."},
-	{"UnGroupObject", scribus_ungroupobj, METH_VARARGS, "Destructs the Group the Object \"name\" belongs to. If \"name\" is not given the currently selected Item is used."},
-	{"ScaleGroup", scribus_scalegroup, METH_VARARGS, "Scales the Group the Object \"name\" belongs to. Values greater than 1 enlarge the Group, Values smaller than 1 make the Group smaller e.g a Value of 0.5 scales the Group to 50 % of is original Size, a Value of 1.5 scales the Group to 150 % of its original Size. The Value for \"factor\" must be greater than 0. If \"name\" is not given the currently selected Item is used."},
-	{"GetSelectedObject", scribus_getselobjnam, METH_VARARGS, "Returns the Name of the selecteted Object. \"nr\" if given indicates the Number of the selected Object, e.g. 0 means the first selected Object, 1 means the second selected Object and so on."},
-	{"SelectionCount", scribus_selcount, METH_VARARGS, "Returns the Number of selected Objects."},
-	{"SelectObject", scribus_selectobj, METH_VARARGS, "Selects the Object with the given Name."},
-	{"DeselectAll", scribus_deselect, METH_VARARGS, "Deselects all Objects."},
-	{"GetColorNames", scribus_colornames, METH_VARARGS, "Returns a List with the Names of all defined Colors."},
-	{"GetColor", scribus_getcolor, METH_VARARGS, "Returns a Tuple containing the four Color Components of the Color \"name\"."},
-	{"ChangeColor", scribus_setcolor, METH_VARARGS, "Changes the Color \"name\", The Color Value is defined via four Components c = Cyan, m = Magenta, y = Yello and k = Black. Color Compontens should be in the range from 0 to 255."},
-	{"DefineColor", scribus_newcolor, METH_VARARGS, "Defines a new Color \"name\". The Color Value is defined via four Components c = Cyan, m = Magenta, y = Yello and k = Black. Color Compontens should be in the range from 0 to 255."},
-	{"DeleteColor", scribus_delcolor, METH_VARARGS, "Deletes the Color \"name\". Every occurence of that Color is replaced by the Color \"replace\"."},
-	{"ReplaceColor", scribus_replcolor, METH_VARARGS, "Every occurence of that Color is replaced by the Color \"replace\"."},
-	{"GetFontNames", scribus_fontnames, METH_VARARGS, "Returns a List with the Names of all available Fonts."},
-	{"RenderFont", scribus_renderfont, METH_VARARGS, "Creates an image preview of font with given text"},
-	{"GetLayers", scribus_getlayers, METH_VARARGS, "Returns a List with the Names of all defined Layers."},
-	{"SetActiveLayer", scribus_setactlayer, METH_VARARGS, "Sets the active Layer to the Layer named \"name\"."},
-	{"GetActiveLayer", scribus_getactlayer, METH_VARARGS, "Returns the Name of the current active Layer."},
-	{"SentToLayer", scribus_senttolayer, METH_VARARGS, "Sends the Object \"name\" to the Layer \"layer\". The Layer must exist. If \"name\" is not given the currently selected Item is used."},
-	{"SetLayerVisible", scribus_layervisible, METH_VARARGS, "Sets the Layer \"layer\" to be visible or not. A Value of 1 for \"flag\" means that the Layer \"layer\" is visible, a Value of 0 means that the Layer \"layer\" is invisible."},
-	{"SetLayerPrintable", scribus_layerprint, METH_VARARGS, "Sets the Layer \"layer\" to be printable or not. A Value of 1 for \"flag\" means that the Layer \"layer\" can be printed, a Value of 0 means that printing the Layer \"layer\" is disabled."},
-	{"IsLayerVisible", scribus_glayervisib, METH_VARARGS, "Returns wether the Layer \"layer\" is visible or not, a Value of 1 means that the Layer \"layer\" is visible, a Value of 0 means that the Layer \"layer\" is invisible."},
-	{"IsLayerPrintable", scribus_glayerprint, METH_VARARGS, "Returns wether the Layer \"layer\" is printable or not, a Value of 1 means that the Layer \"layer\" can be printed, a Value of 0 means that printing the Layer \"layer\" is disabled."},
-	{"CreateLayer", scribus_createlayer, METH_VARARGS, "Creates a new Layer with the Name \"name\"."},
-	{"DeleteLayer", scribus_removelayer, METH_VARARGS, "Deletes the Layer with the Name \"name\". Nothing happens if the Layer doesn't exists or if it's the only Layer in the Document."},
-	{"GetGuiLanguage", scribus_getlanguage, METH_VARARGS, "Returns a string with the -lang value."},
-	{"GetHGuides", scribus_getHguides, METH_VARARGS, "TODO: docstring"},
-	{"SetHGuides", scribus_setHguides, METH_VARARGS, "TODO: docstring"},
-	{"GetVGuides", scribus_getVguides, METH_VARARGS, "TODO: docstring"},
-	{"SetVGuides", scribus_setVguides, METH_VARARGS, "TODO: docstring"},
-	{"SetDocType", scribus_setdoctype, METH_VARARGS, "Sets the Type of the Documents, to get Facing Pages set the first Parameter to 1, to switch FacingPages off use 0 instead. If you want to be the first Page a left Side set the second Parameter to 1, for a right Page use 0."},
+	{"unlinkTextFrames", scribus_unlinktextframes, METH_VARARGS, "Remove the specified (named) object from the text frame flows/linkage."},
+	{"valueDialog", scribus_valdialog, METH_VARARGS, "TODO: docstring"},
 	// end of aliases
 	{"retval", scribus_retval, METH_VARARGS, "TODO: docstring"},
 	{"getval", scribus_getval, METH_VARARGS, "TODO: docstring"},
@@ -905,5 +834,176 @@
 	PyDict_SetItemString(d, "Paper_Tabloid", Py_BuildValue("(ff)", 792.0, 1224.0));
 	// end of legacy
 	Carrier = pl;
+	// Function aliases for compatibility
+	// We need to import the __builtins__, warnings and exceptions modules to be able to run
+	// the generated Python functions from inside the `scribus' module's context.
+	// This code makes it possible to extend the `scribus' module by running Python code
+	// from C in other ways too.
+	PyObject* builtinModule = PyImport_ImportModuleEx("__builtin__", d, d, Py_BuildValue("[]"));
+	if (builtinModule == NULL)
+	{
+		qDebug("Failed to import __builtin__ module. Something is probably broken with your Python.");
+		return;
+	}
+	PyDict_SetItemString(d, "__builtin__", builtinModule);
+	PyObject* exceptionsModule = PyImport_ImportModuleEx("exceptions", d, d, Py_BuildValue("[]"));
+	if (exceptionsModule == NULL)
+	{
+		qDebug("Failed to import exceptions module. Something is probably broken with your Python.");
+		return;
+	}
+	PyDict_SetItemString(d, "exceptions", exceptionsModule);
+	PyObject* warningsModule = PyImport_ImportModuleEx("warnings", d, d, Py_BuildValue("[]"));
+	if (warningsModule == NULL)
+	{
+		qDebug("Failed to import warnings module. Something is probably broken with your Python.");
+		return;
+	}
+	PyDict_SetItemString(d, "warnings", warningsModule);
+	// Now actually add the aliases
+	deprecatedFunctionAlias(d, "changeColor", "ChangeColor");
+	deprecatedFunctionAlias(d, "closeDoc", "CloseDoc");
+	deprecatedFunctionAlias(d, "createBezierLine", "CreateBezierLine");
+	deprecatedFunctionAlias(d, "createEllipse", "CreateEllipse");
+	deprecatedFunctionAlias(d, "createImage", "CreateImage");
+	deprecatedFunctionAlias(d, "createLayer", "CreateLayer");
+	deprecatedFunctionAlias(d, "createLine", "CreateLine");
+	deprecatedFunctionAlias(d, "createPathText", "CreatePathText");
+	deprecatedFunctionAlias(d, "createPolygon", "CreatePolygon");
+	deprecatedFunctionAlias(d, "createPolyLine", "CreatePolyLine");
+	deprecatedFunctionAlias(d, "createRect", "CreateRect");
+	deprecatedFunctionAlias(d, "createText", "CreateText");
+	deprecatedFunctionAlias(d, "currentPage", "CurrentPage");
+	deprecatedFunctionAlias(d, "defineColor", "DefineColor");
+	deprecatedFunctionAlias(d, "deleteColor", "DeleteColor");
+	deprecatedFunctionAlias(d, "deleteLayer", "DeleteLayer");
+	deprecatedFunctionAlias(d, "deleteObject", "DeleteObject");
+	deprecatedFunctionAlias(d, "deletePage", "DeletePage");
+	deprecatedFunctionAlias(d, "deleteText", "DeleteText");
+	deprecatedFunctionAlias(d, "deselectAll", "DeselectAll");
+	deprecatedFunctionAlias(d, "docChanged", "DocChanged");
+	deprecatedFunctionAlias(d, "fileDialog", "FileDialog");
+	deprecatedFunctionAlias(d, "getActiveLayer", "GetActiveLayer");
+	deprecatedFunctionAlias(d, "getAllObjects", "GetAllObjects");
+	deprecatedFunctionAlias(d, "getAllStyles", "GetAllStyles");
+	deprecatedFunctionAlias(d, "getAllText", "GetAllText");
+	deprecatedFunctionAlias(d, "getColor", "GetColor");
+	deprecatedFunctionAlias(d, "getColorNames", "GetColorNames");
+	deprecatedFunctionAlias(d, "getColumnGap", "GetColumnGap");
+	deprecatedFunctionAlias(d, "getColumns", "GetColumns");
+	deprecatedFunctionAlias(d, "getCornerRadius", "GetCornerRadius");
+	deprecatedFunctionAlias(d, "getFillColor", "GetFillColor");
+	deprecatedFunctionAlias(d, "getFillShade", "GetFillShade");
+	deprecatedFunctionAlias(d, "getFont", "GetFont");
+	deprecatedFunctionAlias(d, "getFontNames", "GetFontNames");
+	deprecatedFunctionAlias(d, "getFontSize", "GetFontSize");
+	deprecatedFunctionAlias(d, "getGuiLanguage", "GetGuiLanguage");
+	deprecatedFunctionAlias(d, "getHGuides", "GetHGuides");
+	deprecatedFunctionAlias(d, "getImageFile", "GetImageFile");
+	deprecatedFunctionAlias(d, "getImageScale", "GetImageScale");
+	deprecatedFunctionAlias(d, "getLayers", "GetLayers");
+	deprecatedFunctionAlias(d, "getLineCap", "GetLineCap");
+	deprecatedFunctionAlias(d, "getLineColor", "GetLineColor");
+	deprecatedFunctionAlias(d, "getLineJoin", "GetLineJoin");
+	deprecatedFunctionAlias(d, "getLineShade", "GetLineShade");
+	deprecatedFunctionAlias(d, "getLineSpacing", "GetLineSpacing");
+	deprecatedFunctionAlias(d, "getLineStyle", "GetLineStyle");
+	deprecatedFunctionAlias(d, "getLineWidth", "GetLineWidth");
+	deprecatedFunctionAlias(d, "getPageItems", "GetPageItems");
+	deprecatedFunctionAlias(d, "getPageMargins", "GetPageMargins");
+	deprecatedFunctionAlias(d, "getPageSize", "GetPageSize");
+	deprecatedFunctionAlias(d, "getPosition", "GetPosition");
+	deprecatedFunctionAlias(d, "getRotation", "GetRotation");
+	deprecatedFunctionAlias(d, "getSelectedObject", "GetSelectedObject");
+	deprecatedFunctionAlias(d, "getSize", "GetSize");
+	deprecatedFunctionAlias(d, "getText", "GetText");
+	deprecatedFunctionAlias(d, "getTextColor", "GetTextColor");
+	deprecatedFunctionAlias(d, "getTextLength", "GetTextLength");
+	deprecatedFunctionAlias(d, "getTextShade", "GetTextShade");
+	deprecatedFunctionAlias(d, "getUnit", "GetUnit");
+	deprecatedFunctionAlias(d, "getVGuides", "GetVGuides");
+	deprecatedFunctionAlias(d, "getXFontNames", "GetXFontNames");
+	deprecatedFunctionAlias(d, "gotoPage", "GotoPage");
+	deprecatedFunctionAlias(d, "groupObjects", "GroupObjects");
+	deprecatedFunctionAlias(d, "haveDoc", "HaveDoc");
+	deprecatedFunctionAlias(d, "insertText", "InsertText");
+	deprecatedFunctionAlias(d, "isLayerPrintable", "IsLayerPrintable");
+	deprecatedFunctionAlias(d, "isLayerVisible", "IsLayerVisible");
+	deprecatedFunctionAlias(d, "isLocked", "IsLocked");
+	deprecatedFunctionAlias(d, "linkTextFrames", "LinkTextFrames");
+	deprecatedFunctionAlias(d, "loadImage", "LoadImage");
+	deprecatedFunctionAlias(d, "loadStylesFromFile", "LoadStylesFromFile");
+	deprecatedFunctionAlias(d, "lockObject", "LockObject");
+	deprecatedFunctionAlias(d, "messagebarText", "MessagebarText");
+	deprecatedFunctionAlias(d, "messageBox", "MessageBox");
+	deprecatedFunctionAlias(d, "moveObject", "MoveObject");
+	deprecatedFunctionAlias(d, "moveObjectAbs", "MoveObjectAbs");
+	deprecatedFunctionAlias(d, "newDoc", "NewDoc");
+	deprecatedFunctionAlias(d, "newDocDialog", "NewDocDialog");
+	deprecatedFunctionAlias(d, "newPage", "NewPage");
+	deprecatedFunctionAlias(d, "objectExists", "ObjectExists");
+	deprecatedFunctionAlias(d, "openDoc", "OpenDoc");
+	deprecatedFunctionAlias(d, "pageCount", "PageCount");
+	deprecatedFunctionAlias(d, "pageDimension", "PageDimension");
+	deprecatedFunctionAlias(d, "progressReset", "ProgressReset");
+	deprecatedFunctionAlias(d, "progressSet", "ProgressSet");
+	deprecatedFunctionAlias(d, "progressTotal", "ProgressTotal");
+	deprecatedFunctionAlias(d, "redrawAll", "RedrawAll");
+	deprecatedFunctionAlias(d, "renderFont", "RenderFont");
+	deprecatedFunctionAlias(d, "replaceColor", "ReplaceColor");
+	deprecatedFunctionAlias(d, "rotateObject", "RotateObject");
+	deprecatedFunctionAlias(d, "rotateObjectAbs", "RotateObjectAbs");
+	deprecatedFunctionAlias(d, "saveDoc", "SaveDoc");
+	deprecatedFunctionAlias(d, "saveDocAs", "SaveDocAs");
+	deprecatedFunctionAlias(d, "savePageAsEPS", "SavePageAsEPS");
+	deprecatedFunctionAlias(d, "scaleGroup", "ScaleGroup");
+	deprecatedFunctionAlias(d, "scaleImage", "ScaleImage");
+	deprecatedFunctionAlias(d, "selectionCount", "SelectionCount");
+	deprecatedFunctionAlias(d, "selectObject", "SelectObject");
+	deprecatedFunctionAlias(d, "selectText", "SelectText");
+	deprecatedFunctionAlias(d, "sentToLayer", "SentToLayer");
+	deprecatedFunctionAlias(d, "setActiveLayer", "SetActiveLayer");
+	deprecatedFunctionAlias(d, "setColumnGap", "SetColumnGap");
+	deprecatedFunctionAlias(d, "setColumns", "SetColumns");
+	deprecatedFunctionAlias(d, "setCornerRadius", "SetCornerRadius");
+	deprecatedFunctionAlias(d, "setCursor", "SetCursor");
+	deprecatedFunctionAlias(d, "setDocType", "SetDocType");
+	deprecatedFunctionAlias(d, "setFillColor", "SetFillColor");
+	deprecatedFunctionAlias(d, "setFillShade", "SetFillShade");
+	deprecatedFunctionAlias(d, "setFont", "SetFont");
+	deprecatedFunctionAlias(d, "setFontSize", "SetFontSize");
+	deprecatedFunctionAlias(d, "setGradientFill", "SetGradientFill");
+	deprecatedFunctionAlias(d, "setHGuides", "SetHGuides");
+	deprecatedFunctionAlias(d, "setInfo", "SetInfo");
+	deprecatedFunctionAlias(d, "setLayerPrintable", "SetLayerPrintable");
+	deprecatedFunctionAlias(d, "setLayerVisible", "SetLayerVisible");
+	deprecatedFunctionAlias(d, "setLineCap", "SetLineCap");
+	deprecatedFunctionAlias(d, "setLineColor", "SetLineColor");
+	deprecatedFunctionAlias(d, "setLineJoin", "SetLineJoin");
+	deprecatedFunctionAlias(d, "setLineShade", "SetLineShade");
+	deprecatedFunctionAlias(d, "setLineSpacing", "SetLineSpacing");
+	deprecatedFunctionAlias(d, "setLineStyle", "SetLineStyle");
+	deprecatedFunctionAlias(d, "setLineWidth", "SetLineWidth");
+	deprecatedFunctionAlias(d, "setMargins", "SetMargins");
+	deprecatedFunctionAlias(d, "setMultiLine", "SetMultiLine");
+	deprecatedFunctionAlias(d, "setMultiLine", "SetMultiLine");
+	deprecatedFunctionAlias(d, "setRedraw", "SetRedraw");
+	deprecatedFunctionAlias(d, "setSelectedObject", "SetSelectedObject");
+	deprecatedFunctionAlias(d, "setStyle", "SetStyle");
+	deprecatedFunctionAlias(d, "setText", "SetText");
+	deprecatedFunctionAlias(d, "setTextAlignment", "SetTextAlignment");
+	deprecatedFunctionAlias(d, "setTextColor", "SetTextColor");
+	deprecatedFunctionAlias(d, "setTextShade", "SetTextShade");
+	deprecatedFunctionAlias(d, "setTextStroke", "SetTextStroke");
+	deprecatedFunctionAlias(d, "setUnit", "SetUnit");
+	deprecatedFunctionAlias(d, "setVGuides", "SetVGuides");
+	deprecatedFunctionAlias(d, "sizeObject", "SizeObject");
+	deprecatedFunctionAlias(d, "statusMessage", "StatusMessage");
+	deprecatedFunctionAlias(d, "textFlowsAroundFrame", "TextFlowsAroundFrame");
+	deprecatedFunctionAlias(d, "traceText", "TraceText");
+	deprecatedFunctionAlias(d, "unGroupObject", "UnGroupObject");
+	deprecatedFunctionAlias(d, "unlinkTextFrames", "UnlinkTextFrames");
+	deprecatedFunctionAlias(d, "valueDialog", "ValueDialog");
+	// end function aliases
 }
 

Issue History

Date Modified Username Field Change
2004-11-06 08:57 ringerc New Issue
2004-11-06 14:40 ringerc Description Updated
2004-11-06 14:41 ringerc Relationship added related to 0001264
2004-11-06 14:42 ringerc File Added: scripter_NOARGS3_and_aliasing_2.diff
2004-11-07 13:47 fschmid Status new => resolved
2004-11-07 13:47 fschmid Fixed in Version => 1.2.1cvs
2004-11-07 13:47 fschmid Resolution open => fixed
2004-11-07 13:47 fschmid Assigned To => fschmid
2004-11-09 00:27 cbradney Status resolved => closed
2006-05-13 21:54 christoph_s Relationship added child of 0003813