Rev 216 | Rev 332 | 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 | if (!PyArg_ParseTuple(args, "")) { |
||
104 | return NULL; |
||
105 | } |
||
106 | if (!Carrier->HaveDoc) { |
||
243 | Franz | 107 | Py_INCREF(Py_None); |
108 | return Py_None; |
||
201 | Franz | 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 | |||
216 | Franz | 120 | PyObject *scribus_getpageitems(PyObject *self, PyObject* args) |
121 | { |
||
122 | if (!PyArg_ParseTuple(args, "")) |
||
123 | return NULL; |
||
124 | if ((!Carrier->HaveDoc) || (Carrier->doc->ActPage->Items.count() == 0)) |
||
125 | return Py_BuildValue((char*)"[]"); |
||
126 | PyObject *l = PyList_New(Carrier->doc->ActPage->Items.count()); |
||
127 | PyObject *row; |
||
128 | for (uint i = 0; i<Carrier->doc->ActPage->Items.count(); ++i) |
||
129 | { |
||
130 | row = Py_BuildValue((char*)"(sii)", |
||
131 | Carrier->doc->ActPage->Items.at(i)->AnName.ascii(), |
||
132 | Carrier->doc->ActPage->Items.at(i)->PType, |
||
133 | Carrier->doc->ActPage->Items.at(i)->ItemNr |
||
134 | ); |
||
135 | PyList_SetItem(l, i, row); |
||
136 | } // for |
||
137 | return l; |
||
138 | } |