-// Copyright (C) 2014-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2014-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include <vector>
#include <map>
+#ifdef _MSC_VER
+#pragma warning(disable: 4100)
+#endif
+
class QAction;
class QMouseEvent;
class QKeyEvent;
/// Have an opportunity to create widgets for the current operation
/// instead of standard creation in workshop
- /// \param theOperation a started operation
+ /// \param theFeature a feature of the started operation
+ /// \param theXmlRepr an XML representation of the operation
/// \param theWidgets a list of created widgets
/// \return boolean result, false by default
- virtual bool createWidgets(ModuleBase_Operation* theOperation,
+ virtual bool createWidgets(const FeaturePtr& theFeature, const QString& theXmlRepr,
QList<ModuleBase_ModelWidget*>& theWidgets) const { return false; }
//! Returns True if there are available Undos and there is not an active operation
/// Customize presentation according to objects attributes
/// \param theObject an object for presentation
/// \param thePrs a presentation object
- virtual void customizePresentation(const ObjectPtr& theObject, const AISObjectPtr& thePrs) const {}
+ virtual void customizePresentation(const ObjectPtr& theObject, const AISObjectPtr& thePrs) const
+ {}
//! Returns data object by AIS
virtual ObjectPtr findPresentedObject(const AISObjectPtr& theAIS) const = 0;
/// \param theAIS a presentation object
virtual void onBeforeObjectErase(ObjectPtr theObject, AISObjectPtr theAIS) {}
+ /// Called on transformation in current viewer
+ /// \param theTrsfType type of tranformation
+ virtual void onViewTransformed(int theTrsfType = 2) {}
+
protected slots:
/// Called on selection changed event
virtual void onSelectionChanged() {}
/// Returns new instance of operation object (used in createOperation for customization)
virtual ModuleBase_Operation* getNewOperation(const std::string& theFeatureId);
+ /// Load plugins required license
+ void loadProprietaryPlugins();
+
+ /// Collect features, which have valid license
+ void processProprietaryFeatures();
+
protected:
/// Reference to workshop
ModuleBase_IWorkshop* myWorkshop;
/// Map of features in XML
std::map<std::string, std::string> myFeaturesInFiles;
+ /// Map of features in XML, which require license but not confirmed yet
+ std::map<std::string, std::string> myProprietaryFeatures;
+ /// Proprietary plugins
+ std::set<std::string> myProprietaryPlugins;
+ /// Features, which have valid license
+ std::set<std::string> myFeaturesValidLicense;
std::map<ModuleBase_SelectionFilterType, Handle(SelectMgr_Filter)> mySelectionFilters;