Spreadsheet: Expose currentIndex to Python

This commit is contained in:
Chris Hennes
2021-11-12 22:53:42 -06:00
parent e27270e615
commit 48f4277477
5 changed files with 42 additions and 4 deletions

View File

@@ -48,7 +48,6 @@ PyObject* ViewProviderSpreadsheetPy::select(PyObject* _args)
{
ViewProviderSheet* vp = this->getViewProviderSheetPtr();
SheetView* sheetView = vp->getView();
Spreadsheet::Sheet* sheet = sheetView->getSheet();
Py::Sequence args(_args);
@@ -73,6 +72,28 @@ PyObject* ViewProviderSpreadsheetPy::select(PyObject* _args)
return Py_None;
}
PyObject* ViewProviderSpreadsheetPy::currentIndex(PyObject* _args)
{
ViewProviderSheet* vp = this->getViewProviderSheetPtr();
SheetView* sheetView = vp->getView();
auto index = sheetView->currentIndex();
PyObject* py_str = PyUnicode_FromString(
App::CellAddress(index.row(), index.column()).toString().c_str());
return py_str;
}
PyObject* ViewProviderSpreadsheetPy::setCurrentIndex(PyObject* args)
{
ViewProviderSheet* vp = this->getViewProviderSheetPtr();
SheetView* sheetView = vp->getView();
const char* cell;
if (PyArg_ParseTuple(args, "s", &cell)) {
sheetView->setCurrentIndex(App::CellAddress(cell));
}
return Py_None;
}
PyObject *ViewProviderSpreadsheetPy::getCustomAttributes(const char* /*attr*/) const
{
return nullptr;