Rev 243 |
Rev 418 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
#include <Python.h>
#include "cmdpage.h"
#include "cmdvar.h"
#include "cmdutil.h"
PyObject *scribus_actualpage(PyObject *self, PyObject* args)
{
if (!PyArg_ParseTuple(args, ""))
{
PyErr_SetString(PyExc_Exception, ERRPARAM + QString("CurrentPage()"));
return NULL;
}
if (!Carrier->HaveDoc)
return PyInt_FromLong(0L);
return PyInt_FromLong(static_cast<long>(Carrier->doc->ActPage->PageNr + 1));
}
PyObject *scribus_redraw(PyObject *self, PyObject* args)
{
if (!PyArg_ParseTuple(args, ""))
{
PyErr_SetString(PyExc_Exception, ERRPARAM + QString("RedrawAll()"));
return NULL;
}
Py_INCREF(Py_None);
if (!Carrier->HaveDoc)
return Py_None;
Carrier->view->DrawNew();
return Py_None;
}
PyObject *scribus_savepageeps(PyObject *self, PyObject* args)
{
char *Name;
if (!PyArg_ParseTuple(args, "s", &Name))
{
PyErr_SetString(PyExc_Exception, ERRPARAM + QString("SavePageAsEPS(filename)"));
return NULL;
}
if (!Carrier->HaveDoc)
return PyInt_FromLong(0L);
bool ret = Carrier->DoSaveAsEps(QString(Name));
// qApp->processEvents();
return PyInt_FromLong(static_cast<long>(ret));
}
PyObject *scribus_deletepage(PyObject *self, PyObject* args)
{
int e;
if (!PyArg_ParseTuple(args, "i", &e))
{
PyErr_SetString(PyExc_Exception, ERRPARAM + QString("DeletePage(pagenumber)"));
return NULL;
}
Py_INCREF(Py_None);
if (!Carrier->HaveDoc)
return Py_None;
e--;
if ((e < 0) || (e > static_cast<int>(Carrier->view->Pages.count())-1))
return Py_None;
Carrier->DeletePage2(e);
// qApp->processEvents();
return Py_None;
}
PyObject *scribus_gotopage(PyObject *self, PyObject* args)
{
int e;
if (!PyArg_ParseTuple(args, "i", &e))
{
PyErr_SetString(PyExc_Exception, ERRPARAM + QString("GotoPage(pagenumber)"));
return NULL;
}
Py_INCREF(Py_None);
if (!Carrier->HaveDoc)
return Py_None;
e--;
if ((e < 0) || (e > static_cast<int>(Carrier->view->Pages.count())-1))
return Py_None;
Carrier->view->GotoPage(e);
// qApp->processEvents();
return Py_None;
}
PyObject *scribus_newpage(PyObject *self, PyObject* args)
{
int e;
char *name = "Normal";
if (!PyArg_ParseTuple(args, "i|s", &e, &name))
{
PyErr_SetString(PyExc_Exception, ERRPARAM + QString("NewPage(pagenumber [, pagename])"));
return NULL;
}
Py_INCREF(Py_None);
if (!Carrier->HaveDoc)
return Py_None;
if (e < 0)
Carrier->slotNewPageP(Carrier->view->Pages.count(), QString(name));
else
{
e--;
if ((e < 0) || (e > static_cast<int>(Carrier->view->Pages.count())-1))
return Py_None;
Carrier->slotNewPageP(e, QString(name));
}
// qApp->processEvents();
return Py_None;
}
PyObject *scribus_pagecount(PyObject *self, PyObject* args)
{
if (!PyArg_ParseTuple(args, ""))
{
PyErr_SetString(PyExc_Exception, ERRPARAM + QString("PageCount()"));
return NULL;
}
if (!Carrier->HaveDoc)
return PyInt_FromLong(0L);
return PyInt_FromLong(static_cast<long>(Carrier->view->Pages.count()));
}
PyObject *scribus_pagedimension(PyObject *self, PyObject *args)
{
if (!PyArg_ParseTuple(args, ""))
{
PyErr_SetString(PyExc_Exception, ERRPARAM + QString("PageDimension()"));
return NULL;
}
if (!Carrier->HaveDoc)
{
Py_INCREF(Py_None);
return Py_None;
}
PyObject *t;
t = Py_BuildValue(
"(dd)",
PointToValue(Carrier->doc->PageB), // it's just view scale... * Carrier->doc->Scale),
PointToValue(Carrier->doc->PageH) // * Carrier->doc->Scale)
);
return t;
}
PyObject *scribus_getpageitems(PyObject *self, PyObject* args)
{
if (!PyArg_ParseTuple(args, ""))
{
PyErr_SetString(PyExc_Exception, ERRPARAM + QString("GetPageItems()"));
return NULL;
}
if ((!Carrier->HaveDoc) || (Carrier->doc->ActPage->Items.count() == 0))
return Py_BuildValue((char*)"[]");
PyObject *l = PyList_New(Carrier->doc->ActPage->Items.count());
PyObject *row;
for (uint i = 0; i<Carrier->doc->ActPage->Items.count(); ++i)
{
row = Py_BuildValue((char*)"(sii)",
Carrier->doc->ActPage->Items.at(i)->AnName.ascii(),
Carrier->doc->ActPage->Items.at(i)->PType,
Carrier->doc->ActPage->Items.at(i)->ItemNr
);
PyList_SetItem(l, i, row);
} // for
return l;
}