[scribus] Scripter2: Iteration of pages and setting activePage

ale rimoldi ale.comp_06 at xox.ch
Tue Dec 4 18:42:52 UTC 2012


hi mark

> >> In Scripter2 (1.5.0.svn), how does one iterate the pages in an
> >> activeDocument, ie there doesn't seem to be a page[] list?
> >>
> >> Alternatively, how does one set/select the
> >> activeDocument.activePage from Scripter2, which would solve the
> >> above, as activePage.pageCount is available?
> I see that in api_page.cpp there is a method "setNumber", which
> appears to be intended as a set active page function. I've tried
> calling it in the console but it fails (eg. 
> Scripter.activeDocument.activePage.setNumber(2) of a 4 page doc). 
> Perhaps it is not exposed to the interpreter?

somehow i don't like it there...

API change proposal: shouldn't it be document.setActivePage(i) ?


for the short term i can offer you:


Index: scribus/plugins/scripter/api_page.h
===================================================================
--- scribus/plugins/scripter/api_page.h (revision 17929)
+++ scribus/plugins/scripter/api_page.h (working copy)
@@ -17,7 +17,7 @@
 class PageAPI : public QObject
 {
        Q_OBJECT
-    Q_PROPERTY(int number READ number WRITE setNumber)
+    Q_PROPERTY(int number READ number)
     Q_PROPERTY(int position READ position)
     Q_PROPERTY(QList<QVariant> items READ items)
     Q_PROPERTY(QList<QVariant> selection READ selection)
@@ -25,6 +25,7 @@
 
 public slots:
        void remove();
+       void setNumber(int value);
        QObject *newRectangle(double x, double y, double width, double
height); QObject *newEllipse(double x, double y, double width, double
height); QObject *newImage(double x, double y, double width, double
height); @@ -43,7 +44,6 @@
 private:
        int position();
        int number();
-       void setNumber(int value);
        QList<QVariant> items();
        QList<QVariant> selection();
        PageItem *newItem(const PageItem::ItemType itemType,



ciao
a.l.e



More information about the scribus mailing list