Subversion Repositories Scribus

Rev

Rev 173 | Rev 216 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
104 Franz 1
#include <Python.h>
103 Franz 2
#include "cmdpage.h"
82 Franz 3
#include "cmdvar.h"
201 Franz 4
#include "cmdutil.h"
82 Franz 5
 
6
PyObject *scribus_actualpage(PyObject *self, PyObject* args)
7
{
8
        if (!PyArg_ParseTuple(args, ""))
9
                return NULL;
10
        if (!Carrier->HaveDoc)
11
                return PyInt_FromLong(0L);
12
        return PyInt_FromLong(static_cast<long>(Carrier->doc->ActPage->PageNr + 1));
13
}
14
 
15
PyObject *scribus_redraw(PyObject *self, PyObject* args)
16
{
17
        if (!PyArg_ParseTuple(args, ""))
18
                return NULL;
19
        Py_INCREF(Py_None);
20
        if (!Carrier->HaveDoc)
21
                return Py_None;
22
        Carrier->view->DrawNew();
23
        return Py_None;
24
}
25
 
26
PyObject *scribus_savepageeps(PyObject *self, PyObject* args)
27
{
28
        char *Name;
29
        if (!PyArg_ParseTuple(args, "s", &Name))
30
                return NULL;
31
        if (!Carrier->HaveDoc)
32
                return PyInt_FromLong(0L);
173 Franz 33
        bool ret = Carrier->DoSaveAsEps(QString(Name));
34
//      qApp->processEvents();
35
        return PyInt_FromLong(static_cast<long>(ret));
82 Franz 36
}
37
 
38
PyObject *scribus_deletepage(PyObject *self, PyObject* args)
39
{
40
        int e;
41
        if (!PyArg_ParseTuple(args, "i", &e))
42
                return NULL;
43
        Py_INCREF(Py_None);
44
        if (!Carrier->HaveDoc)
45
                return Py_None;
46
        e--;
47
        if ((e < 0) || (e > static_cast<int>(Carrier->view->Pages.count())-1))
48
                return Py_None;
49
        Carrier->DeletePage2(e);
173 Franz 50
//      qApp->processEvents();
82 Franz 51
        return Py_None;
52
}
53
 
54
PyObject *scribus_gotopage(PyObject *self, PyObject* args)
55
{
56
        int e;
57
        if (!PyArg_ParseTuple(args, "i", &e))
58
                return NULL;
59
        Py_INCREF(Py_None);
60
        if (!Carrier->HaveDoc)
61
                return Py_None;
62
        e--;
63
        if ((e < 0) || (e > static_cast<int>(Carrier->view->Pages.count())-1))
64
                return Py_None;
65
        Carrier->view->GotoPage(e);
173 Franz 66
//      qApp->processEvents();
82 Franz 67
        return Py_None;
68
}
69
 
70
PyObject *scribus_newpage(PyObject *self, PyObject* args)
71
{
72
        int e;
73
        char *name = "Normal";
74
        if (!PyArg_ParseTuple(args, "i|s", &e, &name))
75
                return NULL;
76
        Py_INCREF(Py_None);
77
        if (!Carrier->HaveDoc)
78
                return Py_None;
79
        if (e < 0)
80
                Carrier->slotNewPageP(Carrier->view->Pages.count(), QString(name));
81
        else
82
                {
83
                e--;
84
                if ((e < 0) || (e > static_cast<int>(Carrier->view->Pages.count())-1))
85
                        return Py_None;
86
                Carrier->slotNewPageP(e, QString(name));
87
                }
173 Franz 88
//      qApp->processEvents();
82 Franz 89
        return Py_None;
90
}
91
 
92
PyObject *scribus_pagecount(PyObject *self, PyObject* args)
93
{
94
        if (!PyArg_ParseTuple(args, ""))
95
                return NULL;
96
        if (!Carrier->HaveDoc)
97
                return PyInt_FromLong(0L);
98
        return PyInt_FromLong(static_cast<long>(Carrier->view->Pages.count()));
99
}
100
 
201 Franz 101
PyObject *scribus_pagedimension(PyObject *self, PyObject *args)
102
{
103
/* #include "cmdutil.h" needed for PointToValue function */
104
        if (!PyArg_ParseTuple(args, "")) {
105
                return NULL;
106
        }
107
        if (!Carrier->HaveDoc) {
108
                return PyInt_FromLong(0L);
109
        }
110
 
111
        PyObject *t;
112
        t = Py_BuildValue(
113
                "(dd)",
114
                PointToValue(Carrier->doc->PageB), // it's just view scale... * Carrier->doc->Scale),
115
                PointToValue(Carrier->doc->PageH)  // * Carrier->doc->Scale)
116
                );
117
        return t;
118
}
119