diff --git a/src/Mod/Spreadsheet/Gui/CMakeLists.txt b/src/Mod/Spreadsheet/Gui/CMakeLists.txt
index 26f707ada8..cfaf5cba91 100644
--- a/src/Mod/Spreadsheet/Gui/CMakeLists.txt
+++ b/src/Mod/Spreadsheet/Gui/CMakeLists.txt
@@ -8,6 +8,13 @@ include_directories(
${XercesC_INCLUDE_DIRS}
)
+generate_from_xml(SpreadsheetViewPy)
+
+# The XML files
+set(SpreadsheetGui_XML_SRCS
+ SpreadsheetViewPy.xml
+)
+
set(SpreadsheetGui_LIBS
Spreadsheet
FreeCADGui
@@ -54,6 +61,7 @@ endif()
SET(SpreadsheetGui_SRCS
${SpreadsheetGui_QRC_SRCS}
+ ${SpreadsheetGui_XML_SRCS}
AppSpreadsheetGui.cpp
Command.cpp
LineEdit.h
@@ -63,6 +71,7 @@ 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/SpreadsheetView.cpp b/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp
index cac8a3a8f6..1bd97d7af6 100644
--- a/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp
+++ b/src/Mod/Spreadsheet/Gui/SpreadsheetView.cpp
@@ -52,6 +52,7 @@
#include "qtcolorpicker.h"
#include "SpreadsheetView.h"
+#include "SpreadsheetViewPy.h"
#include "SpreadsheetDelegate.h"
#include "ui_Sheet.h"
@@ -444,7 +445,11 @@ QModelIndex SheetView::currentIndex() const
PyObject *SheetView::getPyObject()
{
- return Gui::MDIView::getPyObject();
+ if (!pythonObject)
+ pythonObject = new SpreadsheetViewPy(this);
+
+ Py_INCREF(pythonObject);
+ return pythonObject;
}
void SheetView::deleteSelf()
diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetViewPy.xml b/src/Mod/Spreadsheet/Gui/SpreadsheetViewPy.xml
new file mode 100644
index 0000000000..618ddfa7b4
--- /dev/null
+++ b/src/Mod/Spreadsheet/Gui/SpreadsheetViewPy.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+ SpreadsheetView object
+
+
+
+ returns the sheet being displayed
+
+
+
+
+
diff --git a/src/Mod/Spreadsheet/Gui/SpreadsheetViewPyImp.cpp b/src/Mod/Spreadsheet/Gui/SpreadsheetViewPyImp.cpp
new file mode 100644
index 0000000000..d4a6c0e9e1
--- /dev/null
+++ b/src/Mod/Spreadsheet/Gui/SpreadsheetViewPyImp.cpp
@@ -0,0 +1,31 @@
+#include "PreCompiled.h"
+
+#include "SpreadsheetViewPy.h"
+#include "SpreadsheetViewPy.cpp"
+
+#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;
+}