本文整理汇总了C++中checkHaveDocument函数的典型用法代码示例。如果您正苦于以下问题:C++ checkHaveDocument函数的具体用法?C++ checkHaveDocument怎么用?C++ checkHaveDocument使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了checkHaveDocument函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: Py_BuildValue
PyObject *scribus_getpageitems(PyObject* /* self */)
{
if(!checkHaveDocument())
return NULL;
if (ScCore->primaryMainWindow()->doc->Items->count() == 0)
return Py_BuildValue((char*)"[]");
uint counter = 0;
int pageNr = ScCore->primaryMainWindow()->doc->currentPageNumber();
for (int lam2 = 0; lam2 < ScCore->primaryMainWindow()->doc->Items->count(); ++lam2)
{
if (pageNr == ScCore->primaryMainWindow()->doc->Items->at(lam2)->OwnPage)
counter++;
}
PyObject *l = PyList_New(counter);
PyObject *row;
counter = 0;
for (int i = 0; i<ScCore->primaryMainWindow()->doc->Items->count(); ++i)
{
if (pageNr == ScCore->primaryMainWindow()->doc->Items->at(i)->OwnPage)
{
row = Py_BuildValue((char*)"(sii)",
ScCore->primaryMainWindow()->doc->Items->at(i)->itemName().toUtf8().constData(),
ScCore->primaryMainWindow()->doc->Items->at(i)->itemType(),
ScCore->primaryMainWindow()->doc->Items->at(i)->ItemNr
);
PyList_SetItem(l, counter, row);
counter++;
}
} // for
return l;
}
开发者ID:AlterScribus,项目名称:ece15,代码行数:31,代码来源:cmdpage.cpp
示例2: QString
PyObject *scribus_layertrans(PyObject* /* self */, PyObject* args)
{
char *Name = const_cast<char*>("");
double vis = 1.0;
if (!PyArg_ParseTuple(args, "esd", "utf-8", &Name, &vis))
return NULL;
if(!checkHaveDocument())
return NULL;
if (Name == EMPTY_STRING)
{
PyErr_SetString(PyExc_ValueError, QString("Cannot have an empty layer name").toLocal8Bit().constData());
return NULL;
}
bool found = false;
for (int lam=0; lam < ScCore->primaryMainWindow()->doc->Layers.count(); ++lam)
{
if (ScCore->primaryMainWindow()->doc->Layers[lam].Name == QString::fromUtf8(Name))
{
ScCore->primaryMainWindow()->doc->Layers[lam].transparency = vis;
found = true;
break;
}
}
if (!found)
{
PyErr_SetString(NotFoundError, QObject::tr("Layer not found.","python error").toLocal8Bit().constData());
return NULL;
}
// Py_INCREF(Py_None);
// return Py_None;
Py_RETURN_NONE;
}
开发者ID:gyuris,项目名称:scribus,代码行数:32,代码来源:cmdmisc.cpp
示例3: PyFloat_FromDouble
PyObject *scribus_glayertrans(PyObject* /* self */, PyObject* args)
{
char *Name = const_cast<char*>("");
if (!PyArg_ParseTuple(args, "es", "utf-8", &Name))
return NULL;
if(!checkHaveDocument())
return NULL;
if (Name == EMPTY_STRING)
{
PyErr_SetString(PyExc_ValueError, QObject::tr("Cannot have an empty layer name.","python error").toLocal8Bit().constData());
return NULL;
}
double i = 1.0;
bool found = false;
for (int lam=0; lam < ScCore->primaryMainWindow()->doc->Layers.count(); lam++)
{
if (ScCore->primaryMainWindow()->doc->Layers[lam].Name == QString::fromUtf8(Name))
{
i = ScCore->primaryMainWindow()->doc->Layers[lam].transparency;
found = true;
break;
}
}
if (!found)
{
PyErr_SetString(NotFoundError, QObject::tr("Layer not found.","python error").toLocal8Bit().constData());
return NULL;
}
return PyFloat_FromDouble(i);
}
开发者ID:gyuris,项目名称:scribus,代码行数:30,代码来源:cmdmisc.cpp
示例4: scribus_applymasterpage
PyObject* scribus_applymasterpage(PyObject* /* self */, PyObject* args)
{
char* name = nullptr;
int page = 0;
if (!PyArg_ParseTuple(args, "esi", const_cast<char*>("utf-8"), &name, &page))
return nullptr;
if (!checkHaveDocument())
return nullptr;
const QString masterPageName(name);
ScribusDoc* currentDoc = ScCore->primaryMainWindow()->doc;
if (!currentDoc->MasterNames.contains(masterPageName))
{
PyErr_SetString(PyExc_ValueError, QObject::tr("Master page does not exist: '%1'","python error").arg(masterPageName).toLocal8Bit().constData());
return nullptr;
}
if ((page < 1) || (page > static_cast<int>(currentDoc->Pages->count())))
{
PyErr_SetString(PyExc_IndexError, QObject::tr("Page number out of range: %1.","python error").arg(page).toLocal8Bit().constData());
return nullptr;
}
if (!currentDoc->applyMasterPage(masterPageName, page-1))
{
PyErr_SetString(ScribusException, QObject::tr("Failed to apply masterpage '%1' on page: %2","python error").arg(masterPageName).arg(page).toLocal8Bit().constData());
return nullptr;
}
Py_RETURN_NONE;
}
开发者ID:luzpaz,项目名称:scribus,代码行数:29,代码来源:cmddoc.cpp
示例5: moveAbs
void ItemAPI::moveAbs(double x, double y)
{
if (!checkHaveDocument())
return;
if (item == NULL)
return;
// Grab the old selection - but use it only where is there any
Selection tempSelection(*ScCore->primaryMainWindow()->doc->m_Selection);
bool hadOrigSelection = (tempSelection.count() != 0);
// Clear the selection
ScCore->primaryMainWindow()->view->Deselect();
// Select the item, which will also select its group if
// there is one.
ScCore->primaryMainWindow()->view->SelectItem(item);
// Move the item, or items
if (ScCore->primaryMainWindow()->doc->m_Selection->count() > 1)
{
ScCore->primaryMainWindow()->view->startGroupTransaction(Um::Move, "", Um::IMove);
double x2, y2, w, h;
ScCore->primaryMainWindow()->doc->m_Selection->getGroupRect(&x2, &y2, &w, &h);
ScCore->primaryMainWindow()->doc->moveGroup(pageUnitXToDocX(x) - x2, pageUnitYToDocY(y) - y2);
ScCore->primaryMainWindow()->view->endGroupTransaction();
}
else
ScCore->primaryMainWindow()->doc->MoveItem(pageUnitXToDocX(x) - item->xPos(), pageUnitYToDocY(y) - item->yPos(), item);
// Now restore the selection.
ScCore->primaryMainWindow()->view->Deselect();
if (hadOrigSelection)
*ScCore->primaryMainWindow()->doc->m_Selection=tempSelection;
}
开发者ID:QuLogic,项目名称:scribus-plugin-scripter,代码行数:31,代码来源:api_item.cpp
示例6:
PyObject *scribus_savedoc(PyObject* /* self */)
{
if (!checkHaveDocument())
return nullptr;
ScCore->primaryMainWindow()->slotFileSave();
Py_RETURN_NONE;
}
开发者ID:luzpaz,项目名称:scribus,代码行数:7,代码来源:cmddoc.cpp
示例7: PyString_FromString
PyObject *scribus_newtable(PyObject* /* self */, PyObject* args)
{
double x, y, w, h;
int numRows, numColumns;
char *Name = const_cast<char*>("");
if (!PyArg_ParseTuple(args, "ddddii|es", &x, &y, &w, &h, &numRows, &numColumns, "utf-8", &Name))
return NULL;
if (!checkHaveDocument())
return NULL;
if (numRows < 1 || numColumns < 1)
{
PyErr_SetString(PyExc_ValueError, QObject::tr("Both numRows and numColumns must be greater than 0.","python error").toLocal8Bit().constData());
return NULL;
}
int i = ScCore->primaryMainWindow()->doc->itemAdd(PageItem::Table, PageItem::Unspecified,
pageUnitXToDocX(x),
pageUnitYToDocY(y),
ValueToPoint(w),
ValueToPoint(h),
0, // Unused.
CommonStrings::None, // Unused.
CommonStrings::None); // Unused.
PageItem_Table *table = ScCore->primaryMainWindow()->doc->Items->at(i)->asTable();
table->insertRows(0, numRows - 1);
table->insertColumns(0, numColumns - 1);
table->adjustTableToFrame();
table->adjustFrameToTable();
if (strlen(Name) > 0)
{
QString objName = QString::fromUtf8(Name);
if (!ItemExists(objName))
ScCore->primaryMainWindow()->doc->Items->at(i)->setItemName(objName);
}
return PyString_FromString(table->itemName().toUtf8());
}
开发者ID:Fahad-Alsaidi,项目名称:scribus-svn,代码行数:35,代码来源:cmdobj.cpp
示例8: scribus_deletemasterpage
PyObject* scribus_deletemasterpage(PyObject* /* self */, PyObject* args)
{
char* name = nullptr;
if (!PyArg_ParseTuple(args, "es", const_cast<char*>("utf-8"), &name))
return nullptr;
if (!checkHaveDocument())
return nullptr;
const QString masterPageName(name);
ScribusDoc* currentDoc = ScCore->primaryMainWindow()->doc;
if (!currentDoc->MasterNames.contains(masterPageName))
{
PyErr_SetString(PyExc_ValueError, "Master page does not exist");
return nullptr;
}
if (masterPageName == "Normal")
{
PyErr_SetString(PyExc_ValueError, "Can not delete the Normal master page");
return nullptr;
}
bool oldMode = currentDoc->masterPageMode();
currentDoc->setMasterPageMode(true);
ScCore->primaryMainWindow()->deletePage2(currentDoc->MasterNames[masterPageName]);
currentDoc->setMasterPageMode(oldMode);
Py_RETURN_NONE;
}
开发者ID:luzpaz,项目名称:scribus,代码行数:27,代码来源:cmddoc.cpp
示例9: GetUniqueItem
PyObject *scribus_resizetablerow(PyObject* /* self */, PyObject* args)
{
char *Name = const_cast<char*>("");
int row;
double height;
if (!PyArg_ParseTuple(args, "id|es", &row, &height, "utf-8", &Name))
return nullptr;
if (!checkHaveDocument())
return nullptr;
PageItem *i = GetUniqueItem(QString::fromUtf8(Name));
if (i == nullptr)
return nullptr;
PageItem_Table *table = i->asTable();
if (!table)
{
PyErr_SetString(WrongFrameTypeError, QObject::tr("Cannot resize row on a non-table item.","python error").toLocal8Bit().constData());
return nullptr;
}
if (row < 0 || row >= table->rows())
{
PyErr_SetString(PyExc_ValueError, QObject::tr("Table row index out of bounds, must be >= 0 and < %1", "python error").arg(table->rows()).toLocal8Bit().constData());
return nullptr;
}
if (height <= 0.0)
{
PyErr_SetString(PyExc_ValueError, QObject::tr("Table row height must be > 0.0", "python error").toLocal8Bit().constData());
return nullptr;
}
table->resizeRow(row, height);
Py_RETURN_NONE;
}
开发者ID:luzpaz,项目名称:scribus,代码行数:31,代码来源:cmdtable.cpp
示例10: move
void ItemAPI::move(double dx, double dy)
{
if (!checkHaveDocument())
return;
if (item==NULL)
return;
// Grab the old selection - but use it only where is there any
Selection tempSelection(*ScCore->primaryMainWindow()->doc->m_Selection);
bool hadOrigSelection = (tempSelection.count() != 0);
ScCore->primaryMainWindow()->doc->m_Selection->clear();
// Clear the selection
ScCore->primaryMainWindow()->view->Deselect();
// Select the item, which will also select its group if
// there is one.
ScCore->primaryMainWindow()->view->SelectItem(item);
// Move the item, or items
if (ScCore->primaryMainWindow()->doc->m_Selection->count() > 1)
{
ScCore->primaryMainWindow()->view->startGroupTransaction(Um::Move, "", Um::IMove);
ScCore->primaryMainWindow()->doc->moveGroup(ValueToPoint(dx), ValueToPoint(dy));
ScCore->primaryMainWindow()->view->endGroupTransaction();
}
else
{
ScCore->primaryMainWindow()->doc->MoveItem(ValueToPoint(dx), ValueToPoint(dy), item);
}
// Now restore the selection.
ScCore->primaryMainWindow()->view->Deselect();
if (hadOrigSelection)
*ScCore->primaryMainWindow()->doc->m_Selection=tempSelection;
}
开发者ID:QuLogic,项目名称:scribus-plugin-scripter,代码行数:33,代码来源:api_item.cpp
示例11: PyBool_FromLong
static PyObject *ImageExport_saveAs(ImageExport *self, PyObject *args)
{
char* value;
if(!checkHaveDocument())
return NULL;
if (!PyArg_ParseTuple(args, const_cast<char*>("es"), "utf-8", &value))
return NULL;
/* a little magic here - I need to compute the "maxGr" value...
* We need to know the right size of the page for landscape,
* portrait and user defined sizes.
*/
double pixmapSize;
(ScCore->primaryMainWindow()->doc->pageHeight > ScCore->primaryMainWindow()->doc->pageWidth)
? pixmapSize = ScCore->primaryMainWindow()->doc->pageHeight
: pixmapSize = ScCore->primaryMainWindow()->doc->pageWidth;
QImage im = ScCore->primaryMainWindow()->view->PageToPixmap(ScCore->primaryMainWindow()->doc->currentPage()->pageNr(), qRound(pixmapSize * self->scale * (self->dpi / 72.0) / 100.0), false);
int dpi = qRound(100.0 / 2.54 * self->dpi);
im.setDotsPerMeterY(dpi);
im.setDotsPerMeterX(dpi);
if (!im.save(value, PyString_AsString(self->type)))
{
PyErr_SetString(ScribusException, QObject::tr("Failed to export image", "python error").toLocal8Bit().constData());
return NULL;
}
// Py_INCREF(Py_True); // return True not None for backward compat
// return Py_True;
// Py_RETURN_TRUE;
return PyBool_FromLong(static_cast<long>(true));
}
开发者ID:AlterScribus,项目名称:ece15,代码行数:30,代码来源:objimageexport.cpp
示例12: PyInt_FromLong
PyObject *scribus_glayerprint(PyObject* /* self */, PyObject* args)
{
char *Name = const_cast<char*>("");
if (!PyArg_ParseTuple(args, "es", "utf-8", &Name))
return NULL;
if(!checkHaveDocument())
return NULL;
if (Name == EMPTY_STRING)
{
PyErr_SetString(PyExc_ValueError, QObject::tr("Cannot have an empty layer name.","python error").toLocal8Bit().constData());
return NULL;
}
int i = 0;
bool found = false;
for (int lam=0; lam < ScCore->primaryMainWindow()->doc->Layers.count(); ++lam)
{
if (ScCore->primaryMainWindow()->doc->Layers[lam].Name == QString::fromUtf8(Name))
{
i = static_cast<int>(ScCore->primaryMainWindow()->doc->Layers[lam].isPrintable);
found = true;
break;
}
}
if (!found)
{
PyErr_SetString(NotFoundError, QObject::tr("Layer not found.","python error").toLocal8Bit().constData());
return NULL;
}
return PyInt_FromLong(static_cast<long>(i));
}
开发者ID:gyuris,项目名称:scribus,代码行数:30,代码来源:cmdmisc.cpp
示例13:
PyObject *scribus_setVguides(PyObject* /* self */, PyObject* args)
{
PyObject *l;
if (!PyArg_ParseTuple(args, "O", &l))
return NULL;
if(!checkHaveDocument())
return NULL;
if (!PyList_Check(l))
{
PyErr_SetString(PyExc_TypeError, QObject::tr("argument is not list: must be list of float values.","python error").toLocal8Bit().constData());
return NULL;
}
int i, n;
n = PyList_Size(l);
double guide;
ScCore->primaryMainWindow()->doc->currentPage()->guides.clearVerticals(GuideManagerCore::Standard);
for (i=0; i<n; i++)
{
if (!PyArg_Parse(PyList_GetItem(l, i), "d", &guide))
{
PyErr_SetString(PyExc_TypeError, QObject::tr("argument contains no-numeric values: must be list of float values.","python error").toLocal8Bit().constData());
return NULL;
}
ScCore->primaryMainWindow()->doc->currentPage()->guides.addVertical(ValueToPoint(guide), GuideManagerCore::Standard);
}
// Py_INCREF(Py_None);
// return Py_None;
Py_RETURN_NONE;
}
开发者ID:AlterScribus,项目名称:ece15,代码行数:29,代码来源:cmdpage.cpp
注:本文中的checkHaveDocument函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论