Core: support to load old project files containing image planes

See forum: https://forum.freecad.org/viewtopic.php?p=670545#p670545
This commit is contained in:
wmayer
2023-03-24 23:25:48 +01:00
committed by wwmayer
parent cdb47d2f4f
commit a2579ebb92
7 changed files with 33 additions and 17 deletions

View File

@@ -217,6 +217,18 @@ init_freecad_module(void)
return PyModule_Create(&FreeCADModuleDef);
}
PyMODINIT_FUNC
init_image_module()
{
static struct PyModuleDef ImageModuleDef = {
PyModuleDef_HEAD_INIT,
"Image", "", -1,
nullptr,
nullptr, nullptr, nullptr, nullptr
};
return PyModule_Create(&ImageModuleDef);
}
Application::Application(std::map<std::string,std::string> &mConfig)
: _mConfig(mConfig), _pActiveDoc(nullptr), _isRestoring(false),_allowPartial(false)
, _isClosingAll(false), _objCount(-1), _activeTransactionID(0)
@@ -254,6 +266,10 @@ void Application::setupPythonTypes()
};
PyObject* pConsoleModule = PyModule_Create(&ConsoleModuleDef);
// fake Image module
PyObject* imageModule = init_image_module();
PyDict_SetItemString(modules, "Image", imageModule);
// introducing additional classes
// NOTE: To finish the initialization of our own type objects we must
@@ -2054,7 +2070,7 @@ void Application::initTypes()
App::DocumentObjectGroup ::init();
App::DocumentObjectGroupPython ::init();
App::DocumentObjectFileIncluded::init();
App::ImagePlane ::init();
Image::ImagePlane ::init();
App::InventorObject ::init();
App::VRMLObject ::init();
App::Annotation ::init();