#include <GeomValidators_ZeroOffset.h>
#include <GeomValidators_BooleanArguments.h>
#include <GeomValidators_Different.h>
+#include <GeomValidators_PartitionArguments.h>
#include <ModelAPI_Object.h>
aFactory->registerValidator("GeomValidators_Different",
new GeomValidators_Different);
+
+ aFactory->registerValidator("GeomValidators_PartitionArguments",
+ new GeomValidators_PartitionArguments);
}
void PartSet_Module::registerFilters()
void PartSet_Module::clearViewer()
{
myCustomPrs->clearPrs();
+
+ XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
+ XGUI_Workshop* aWorkshop = aConnector->workshop();
+ XGUI_Displayer* aDisplayer = aWorkshop->displayer();
+ aDisplayer->deactivateSelectionFilters();
}
void PartSet_Module::propertyPanelDefined(ModuleBase_Operation* theOperation)
// if the operation is panning or rotate or panglobal then do nothing
if ((theTrsfType == 1) || (theTrsfType == 3) || (theTrsfType == 4))
return;
-
ModuleBase_IViewer* aViewer = myWorkshop->viewer();
+ Handle(AIS_InteractiveContext) aContext = aViewer->AISContext();
+ if (aContext.IsNull())
+ return;
+
//Handle(V3d_View) aView = aViewer->activeView();
XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
XGUI_Workshop* aWorkshop = aConnector->workshop();
XGUI_Displayer* aDisplayer = aWorkshop->displayer();
- Handle(AIS_InteractiveContext) aContext = aViewer->AISContext();
- if (aContext.IsNull())
- return;
-
Handle(V3d_Viewer) aV3dViewer = aContext->CurrentViewer();
Handle(V3d_View) aView;
double aScale = 0;
{
// z layer is created for all started operations in order to visualize operation AIS presentation
// over the object
- Handle(V3d_Viewer) aViewer = myWorkshop->viewer()->AISContext()->CurrentViewer();
+ Handle(AIS_InteractiveContext) aContext = myWorkshop->viewer()->AISContext();
+ if (aContext.IsNull())
+ return;
+
+ Handle(V3d_Viewer) aViewer = aContext->CurrentViewer();
if (myVisualLayerId == 0) {
if (myVisualLayerId == 0)
aViewer->AddZLayer(myVisualLayerId);
if (!aFound)
aViewer->AddZLayer(myVisualLayerId);
}
+ // if there is an active operation with validated widget,
+ // the filters of this widget should be activated in the created view
+ ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
+ if (aOperation) {
+ ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
+ ModuleBase_ModelWidget* anActiveWidget = aPanel->activeWidget();
+ if (anActiveWidget) {
+ ModuleBase_WidgetValidated* aWidgetValidated = dynamic_cast<ModuleBase_WidgetValidated*>
+ (anActiveWidget);
+ if (aWidgetValidated)
+ aWidgetValidated->activateFilters(true);
+ }
+ }
}