PyObject *scribus_settabletopborder(PyObject* /* self */, PyObject* args) { char *Name = const_cast<char*>(""); PyObject* borderLines; if (!PyArg_ParseTuple(args, "O|es", &borderLines, "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 set table top border on a non-table item.","python error").toLocal8Bit().constData()); return nullptr; } bool ok = false; TableBorder border = parseBorder(borderLines, &ok); if (ok) table->setTopBorder(border); else return nullptr; Py_RETURN_NONE; }
void PropertiesPalette_Table::updateBorders() { if (!m_doc || !m_item || !m_item->isTable()) return; PageItem_Table* table = m_item->asTable(); TableSideSelector::Sides selectedSides = sideSelector->selection(); m_doc->dontResize = true; if (m_doc->appMode != modeEditTable) { if (selectedSides & TableSideSelector::Left) table->setLeftBorder(m_currentBorder); if (selectedSides & TableSideSelector::Right) table->setRightBorder(m_currentBorder); if (selectedSides & TableSideSelector::Top) table->setTopBorder(m_currentBorder); if (selectedSides & TableSideSelector::Bottom) table->setBottomBorder(m_currentBorder); } else { TableCell cell = table->activeCell(); if (selectedSides & TableSideSelector::Left) cell.setLeftBorder(m_currentBorder); if (selectedSides & TableSideSelector::Right) cell.setRightBorder(m_currentBorder); if (selectedSides & TableSideSelector::Top) cell.setTopBorder(m_currentBorder); if (selectedSides & TableSideSelector::Bottom) cell.setBottomBorder(m_currentBorder); } table->adjustTable(); table->update(); }