Author: jghali
Date: Wed Nov 21 23:21:14 2018
New Revision: 22774
URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22774
Log:
#15489: scriptplugin: Add combinePolygons to API <Iam_TJ>
Modified:
trunk/Scribus/doc/de/scripterapi-manobj.html
trunk/Scribus/doc/en/scripterapi-manobj.html
trunk/Scribus/doc/fr/scripterapi-manobj.html
trunk/Scribus/doc/it/scripterapi-manobj.html
trunk/Scribus/scribus/appmodehelper.cpp
trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.cpp
trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.h
trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp
Modified: trunk/Scribus/doc/de/scripterapi-manobj.html
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22774&path=/trunk/Scribus/doc/de/scripterapi-manobj.html
==============================================================================
--- trunk/Scribus/doc/de/scripterapi-manobj.html (original)
+++ trunk/Scribus/doc/de/scripterapi-manobj.html Wed Nov 21 23:21:14 2018
@@ -8,13 +8,24 @@
<dl>
+<dt><a name="-combinePolygons"><strong>combinePolygons()</strong></a></dt>
+<dd><code>combinePolygons()</code>
+<p>Combines two or more selected polygons.</p>
+<p>May raise WrongFrameTypeError.</p></dd>
+
<dt><a name="-copyObject"><strong>copyObject</strong>(...)</a></dt>
<dd><code>copyObject(["name"]) -> string</code>
<p>copies the selected Object to the clipboard.</p></dd>
<dt><a name="-duplicateObject"><strong>duplicateObject</strong>(...)</a></dt>
<dd><code>duplicateObject(["name"]) -> string</code>
-<p>creates a Duplicate of the selected Object (or Selection Group).</p></dd>
+<p>Creates a Duplicate of the selected Object (or Selection Group).</p></dd>
+
+<dt><a name="-getStyle"><strong>getStyle</strong></a>(...)</dt>
+<dd><code>getStyle(["name"])</code>
+<p>Return name of style applied to object named \"name\". If \"name\" is not
given, the currently selected object is used.<p>
+<p>If current object has a text selection, the name of style applied to start
of selection is returned. Otherwise the name of the item default style is
returned.</p>
+<p>May raise WrongFrameTypeError.</p></dd>
<dt><a name="-groupObjects"><strong>groupObjects</strong></a>(...)</dt>
<dd><code>groupObjects(list)</code>
@@ -76,7 +87,7 @@
<dd><code>sizeObject(width, height [, "name"])</code>
<p>Resizes the object "name" to the given width and height. If "name" is not
given the currently selected item is used.</p></dd>
-<dt><a name="-unGroupObject"><strong>unGroupObject</strong></a>(...)</dt>
+<dt><a name="-unGroupObject"><strong>unGroupObjects</strong></a>(...)</dt>
<dd><code>unGroupObjects("name")</code>
<p>Destructs the group the object "name" belongs to.If "name" is not given the
currently selected item is used.</p></dd>
Modified: trunk/Scribus/doc/en/scripterapi-manobj.html
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22774&path=/trunk/Scribus/doc/en/scripterapi-manobj.html
==============================================================================
--- trunk/Scribus/doc/en/scripterapi-manobj.html (original)
+++ trunk/Scribus/doc/en/scripterapi-manobj.html Wed Nov 21 23:21:14 2018
@@ -8,13 +8,18 @@
<dl>
+<dt><a name="-combinePolygons"><strong>combinePolygons()</strong></a></dt>
+<dd><code>combinePolygons()</code>
+<p>Combines two or more selected polygons.</p>
+<p>May raise WrongFrameTypeError.</p></dd>
+
<dt><a name="-copyObject"><strong>copyObject</strong>(...)</a></dt>
<dd><code>copyObject(["name"]) -> string</code>
<p>copies the selected Object to the clipboard.</p></dd>
<dt><a name="-duplicateObject"><strong>duplicateObject</strong>(...)</a></dt>
<dd><code>duplicateObject(["name"]) -> string</code>
-<p>creates a Duplicate of the selected Object (or Selection Group).</p></dd>
+<p>Creates a Duplicate of the selected Object (or Selection Group).</p></dd>
<dt><a name="-getStyle"><strong>getStyle</strong></a>(...)</dt>
<dd><code>getStyle(["name"])</code>
Modified: trunk/Scribus/doc/fr/scripterapi-manobj.html
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22774&path=/trunk/Scribus/doc/fr/scripterapi-manobj.html
==============================================================================
--- trunk/Scribus/doc/fr/scripterapi-manobj.html (original)
+++ trunk/Scribus/doc/fr/scripterapi-manobj.html Wed Nov 21 23:21:14 2018
@@ -7,6 +7,11 @@
<h2>Manipuler les objets</h2>
<dl>
+
+<dt><a name="-combinePolygons"><strong>combinePolygons()</strong></a></dt>
+<dd><code>combinePolygons()</code>
+<p>Combine deux polygones ou plus.</p>
+<p>Peut générer l'exception WrongFrameTypeError.</p></dd>
<dt><a name="-copyObject"><strong>copyObject</strong>(...)</a></dt>
<dd><code><a href="#-copyObject">copyObject</a>(["nom"]) ->
chaîne</code>
@@ -20,7 +25,7 @@
<dd><code><a href="#-getStyle">getStyle</a>(["nom"]) -> chaîne</code>
<p>Retourne le nom du style appliqué à l'objet "nom". Si aucun
nom d'objet n'est fourni, l'élément sélectionné est
utilisé.</p>
<p>Si l'objet courant possède une sélection de texte, le nom
retourné est celui du style appliqué au début de la
sélection. Sinon le nom retourné est celui du style
appliqué par défaut.</p>
-<p>Peut générer WrongFrameTypeError.</p></dd>
+<p>Peut générer l'exception WrongFrameTypeError.</p></dd>
<dt><a name="-groupObjects"><strong>groupObjects</strong></a>(...)</dt>
<dd><code><a href="#-groupObjects">groupObjects</a>(liste) ->
chaîne</code>
@@ -34,20 +39,20 @@
<dt><a name="-lockObject"><strong>lockObject</strong></a>(...)</dt>
<dd><code><a href="#-lockObject">lockObject</a>(["nom"]) ->
booléen</code>
-<p>Verrouille l'objet "nom" s'il est déverrouillé, ou le
déverrouille s'il y a lieu. Si "nom" n'est pas fourni,
l'élément sélectionnéest utilisé.
+<p>Verrouille l'objet "nom" s'il est déverrouillé, ou le
déverrouille s'il y a lieu. Si "nom" n'est pas fourni,
l'élément sélectionné est utilisé.
Retourne la valeur True si verrouillé.</p></dd>
<dt><a name="-moveObject"><strong>moveObject</strong></a>(...)</dt>
<dd><code><a href="#-moveObject">moveObject</a>(dx, dy [, "nom"])</code>
<p>Déplace l'objet "nom" de dx et dy par rapport à sa position
courante. Les
distances sont exprimées dans les unités de mesure du document
(voir
-les constantes UNIT). Si "nom" n'est pas fourni, l'élément
sélectionnéest utilisé. Si l'objet "nom" appartient
à un groupe, tout le groupe est déplacé.</p></dd>
+les constantes UNIT). Si "nom" n'est pas fourni, l'élément
sélectionné est utilisé. Si l'objet "nom" appartient
à un groupe, tout le groupe est déplacé.</p></dd>
<dt><a name="-moveObjectAbs"><strong>moveObjectAbs</strong></a>(...)</dt>
<dd><code><a href="#-moveObjectAbs">moveObjectAbs</a>(x, y [, "nom"])</code>
<p>Déplace l'objet "nom" à une nouvelle position. Les
coordonnées
sont exprimées dans les unités de mesure du document (voir les
-constantes UNIT). Si "nom" n'est pas fourni, l'élément
sélectionnéest utilisé. Si l'objet "nom" appartient
à un groupe, tout le groupe est déplacé.</p></dd>
+constantes UNIT). Si "nom" n'est pas fourni, l'élément
sélectionné est utilisé. Si l'objet "nom" appartient
à un groupe, tout le groupe est déplacé.</p></dd>
<dt><a name="-rotateObject"><strong>rotateObject</strong></a>(...)</dt>
<dd><code><a href="#-rotateObject">rotateObject</a>(rot [, "nom"])</code>
@@ -71,13 +76,13 @@
<dt><a
name="-setScaleFrameToImage"><strong>setScaleFrameToImage</strong></a>(...)</dt>
<dd><code><a
href="#-setScaleFrameToImage">setScaleFrameToImage</a>([nom])</code>
<p>Redimensionne l'objet "nom" aux dimensions de l'image. Si "nom" n'est pas
fourni, l'élément sélectionné est utilisé</p>
-<p>Peut générer WrongFrameTypeError.</p></dd>
+<p>Peut générer l'exception WrongFrameTypeError.</p></dd>
<dt><a
name="-setScaleImageToFrame"><strong>setScaleImageToFrame</strong></a>(...)</dt>
<dd><code><a
href="#-setScaleImageToFrame">setScaleImageToFrame</a>(redimAuCadre,
proportionnel=None, nom=<selection>)</code>
<p>Établit le mode de redimensionnement par rapport au cadre d'image
sélectionné, ou spécifié dans 'redimAuCadre'.
Si 'proportionnel' est spécifié, établit le
redimensionnement en maintenant des proportions fixes. 'redimAuCadre' et
'proportionnel' sont booléens.</p>
-<p>Peut générer WrongFrameTypeError.</p></dd>
+<p>Peut générer l'exception WrongFrameTypeError.</p></dd>
<dt><a name="-setStyle"><strong>setStyle</strong></a>(...)</dt>
<dd><code><a href="#-setStyle">setStyle</a>("style" [, "nom"])</code>
Modified: trunk/Scribus/doc/it/scripterapi-manobj.html
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22774&path=/trunk/Scribus/doc/it/scripterapi-manobj.html
==============================================================================
--- trunk/Scribus/doc/it/scripterapi-manobj.html (original)
+++ trunk/Scribus/doc/it/scripterapi-manobj.html Wed Nov 21 23:21:14 2018
@@ -8,13 +8,24 @@
<dl>
+<dt><a name="-combinePolygons"><strong>combinePolygons()</strong></a></dt>
+<dd><code>combinePolygons()</code>
+<p>Combines two or more selected polygons.</p>
+<p>May raise WrongFrameTypeError.</p></dd>
+
<dt><a name="-copyObject"><strong>copyObject</strong>(...)</a></dt>
<dd><code>copyObject(["name"]) -> string</code>
<p>copies the selected Object to the clipboard.</p></dd>
<dt><a name="-duplicateObject"><strong>duplicateObject</strong>(...)</a></dt>
<dd><code>duplicateObject(["name"]) -> string</code>
-<p>creates a Duplicate of the selected Object (or Selection Group).</p></dd>
+<p>Creates a Duplicate of the selected Object (or Selection Group).</p></dd>
+
+<dt><a name="-getStyle"><strong>getStyle</strong></a>(...)</dt>
+<dd><code>getStyle(["name"])</code>
+<p>Return name of style applied to object named \"name\". If \"name\" is not
given, the currently selected object is used.<p>
+<p>If current object has a text selection, the name of style applied to start
of selection is returned. Otherwise the name of the item default style is
returned.</p>
+<p>May raise WrongFrameTypeError.</p></dd>
<dt><a name="-groupObjects"><strong>groupObjects</strong></a>(...)</dt>
<dd><code>groupObjects(list)</code>
@@ -76,7 +87,7 @@
<dd><code>sizeObject(width, height [, "name"])</code>
<p>Resizes the object "name" to the given width and height. If "name" is not
given the currently selected item is used.</p></dd>
-<dt><a name="-unGroupObject"><strong>unGroupObject</strong></a>(...)</dt>
+<dt><a name="-unGroupObject"><strong>unGroupObjects</strong></a>(...)</dt>
<dd><code>unGroupObjects("name")</code>
<p>Destructs the group the object "name" belongs to.If "name" is not given the
currently selected item is used.</p></dd>
Modified: trunk/Scribus/scribus/appmodehelper.cpp
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22774&path=/trunk/Scribus/scribus/appmodehelper.cpp
==============================================================================
--- trunk/Scribus/scribus/appmodehelper.cpp (original)
+++ trunk/Scribus/scribus/appmodehelper.cpp Wed Nov 21 23:21:14 2018
@@ -835,12 +835,12 @@
}
(*a_scrActions)["editSearchReplace"]->setEnabled(false);
- bool hPoly = false;
+ bool hPoly = true;
for (int i=0; i < docSelectionCount; ++i)
{
PageItem* it=doc->m_Selection->itemAt(i);
- if ((it->asPolygon()) || (it->asPolyLine()))
- hPoly = true;
+ if ((!it->asPolygon()) || (!it->asPolyLine()))
+ hPoly = false;
}
(*a_scrActions)["itemCombinePolygons"]->setEnabled(hPoly);
Modified: trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.cpp
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22774&path=/trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.cpp (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.cpp Wed Nov 21
23:21:14 2018
@@ -89,7 +89,7 @@
PageItem *item = GetUniqueItem(QString::fromUtf8(Name));
if (item == nullptr)
return nullptr;
- if (! item->asImageFrame())
+ if (!item->asImageFrame())
{
PyErr_SetString(ScribusException, QObject::tr("Specified item
not an image frame.","python error").toLocal8Bit().constData());
return nullptr;
@@ -132,7 +132,7 @@
PageItem *item = GetUniqueItem(QString::fromUtf8(Name));
if (item == nullptr)
return nullptr;
- if (! item->asImageFrame())
+ if (!item->asImageFrame())
{
PyErr_SetString(ScribusException, QObject::tr("Specified item
not an image frame.","python error").toLocal8Bit().constData());
return nullptr;
@@ -625,6 +625,34 @@
Py_RETURN_NONE;
}
+PyObject *scribus_combinepolygons(PyObject * /* self */)
+{
+ if (!checkHaveDocument())
+ return nullptr;
+
+ ScribusDoc* currentDoc = ScCore->primaryMainWindow()->doc;
+ Selection* curSelection = currentDoc->m_Selection;
+ if (curSelection->count() <= 1)
+ Py_RETURN_NONE;
+
+ bool canUniteItems = true;
+ for (int i = 0; i < curSelection->count(); ++i)
+ {
+ PageItem* it = currentDoc->m_Selection->itemAt(i);
+ if ((!it->asPolygon()) || (!it->asPolyLine()))
+ canUniteItems = false;
+ }
+
+ if (!canUniteItems)
+ {
+ PyErr_SetString(WrongFrameTypeError, QObject::tr("Selection
must contain only shapes or bezier curves.", "python
error").toLocal8Bit().constData());
+ return nullptr;
+ }
+ currentDoc->itemSelection_UniteItems(nullptr);
+
+ Py_RETURN_NONE;
+}
+
/*! HACK: this removes "warning: 'blah' defined but not used" compiler warnings
with header files structure untouched (docstrings are kept near declarations)
PV */
Modified: trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.h
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22774&path=/trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.h
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.h (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/cmdmani.h Wed Nov 21
23:21:14 2018
@@ -271,4 +271,11 @@
/*! Flip the object 2010/5/18.*/
PyObject *scribus_flipobject(PyObject * /*self*/, PyObject* args);
+PyDoc_STRVAR(scribus_combinepolygons__doc__,
+QT_TR_NOOP("combinePolygons()\n\
+\n\
+Combine two or more selected Polygons\n\
+"));
+PyObject *scribus_combinepolygons(PyObject * /* self */);
+
#endif
Modified: trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22774&path=/trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp Wed Nov 21
23:21:14 2018
@@ -586,6 +586,8 @@
{const_cast<char*>("duplicateObject"), scribus_duplicateobject,
METH_VARARGS, tr(scribus_duplicateobject__doc__)},
{const_cast<char*>("copyObject"), scribus_copyobject, METH_VARARGS,
tr(scribus_copyobject__doc__)},
{const_cast<char*>("pasteObject"), scribus_pasteobject, METH_VARARGS,
tr(scribus_pasteobject__doc__)},
+ // by Tj ([email protected]>
+ {const_cast<char*>("combinePolygons"),
(PyCFunction)scribus_combinepolygons, METH_NOARGS,
tr(scribus_combinepolygons__doc__)},
// Internal methods - Not for public use
{const_cast<char*>("retval"), (PyCFunction)scribus_retval,
METH_VARARGS, const_cast<char*>("Scribus internal.")},
{const_cast<char*>("getval"), (PyCFunction)scribus_getval, METH_NOARGS,
const_cast<char*>("Scribus internal.")},
_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit