Files
create/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPyImp.cpp
2021-11-12 13:31:05 -06:00

57 lines
1.5 KiB
C++

#include "PreCompiled.h"
#include "ViewProviderSpreadsheetPy.h"
#include "ViewProviderSpreadsheetPy.cpp"
#include "SpreadsheetView.h"
using namespace SpreadsheetGui;
// returns a string which represents the object e.g. when printed in python
std::string ViewProviderSpreadsheetPy::representation(void) const
{
return std::string("<ViewProviderSpreadsheet object>");
}
PyObject* ViewProviderSpreadsheetPy::selectedRanges(PyObject* /*obj*/)
{
ViewProviderSheet* vp = this->getViewProviderSheetPtr();
SheetView *sheetView = vp->getView();
std::vector<App::Range> ranges = sheetView->selectedRanges();
PyObject *out = PyList_New(0);
for (const auto &range : ranges)
{
PyObject *py_str = PyUnicode_FromString(range.rangeString().c_str());
PyList_Append(out, py_str);
}
return out;
}
PyObject* ViewProviderSpreadsheetPy::selectedCells(PyObject* /*obj*/)
{
ViewProviderSheet* vp = this->getViewProviderSheetPtr();
SheetView *sheetView = vp->getView();
QModelIndexList cells = sheetView->selectedIndexes();
PyObject *out = PyList_New(0);
for (const auto &cell : cells) {
PyObject *py_str = PyUnicode_FromString(
App::CellAddress(cell.row(), cell.column()).toString().c_str());
PyList_Append(out, py_str);
}
return out;
}
PyObject *ViewProviderSpreadsheetPy::getCustomAttributes(const char* /*attr*/) const
{
return nullptr;
}
int ViewProviderSpreadsheetPy::setCustomAttributes(const char* /*attr*/, PyObject* /*obj*/)
{
return 0;
}