class Config_WidgetAPI;
class ModuleBase_ModelWidget;
class ModuleBase_Operation;
+class ModuleBase_ViewerPrs;
+
class ModuleBase_IWorkshop;
class ModelAPI_Result;
+class Events_Message;
-class Handle_AIS_InteractiveObject;
+class AIS_InteractiveObject;
/**
* \ingroup GUI
virtual ~ModuleBase_IModule() {}
/// Add default selection filters of the module to the current viewer
- virtual void activateSelectionFilters() {};
+ virtual void activateSelectionFilters() {}
/// Remove default selection filters of the module from the current viewer
- virtual void deactivateSelectionFilters() {};
+ virtual void deactivateSelectionFilters() {}
/// Stores the current selection
- virtual void storeSelection() {};
+ virtual void storeSelection() {}
/// Restores the current selection
- virtual void restoreSelection() {};
+ virtual void restoreSelection() {}
/// Reads description of features from XML file
virtual void createFeatures();
AISObjectPtr thePrs,
GeomCustomPrsPtr theCustomPrs) { return false; };
+ /// Modifies the given presentation in the custom way after usual customize is performed.
+ virtual bool afterCustomisePresentation(std::shared_ptr<ModelAPI_Result> theResult,
+ AISObjectPtr thePrs,
+ GeomCustomPrsPtr theCustomPrs) { return false; };
+
/// Update the object presentable properties such as color, lines width and other
/// If the object is result with the color attribute value set, it is used,
/// otherwise the customize is applyed to the object's feature if it is a custom prs
/// Create specific for the module presentation
/// \param theResult an object for presentation
/// \return created presentation or NULL(default value)
- virtual Handle_AIS_InteractiveObject createPresentation(
+ virtual Handle(AIS_InteractiveObject) createPresentation(
const std::shared_ptr<ModelAPI_Result>& theResult);
//! Returns data object by AIS
virtual AttributePtr findAttribute(const ObjectPtr& theObject,
const GeomShapePtr& theGeomShape) = 0;
+ /// Returns reentrant message if it was accepted
+ virtual std::shared_ptr<Events_Message> reentrantMessage() = 0;
+
+ /// Put current selection into reentrant message
+ /// \param theMessage a message of reentrant operation
+ virtual void setReentrantPreSelection(const std::shared_ptr<Events_Message>& theMessage) = 0;
+
/// Returns XML information by the feature index
/// \param theFeatureId a feature id
/// \param theXmlCfg XML configuration
/// Register validators for this module
virtual void registerValidators() {}
- /// Register selection filters for this module
- virtual void registerFilters() {}
-
/// Register properties of this module
virtual void registerProperties() {}