#include "PartSet_MenuMgr.h"
#include "PartSet_CustomPrs.h"
#include "PartSet_IconFactory.h"
+#include "PartSet_WidgetChoice.h"
#include "PartSet_Filters.h"
#include "PartSet_FilterInfinite.h"
/// Restart sketcher operations automatically
if (!mySketchReentrantMgr->operationCommitted(theOperation)) {
- // the selection is cleared after commit the create operation
- // in order to do not use the same selected objects in the restarted operation
- // for common behaviour, the selection is cleared even if the operation is not restarted
- XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(workshop());
- XGUI_Workshop* aWorkshop = aConnector->workshop();
- aWorkshop->selector()->clearSelection();
+
+ ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
+ if (aFOperation && !aFOperation->isEditOperation()) {
+ // the selection is cleared after commit the create operation
+ // in order to do not use the same selected objects in the restarted operation
+ // for common behaviour, the selection is cleared even if the operation is not restarted
+ XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(workshop());
+ XGUI_Workshop* aWorkshop = aConnector->workshop();
+ aWorkshop->selector()->clearSelection();
+ }
}
}
myMenuMgr->updateViewerMenu(theStdActions);
}
-QString PartSet_Module::getFeatureError(const FeaturePtr& theFeature, const bool isCheckGUI)
+QString PartSet_Module::getFeatureError(const FeaturePtr& theFeature)
{
- QString anError = ModuleBase_IModule::getFeatureError(theFeature, isCheckGUI);
+ QString anError = ModuleBase_IModule::getFeatureError(theFeature);
if (anError.isEmpty())
- anError = sketchMgr()->getFeatureError(theFeature, isCheckGUI);
+ anError = sketchMgr()->getFeatureError(theFeature);
return anError;
}
aWgt = new PartSet_WidgetFileSelector(theParent, aWorkshop, theWidgetApi, theParentId);
} else if (theType == "sketch_launcher") {
aWgt = new PartSet_WidgetSketchCreator(theParent, this, theWidgetApi, theParentId);
+ } else if (theType == "module_choice") {
+ aWgt = new PartSet_WidgetChoice(theParent, theWidgetApi, theParentId);
+ connect(aWgt, SIGNAL(itemSelected(int)), SLOT(onBooleanOperationChange(int)));
}
return aWgt;
}
{
XGUI_ObjectsBrowser* aOB = dynamic_cast<XGUI_ObjectsBrowser*>(theObjectBrowser);
if (aOB) {
- QLineEdit* aLabel = aOB->activeDocLabel();
+ QLabel* aLabel = aOB->activeDocLabel();
+ aLabel->installEventFilter(myMenuMgr);
connect(aLabel, SIGNAL(customContextMenuRequested(const QPoint&)),
SLOT(onActiveDocPopup(const QPoint&)));
//QPalette aPalet = aLabel->palette();
XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
XGUI_Workshop* aWorkshop = aConnector->workshop();
- QLineEdit* aHeader = aWorkshop->objectBrowser()->activeDocLabel();
+ QLabel* aHeader = aWorkshop->objectBrowser()->activeDocLabel();
aActivatePartAction->setEnabled((aMgr->activeDocument() != aMgr->moduleDocument()));
XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
XGUI_Workshop* aWorkshop = aConnector->workshop();
XGUI_DataTree* aTreeView = aWorkshop->objectBrowser()->treeView();
- QLineEdit* aLabel = aWorkshop->objectBrowser()->activeDocLabel();
+ QLabel* aLabel = aWorkshop->objectBrowser()->activeDocLabel();
QPalette aPalet = aLabel->palette();
SessionPtr aMgr = ModelAPI_Session::get();
{
return mySketchReentrantMgr->processEnter(thePreviousAttributeID);
}
+
+
+//******************************************************
+void PartSet_Module::onBooleanOperationChange(int theOperation)
+{
+ ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
+ if (!aOperation)
+ return;
+ ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
+ switch (theOperation) {
+ case 0:
+ aPanel->setWindowTitle(tr("Cut"));
+ break;
+ case 1:
+ aPanel->setWindowTitle(tr("Fuse"));
+ break;
+ case 2:
+ aPanel->setWindowTitle(tr("Common"));
+ break;
+ }
+}