Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Clean Property panel before starting of a new operation.
[modules/shaper.git]
/
src
/
XGUI
/
XGUI_Workshop.cpp
diff --git
a/src/XGUI/XGUI_Workshop.cpp
b/src/XGUI/XGUI_Workshop.cpp
index e075762aebfda8440c83f59f9fa34d092d56c374..cdf0c42a5cf06512e9937562b8755867ebcaa84d 100644
(file)
--- a/
src/XGUI/XGUI_Workshop.cpp
+++ b/
src/XGUI/XGUI_Workshop.cpp
@@
-20,6
+20,7
@@
#include "XGUI_ViewerProxy.h"
#include "XGUI_PropertyPanel.h"
#include "XGUI_ContextMenuMgr.h"
#include "XGUI_ViewerProxy.h"
#include "XGUI_PropertyPanel.h"
#include "XGUI_ContextMenuMgr.h"
+#include "XGUI_ModuleConnector.h"
#include <Model_Events.h>
#include <ModelAPI_PluginManager.h>
#include <Model_Events.h>
#include <ModelAPI_PluginManager.h>
@@
-28,6
+29,8
@@
#include <ModelAPI_AttributeDocRef.h>
#include <ModelAPI_Object.h>
#include <ModelAPI_AttributeDocRef.h>
#include <ModelAPI_Object.h>
+#include <PartSetPlugin_Part.h>
+
#include <Events_Loop.h>
#include <Events_Error.h>
#include <ModuleBase_Operation.h>
#include <Events_Loop.h>
#include <Events_Error.h>
#include <ModuleBase_Operation.h>
@@
-91,6
+94,8
@@
XGUI_Workshop::XGUI_Workshop(XGUI_SalomeConnector* theConnector)
this, SLOT(onContextMenuCommand(const QString&, bool)));
myViewerProxy = new XGUI_ViewerProxy(this);
this, SLOT(onContextMenuCommand(const QString&, bool)));
myViewerProxy = new XGUI_ViewerProxy(this);
+
+ myModuleConnector = new XGUI_ModuleConnector(this);
connect(myOperationMgr, SIGNAL(operationStarted()), SLOT(onOperationStarted()));
connect(myOperationMgr, SIGNAL(operationResumed()), SLOT(onOperationStarted()));
connect(myOperationMgr, SIGNAL(operationStarted()), SLOT(onOperationStarted()));
connect(myOperationMgr, SIGNAL(operationResumed()), SLOT(onOperationStarted()));
@@
-225,7
+230,7
@@
void XGUI_Workshop::processEvent(const Events_Message* theMessage)
bool aHasPart = false;
for (aIt = aFeatures.begin(); aIt != aFeatures.end(); ++aIt) {
FeaturePtr aFeature = (*aIt);
bool aHasPart = false;
for (aIt = aFeatures.begin(); aIt != aFeatures.end(); ++aIt) {
FeaturePtr aFeature = (*aIt);
- if (aFeature->getKind() ==
"Part"
) {
+ if (aFeature->getKind() ==
PARTSET_PART_KIND
) {
aHasPart = true;
break;
}
aHasPart = true;
break;
}
@@
-259,6
+264,8
@@
void XGUI_Workshop::processEvent(const Events_Message* theMessage)
//An operation passed by message. Start it, process and commit.
const Config_PointerMessage* aPartSetMsg = dynamic_cast<const Config_PointerMessage*>(theMessage);
if (aPartSetMsg) {
//An operation passed by message. Start it, process and commit.
const Config_PointerMessage* aPartSetMsg = dynamic_cast<const Config_PointerMessage*>(theMessage);
if (aPartSetMsg) {
+ // Clear previous content
+ myPropertyPanel->cleanContent();
ModuleBase_Operation* anOperation =
(ModuleBase_Operation*)(aPartSetMsg->pointer());
ModuleBase_Operation* anOperation =
(ModuleBase_Operation*)(aPartSetMsg->pointer());
@@
-275,9
+282,6
@@
void XGUI_Workshop::processEvent(const Events_Message* theMessage)
const Events_Error* anAppError = dynamic_cast<const Events_Error*>(theMessage);
if (anAppError) {
emit errorOccurred(QString::fromLatin1(anAppError->description()));
const Events_Error* anAppError = dynamic_cast<const Events_Error*>(theMessage);
if (anAppError) {
emit errorOccurred(QString::fromLatin1(anAppError->description()));
- myErrorDlg->show();
- myErrorDlg->raise();
- myErrorDlg->activateWindow();
}
}
}
}
@@
-292,7
+296,7
@@
void XGUI_Workshop::onOperationStarted()
showPropertyPanel();
showPropertyPanel();
- ModuleBase_WidgetFactory aFactory = ModuleBase_WidgetFactory(aOperation);
+ ModuleBase_WidgetFactory aFactory = ModuleBase_WidgetFactory(aOperation
, myModuleConnector
);
QWidget* aContent = myPropertyPanel->contentWidget();
qDeleteAll(aContent->children());
aFactory.createWidget(aContent);
QWidget* aContent = myPropertyPanel->contentWidget();
qDeleteAll(aContent->children());
aFactory.createWidget(aContent);
@@
-336,8
+340,8
@@
void XGUI_Workshop::addFeature(const Config_FeatureMessage* theMessage)
QString::fromStdString(theMessage->tooltip()),
QIcon(theMessage->icon().c_str()),
QKeySequence(), isUsePropPanel);
QString::fromStdString(theMessage->tooltip()),
QIcon(theMessage->icon().c_str()),
QKeySequence(), isUsePropPanel);
- myActionsMgr->addCommand(aAction);
salomeConnector()->setNestedActions(aId, aNestedFeatures.split(" "));
salomeConnector()->setNestedActions(aId, aNestedFeatures.split(" "));
+ myActionsMgr->addCommand(aAction);
myPartSetModule->featureCreated(aAction);
} else {
myPartSetModule->featureCreated(aAction);
} else {
@@
-740,7
+744,7
@@
void XGUI_Workshop::changeCurrentDocument(FeaturePtr thePart)
PluginManagerPtr aMgr = ModelAPI_PluginManager::get();
if (thePart) {
DocumentPtr aFeaDoc;
PluginManagerPtr aMgr = ModelAPI_PluginManager::get();
if (thePart) {
DocumentPtr aFeaDoc;
- if (
thePart->data(
)) {
+ if (
!XGUI_Tools::isModelObject(thePart
)) {
aFeaDoc = thePart->data()->docRef("PartDocument")->value();
} else {
ObjectPtr aObject = boost::dynamic_pointer_cast<ModelAPI_Object>(thePart);
aFeaDoc = thePart->data()->docRef("PartDocument")->value();
} else {
ObjectPtr aObject = boost::dynamic_pointer_cast<ModelAPI_Object>(thePart);
@@
-776,6
+780,10
@@
void XGUI_Workshop::onContextMenuCommand(const QString& theId, bool isChecked)
activatePart(FeaturePtr());
else if (theId == "DELETE_CMD")
deleteFeatures(aFeatures);
activatePart(FeaturePtr());
else if (theId == "DELETE_CMD")
deleteFeatures(aFeatures);
+ else if (theId == "SHOW_CMD")
+ showFeatures(aFeatures, true);
+ else if (theId == "HIDE_CMD")
+ showFeatures(aFeatures, false);
}
//**************************************************************
}
//**************************************************************
@@
-805,9
+813,9
@@
void XGUI_Workshop::deleteFeatures(QFeatureList theList)
PluginManagerPtr aMgr = ModelAPI_PluginManager::get();
aMgr->rootDocument()->startOperation();
foreach (FeaturePtr aFeature, theList) {
PluginManagerPtr aMgr = ModelAPI_PluginManager::get();
aMgr->rootDocument()->startOperation();
foreach (FeaturePtr aFeature, theList) {
- if (aFeature->getKind() ==
"Part"
) {
+ if (aFeature->getKind() ==
PARTSET_PART_KIND
) {
DocumentPtr aDoc;
DocumentPtr aDoc;
- if (
aFeature->data(
)) {
+ if (
!XGUI_Tools::isModelObject(aFeature
)) {
aDoc = aFeature->data()->docRef("PartDocument")->value();
} else {
ObjectPtr aObject = boost::dynamic_pointer_cast<ModelAPI_Object>(aFeature);
aDoc = aFeature->data()->docRef("PartDocument")->value();
} else {
ObjectPtr aObject = boost::dynamic_pointer_cast<ModelAPI_Object>(aFeature);
@@
-818,7
+826,7
@@
void XGUI_Workshop::deleteFeatures(QFeatureList theList)
aDoc->close();
}
} else {
aDoc->close();
}
} else {
- if (
!aFeature->data(
)) {
+ if (
XGUI_Tools::isModelObject(aFeature
)) {
ObjectPtr aObject = boost::dynamic_pointer_cast<ModelAPI_Object>(aFeature);
aFeature = aObject->featureRef();
}
ObjectPtr aObject = boost::dynamic_pointer_cast<ModelAPI_Object>(aFeature);
aFeature = aObject->featureRef();
}
@@
-828,3
+836,10
@@
void XGUI_Workshop::deleteFeatures(QFeatureList theList)
aMgr->rootDocument()->finishOperation();
}
}
aMgr->rootDocument()->finishOperation();
}
}
+
+//**************************************************************
+void XGUI_Workshop::showFeatures(QFeatureList theList, bool isVisible)
+{
+// foreach (FeaturePtr aFeature, theList) {
+// }
+}