From e8eef1dfcb742ef80152b2481448b9d25de5e1f1 Mon Sep 17 00:00:00 2001 From: Eivind Kvedalen Date: Sat, 16 Jan 2016 00:25:21 +0100 Subject: [PATCH] Spreadsheet: Issue #2402: Added getAlias function. --- src/Mod/Spreadsheet/App/SheetPy.xml | 5 +++++ src/Mod/Spreadsheet/App/SheetPyImp.cpp | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/Mod/Spreadsheet/App/SheetPy.xml b/src/Mod/Spreadsheet/App/SheetPy.xml index e9bfaff9c73d..56b6b38cb067 100644 --- a/src/Mod/Spreadsheet/App/SheetPy.xml +++ b/src/Mod/Spreadsheet/App/SheetPy.xml @@ -110,6 +110,11 @@ Set alias for cell address + + + Get alias for cell address + + Get cell address given an alias diff --git a/src/Mod/Spreadsheet/App/SheetPyImp.cpp b/src/Mod/Spreadsheet/App/SheetPyImp.cpp index 25b72a5c64ab..9b65085e6bdc 100644 --- a/src/Mod/Spreadsheet/App/SheetPyImp.cpp +++ b/src/Mod/Spreadsheet/App/SheetPyImp.cpp @@ -473,6 +473,31 @@ PyObject* SheetPy::setAlias(PyObject *args) } } +PyObject* SheetPy::getAlias(PyObject *args) +{ + const char * strAddress; + + if (!PyArg_ParseTuple(args, "s:getAlias", &strAddress)) + return 0; + + try { + CellAddress address(strAddress); + const Cell * cell = getSheetPtr()->getCell(address); + std::string alias; + + if (cell && cell->getAlias(alias)) + return Py::new_reference_to( Py::String( alias ) ); + else { + Py_INCREF(Py_None); + return Py_None; + } + } + catch (const Base::Exception & e) { + PyErr_SetString(PyExc_ValueError, e.what()); + return 0; + } +} + PyObject* SheetPy::getCellFromAlias(PyObject *args) { const char * alias;