Undoes the modification of the isEdit state of operation using. The default value of the feature is set after the operation is started
return false;
}
-void ModuleBase_IOperation::setModelWidgets(const std::string& theXmlRepresentation,
+/*void ModuleBase_IOperation::setModelWidgets(const std::string& theXmlRepresentation,
QList<ModuleBase_ModelWidget*> theWidgets)
{
QList<ModuleBase_ModelWidget*>::const_iterator anIt = theWidgets.begin(), aLast = theWidgets.end();
QObject::connect(*anIt, SIGNAL(valuesChanged()), this, SLOT(storeCustomValue()));
}
getDescription()->setModelWidgets(theXmlRepresentation, theWidgets);
-}
+}*/
boost::shared_ptr<ModelAPI_Document> ModuleBase_IOperation::document() const
{
class ModelAPI_Document;
class ModuleBase_OperationDescription;
-class ModuleBase_ModelWidget;
+//class ModuleBase_ModelWidget;
/*!
\class ModuleBase_IOperation
/// Sets a list of model widgets, according to the operation feature xml definition
/// \param theXmlRepresentation an xml feature definition
/// \param theWidgets a list of widgets
- void setModelWidgets(const std::string& theXmlRepresentation,
- QList<ModuleBase_ModelWidget*> theWidgets);
+ //void setModelWidgets(const std::string& theXmlRepresentation,
+ // QList<ModuleBase_ModelWidget*> theWidgets);
signals:
void started(); /// the operation is started
if (aFeature) { // TODO: generate an error if feature was not created
aFeature->execute();
// Init default values
- QList<ModuleBase_ModelWidget*> aWidgets = getDescription()->modelWidgets();
+ /*QList<ModuleBase_ModelWidget*> aWidgets = getDescription()->modelWidgets();
QList<ModuleBase_ModelWidget*>::const_iterator anIt = aWidgets.begin(), aLast = aWidgets.end();
for (; anIt != aLast; anIt++) {
(*anIt)->storeValue(aFeature);
- }
+ }*/
}
if (theFlushMessage)
myDescription = theDescription;
}
-void ModuleBase_OperationDescription::setModelWidgets(const std::string& theXmlRepresentation,
+/*void ModuleBase_OperationDescription::setModelWidgets(const std::string& theXmlRepresentation,
const QList<ModuleBase_ModelWidget*>& theWidgets)
{
myWidgets.clear();
for (; anIt != aLast; anIt++)
myWidgets.push_back(*anIt);
myXmlRepresentation = theXmlRepresentation;
-}
+}*/
-const QList<ModuleBase_ModelWidget*>& ModuleBase_OperationDescription::modelWidgets() const
+/*const QList<ModuleBase_ModelWidget*>& ModuleBase_OperationDescription::modelWidgets() const
{
return myWidgets;
+}*/
+
+const QString& ModuleBase_OperationDescription::xmlRepresentation() const
+{
+ return myXmlRepresentation;
+}
+
+void ModuleBase_OperationDescription::setXmlRepresentation(const QString& theXMLRepresentation)
+{
+ myXmlRepresentation = theXMLRepresentation;
}
bool ModuleBase_OperationDescription::hasXmlRepresentation() const
{
- return !myWidgets.empty() || !myXmlRepresentation.empty();
+ return /*!myWidgets.empty() || */!myXmlRepresentation.isEmpty();
}
#include <memory>
-class ModuleBase_ModelWidget;
+//class ModuleBase_ModelWidget;
/*!
* \class ModuleBase_OperationDescription
/// Sets a list of model widgets, according to the operation feature xml definition
/// \param theWidgets a list of widgets
- void setModelWidgets(const std::string& theXmlRepresentation,
- const QList<ModuleBase_ModelWidget*>& theWidgets);
+ //void setModelWidgets(const std::string& theXmlRepresentation,
+ // const QList<ModuleBase_ModelWidget*>& theWidgets);
/// Sets a list of model widgets, according to the operation feature xml definition
/// \param theWidgets a list of widgets
- const QList<ModuleBase_ModelWidget*>& modelWidgets() const;
+ //const QList<ModuleBase_ModelWidget*>& modelWidgets() const;
+
+ /// Returns XML representation of the operation's widget.
+ /// \return XML QString
+ const QString& xmlRepresentation() const;
+
+ /// Sets XML representation of the operation's widget.
+ /// \param theXMLRepresentation - XML QString
+ void setXmlRepresentation(const QString& theXMLRepresentation);
/// Returns true if there are no model widgets
/// \return the boolean value
//!< Next fields could be extracted into a subclass;
QString myOperationId; /// the operation identifier
QString myDescription; /// the short description of the opertaion
- std::string myXmlRepresentation; /// the xml definition
- QList<ModuleBase_ModelWidget*> myWidgets; /// the list of operation widgets
+ QString myXmlRepresentation; /// the xml definition
+ //QList<ModuleBase_ModelWidget*> myWidgets; /// the list of operation widgets
};
#endif //ModuleBase_OperationDescription_H
std::string aXmlCfg = aWdgReader.featureWidgetCfg(aFeatureKind);
std::string aDescription = aWdgReader.featureDescription(aFeatureKind);
- QString aXmlRepr = QString::fromStdString(aXmlCfg);
- ModuleBase_WidgetFactory aFactory = ModuleBase_WidgetFactory(aXmlRepr.toStdString(),
- myWorkshop->moduleConnector());
- QWidget* aContent = myWorkshop->propertyPanel()->contentWidget();
- qDeleteAll(aContent->children());
- aFactory.createWidget(aContent);
+ //QString aXmlRepr = QString::fromStdString(aXmlCfg);
+ //ModuleBase_WidgetFactory aFactory = ModuleBase_WidgetFactory(aXmlRepr.toStdString(),
+ // myWorkshop->moduleConnector());
+ //QWidget* aContent = myWorkshop->propertyPanel()->contentWidget();
+ //qDeleteAll(aContent->children());
+ //aFactory.createWidget(aContent);
anOperation->getDescription()->setDescription(QString::fromStdString(aDescription));
+ anOperation->getDescription()->setXmlRepresentation(QString::fromStdString(aXmlCfg));
- anOperation->setModelWidgets(aXmlRepr.toStdString(), aFactory.getModelWidgets());
+ //anOperation->setModelWidgets(aXmlRepr.toStdString(), aFactory.getModelWidgets());
// connect the operation
PartSet_OperationSketchBase* aPreviewOp = dynamic_cast<PartSet_OperationSketchBase*>(anOperation);
//An operation passed by message. Start it, process and commit.
const Config_PointerMessage* aPartSetMsg = dynamic_cast<const Config_PointerMessage*>(theMessage);
if (aPartSetMsg) {
- // TODO: Clear previous content
- //myPropertyPanel->cleanContent();
+ myPropertyPanel->cleanContent();
ModuleBase_Operation* anOperation =
(ModuleBase_Operation*)(aPartSetMsg->pointer());
connectWithOperation(aOperation);
showPropertyPanel();
- // TODO: Clear previous content
- /*
QString aXmlRepr = aOperation->getDescription()->xmlRepresentation();
ModuleBase_WidgetFactory aFactory = ModuleBase_WidgetFactory(aXmlRepr.toStdString(), myModuleConnector);
QWidget* aContent = myPropertyPanel->contentWidget();
qDeleteAll(aContent->children());
aFactory.createWidget(aContent);
- myPropertyPanel->setModelWidgets(aFactory.getModelWidgets());
- */
- myPropertyPanel->setModelWidgets(aOperation->getDescription()->modelWidgets());
+
+ QList<ModuleBase_ModelWidget*> aWidgets = aFactory.getModelWidgets();
+ QList<ModuleBase_ModelWidget*>::const_iterator anIt = aWidgets.begin(), aLast = aWidgets.end();
+ ModuleBase_ModelWidget* aWidget;
+ for (; anIt != aLast; anIt++) {
+ aWidget = *anIt;
+ QObject::connect(aWidget, SIGNAL(valuesChanged()), aOperation, SLOT(storeCustomValue()));
+ // Init default values
+ if (!aOperation->isEditOperation()) {
+ aWidget->storeValue(aOperation->feature());
+ }
+ }
+
+ myPropertyPanel->setModelWidgets(aWidgets);
myPropertyPanel->setWindowTitle(aOperation->getDescription()->description());
}
updateCommandStatus();