-#ifndef ModuleBase_IModule_H
-#define ModuleBase_IModule_H
-
-#include <QString>
-#include <QObject>
-
-class QAction;
-class XGUI_Workshop;
-
-/**
-* Interface to a module
-*/
-class ModuleBase_IModule: public QObject
-{
-public:
- /// Reads description of features from XML file
- virtual void createFeatures() = 0;
-
- /// Called on creation of menu item in desktop
- virtual void featureCreated(QAction*) = 0;
-
- /// Creates an operation and send it to loop
- /// \param theCmdId the operation name
- virtual void launchOperation(const QString& theCmdId) = 0;
-
- /// Called when it is necessary to update a command state (enable or disable it)
- virtual bool isFeatureEnabled(const QString& theCmdId) const = 0;
-
- virtual ~ModuleBase_IModule() {};
-};
-
-//! This function must return a new module instance.
-extern "C"
-{
-typedef ModuleBase_IModule* (*CREATE_FUNC)(XGUI_Workshop*);
-}
-
-#define CREATE_MODULE "createModule"
-
-#endif //ModuleBase_IModule
+#ifndef ModuleBase_IModule_H\r
+#define ModuleBase_IModule_H\r
+\r
+#include <QString>\r
+#include <QObject>\r
+\r
+class QAction;\r
+class XGUI_Workshop;\r
+class Config_WidgetAPI;\r
+class ModuleBase_ModelWidget;\r
+\r
+/**\r
+ * Interface to a module\r
+ */\r
+class ModuleBase_IModule : public QObject\r
+{\r
+ public:\r
+ /// Reads description of features from XML file \r
+ virtual void createFeatures() = 0;\r
+\r
+ /// Called on creation of menu item in desktop\r
+ virtual void featureCreated(QAction*) = 0;\r
+\r
+ /// Creates an operation and send it to loop\r
+ /// \param theCmdId the operation name\r
+ virtual void launchOperation(const QString& theCmdId) = 0;\r
+\r
+ /// Called when it is necessary to update a command state (enable or disable it)\r
+ //virtual bool isFeatureEnabled(const QString& theCmdId) const = 0;\r
+\r
+ /// Creates custom widgets for property panel\r
+ virtual QWidget* createWidgetByType(const std::string& theType, QWidget* theParent,\r
+ Config_WidgetAPI* theWidgetApi,\r
+ QList<ModuleBase_ModelWidget*>& theModelWidgets)\r
+ {\r
+ return 0;\r
+ }\r
+\r
+ virtual ~ModuleBase_IModule()\r
+ {\r
+ }\r
+ ;\r
+};\r
+\r
+//! This function must return a new module instance.\r
+extern "C" {\r
+typedef ModuleBase_IModule* (*CREATE_FUNC)(XGUI_Workshop*);\r
+}\r
+\r
+#define CREATE_MODULE "createModule"\r
+\r
+#endif //ModuleBase_IModule\r
\ No newline at end of file