| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| |
|
| | #include <Base/Console.h> |
| | #include <Base/Interpreter.h> |
| | #include <Base/PyObjectBase.h> |
| | #include <Gui/Application.h> |
| | #include <Gui/Language/Translator.h> |
| | #include <Gui/WidgetFactory.h> |
| |
|
| | #include "DlgSettingsDefaultMaterial.h" |
| | #include "DlgSettingsMaterial.h" |
| | #include "Workbench.h" |
| | #include "WorkbenchManipulator.h" |
| | #include "MaterialTreeWidget.h" |
| | #include "MaterialTreeWidgetPy.h" |
| |
|
| | #if defined(BUILD_MATERIAL_EXTERNAL) |
| | #include "DlgSettingsExternal.h" |
| | #endif |
| |
|
| | |
| | void CreateMaterialCommands(); |
| |
|
| | void loadMaterialResource() |
| | { |
| | |
| | Q_INIT_RESOURCE(Material); |
| | Q_INIT_RESOURCE(Material_translation); |
| | Gui::Translator::instance()->refresh(); |
| | } |
| |
|
| | namespace MatGui |
| | { |
| | class Module: public Py::ExtensionModule<Module> |
| | { |
| | public: |
| | Module() |
| | : Py::ExtensionModule<Module>("MatGui") |
| | { |
| | initialize("This module is the MatGui module."); |
| | } |
| |
|
| | ~Module() = default; |
| |
|
| | private: |
| | }; |
| |
|
| | PyObject* initModule() |
| | { |
| | return Base::Interpreter().addModule(new Module); |
| | } |
| |
|
| | } |
| |
|
| | PyMOD_INIT_FUNC(MatGui) |
| | { |
| | if (!Gui::Application::Instance) { |
| | PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application."); |
| | PyMOD_Return(nullptr); |
| | } |
| |
|
| | |
| | try { |
| | Base::Interpreter().runString("import Materials"); |
| | } |
| | catch (const Base::Exception& e) { |
| | PyErr_SetString(PyExc_ImportError, e.what()); |
| | PyMOD_Return(nullptr); |
| | } |
| |
|
| | PyObject* matGuiModule = MatGui::initModule(); |
| |
|
| | Base::Console().log("Loading GUI of Material module… done\n"); |
| |
|
| | MatGui::Workbench ::init(); |
| | auto manip = std::make_shared<MatGui::WorkbenchManipulator>(); |
| | Gui::WorkbenchManipulator::installManipulator(manip); |
| |
|
| | |
| | CreateMaterialCommands(); |
| |
|
| | |
| | |
| | Gui::Dialog::DlgPreferencesImp::setGroupData("Material", |
| | "Material", |
| | QObject::tr("Material Workbench")); |
| | new Gui::PrefPageProducer<MatGui::DlgSettingsMaterial>( |
| | QT_TRANSLATE_NOOP("QObject", "Material")); |
| | new Gui::PrefPageProducer<MatGui::DlgSettingsDefaultMaterial>( |
| | QT_TRANSLATE_NOOP("QObject", "Material")); |
| | #if defined(BUILD_MATERIAL_EXTERNAL) |
| | new Gui::PrefPageProducer<MatGui::DlgSettingsExternal>( |
| | QT_TRANSLATE_NOOP("QObject", "Material")); |
| | #endif |
| |
|
| | |
| | loadMaterialResource(); |
| |
|
| | Base::Interpreter().addType(&MatGui::MaterialTreeWidgetPy::Type, |
| | matGuiModule, |
| | "MaterialTreeWidget"); |
| |
|
| |
|
| | |
| |
|
| | MatGui::MaterialTreeWidget::init(); |
| |
|
| | |
| | new Gui::WidgetProducer<MatGui::MaterialTreeWidget>; |
| |
|
| |
|
| | PyMOD_Return(matGuiModule); |
| | } |
| |
|