From a9ee8d4ffbc4c4b7ec8fdbfe1fba82caf081fe8a Mon Sep 17 00:00:00 2001 From: Chris Hennes Date: Sun, 14 Nov 2021 23:41:13 -0600 Subject: [PATCH] Spreadsheet: Remove unnecessary functions & files Remove functions from they Python code for ViewProviderSpreadsheet that are now in SheetView, and eliminate the unneded files for SheetView now that it's being generated by hand to facilitate pseudo-inheritance. --- src/Mod/Spreadsheet/Gui/CMakeLists.txt | 3 - src/Mod/Spreadsheet/Gui/SpreadsheetViewPy.xml | 23 ------ .../Spreadsheet/Gui/SpreadsheetViewPyImp.cpp | 32 -------- .../Gui/ViewProviderSpreadsheetPy.xml | 26 ------- .../Gui/ViewProviderSpreadsheetPyImp.cpp | 77 ------------------- 5 files changed, 161 deletions(-) delete mode 100644 src/Mod/Spreadsheet/Gui/SpreadsheetViewPy.xml delete mode 100644 src/Mod/Spreadsheet/Gui/SpreadsheetViewPyImp.cpp diff --git a/src/Mod/Spreadsheet/Gui/CMakeLists.txt b/src/Mod/Spreadsheet/Gui/CMakeLists.txt index 61ff766fa2..cbffc4e9b3 100644 --- a/src/Mod/Spreadsheet/Gui/CMakeLists.txt +++ b/src/Mod/Spreadsheet/Gui/CMakeLists.txt @@ -8,12 +8,10 @@ include_directories( ${XercesC_INCLUDE_DIRS} ) -generate_from_xml(SpreadsheetViewPy) generate_from_xml(ViewProviderSpreadsheetPy) # The XML files set(SpreadsheetGui_XML_SRCS - SpreadsheetViewPy.xml ViewProviderSpreadsheetPy.xml ) @@ -77,7 +75,6 @@ SET(SpreadsheetGui_SRCS Resources/Spreadsheet.qrc SpreadsheetView.cpp SpreadsheetView.h - SpreadsheetViewPyImp.cpp SpreadsheetDelegate.h SpreadsheetDelegate.cpp SheetTableView.cpp diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetViewPy.xml b/src/Mod/Spreadsheet/Gui/SpreadsheetViewPy.xml deleted file mode 100644 index 618ddfa7b4..0000000000 --- a/src/Mod/Spreadsheet/Gui/SpreadsheetViewPy.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - SpreadsheetView object - - - - returns the sheet being displayed - - - - - diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetViewPyImp.cpp b/src/Mod/Spreadsheet/Gui/SpreadsheetViewPyImp.cpp deleted file mode 100644 index 08b47d8e5d..0000000000 --- a/src/Mod/Spreadsheet/Gui/SpreadsheetViewPyImp.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include "PreCompiled.h" - -#include "SpreadsheetViewPy.h" -#include "SpreadsheetViewPy.cpp" -#include "ui_Sheet.h" - -#include - -using namespace SpreadsheetGui; - -PyObject* SpreadsheetViewPy::getSheet(PyObject *args) -{ - if (!PyArg_ParseTuple(args, "")) - return nullptr; - return new Spreadsheet::SheetPy(getSheetViewPtr()->getSheet()); -} - -// returns a string which represents the object e.g. when printed in python -std::string SpreadsheetViewPy::representation(void) const -{ - return std::string(""); -} - -PyObject *SpreadsheetViewPy::getCustomAttributes(const char* /*attr*/) const -{ - return 0; -} - -int SpreadsheetViewPy::setCustomAttributes(const char* /*attr*/, PyObject* /*obj*/) -{ - return 0; -} diff --git a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPy.xml b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPy.xml index d14f891c03..2434e12d36 100644 --- a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPy.xml +++ b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPy.xml @@ -15,32 +15,6 @@ ViewProviderSheet class - - - returns a list with the selected ranges of cells - - - - - returns a list with the selected cells - - - - - select(index, flags): Select the specified cell using the given QItemSelectionModel.SelectionFlag set -select(topLeft, bottomRight, flags): Select the specified range using the given QItemSelectionModel.SelectionFlag set - - - - - Get the current active cell - - - - - Set the current active cell - - Get access to the sheet view diff --git a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPyImp.cpp b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPyImp.cpp index bea7958ee6..12ba9d5684 100644 --- a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPyImp.cpp +++ b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheetPyImp.cpp @@ -14,83 +14,6 @@ std::string ViewProviderSpreadsheetPy::representation(void) const return std::string(""); } - -PyObject* ViewProviderSpreadsheetPy::selectedRanges(PyObject* /*obj*/) -{ - ViewProviderSheet* vp = this->getViewProviderSheetPtr(); - SheetView *sheetView = vp->getView(); - std::vector ranges = sheetView->selectedRanges(); - Py::List list; - for (const auto &range : ranges) - { - list.append(Py::String(range.rangeString())); - } - - return Py::new_reference_to(list); -} - -PyObject* ViewProviderSpreadsheetPy::selectedCells(PyObject* /*obj*/) -{ - ViewProviderSheet* vp = this->getViewProviderSheetPtr(); - SheetView *sheetView = vp->getView(); - QModelIndexList cells = sheetView->selectedIndexes(); - Py::List list; - for (const auto &cell : cells) { - list.append(Py::String(App::CellAddress(cell.row(), cell.column()).toString())); - } - - return Py::new_reference_to(list); -} - -PyObject* ViewProviderSpreadsheetPy::select(PyObject* _args) -{ - ViewProviderSheet* vp = this->getViewProviderSheetPtr(); - SheetView* sheetView = vp->getView(); - - Py::Sequence args(_args); - - const char* cell; - const char* topLeft; - const char* bottomRight; - int flags = 0; - if (args.size() == 2 && PyArg_ParseTuple(_args, "si", &cell, &flags)) { - sheetView->select(App::CellAddress(cell), static_cast(flags)); - } - else if (args.size() == 3 && PyArg_ParseTuple(_args, "ssi", &topLeft, &bottomRight, &flags)) { - sheetView->select(App::CellAddress(topLeft), App::CellAddress(bottomRight), static_cast(flags)); - } - else { - if (args.size() == 2) - throw Base::TypeError("Expects the arguments to be a cell name (e.g. 'A1') and QItemSelectionModel.SelectionFlags"); - else if (args.size() == 3) - throw Base::TypeError("Expects the arguments to be a cell name (e.g. 'A1'), a second cell name (e.g. 'B5'), and QItemSelectionModel.SelectionFlags"); - else - throw Base::TypeError("Wrong arguments to select: specify either a cell, or two cells (for a range), and QItemSelectionModel.SelectionFlags"); - } - Py_RETURN_NONE; -} - -PyObject* ViewProviderSpreadsheetPy::currentIndex(PyObject* /*_args*/) -{ - ViewProviderSheet* vp = this->getViewProviderSheetPtr(); - SheetView* sheetView = vp->getView(); - auto index = sheetView->currentIndex(); - Py::String str(App::CellAddress(index.row(), index.column()).toString()); - return Py::new_reference_to(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)); - } - Py_RETURN_NONE; -} - PyObject* ViewProviderSpreadsheetPy::getView(PyObject* args) { if (!PyArg_ParseTuple(args, ""))