class ModuleBase_ModelWidget;
class ModuleBase_IViewWindow;
+class ModelAPI_CompositeFeature;
+
class QMouseEvent;
class XGUI_Workshop;
public:
/// Constructor
- /// \param theParent a parent object
+ /// \param theWorkshop a workshop instance
PartSet_SketcherReetntrantMgr(ModuleBase_IWorkshop* theWorkshop);
virtual ~PartSet_SketcherReetntrantMgr();
/// Returns false if the reentrant mode of the operation is not empty.
bool canBeCommittedByPreselection();
+ /// returns true if an internal edit operation is started
+ /// \return boolean value
+ bool isInternalEditStarted() const;
+
private slots:
/// SLOT, that is called by a widget activating in the property panel
/// If the 'internal' edit operation is started, it activates the first widget selection
/// This is type for Circle and Arc features
/// \param theSourceFeature a source feature
/// \param theNewFeature a new feature
+ /// \param theSketch an active sketch
+ /// \param isTemporary is used to do not create additional features(e.g. coicidence for line)
/// \return true is something is copied
static bool copyReetntrantAttributes(const FeaturePtr& theSourceFeature,
- const FeaturePtr& theNewFeature);
+ const FeaturePtr& theNewFeature,
+ const std::shared_ptr<ModelAPI_CompositeFeature>& theSketch,
+ const bool isTemporary = false);
+
+ /// Checks whethe the feature of the given operation has kind an arc and the arc type is tangent
+ bool isTangentArc(ModuleBase_Operation* theOperation,
+ const std::shared_ptr<ModelAPI_CompositeFeature>& /*theSketch*/) const;
- static bool isTangentArc(ModuleBase_Operation* theOperation);
+ /// Accept All action is enabled if an internal edit is started. It updates the state of the button
+ void updateAcceptAllAction();
/// Returns the workshop
XGUI_Workshop* workshop() const;
bool myIsFlagsBlocked; /// true when reset of flags should not be perfromed
bool myIsInternalEditOperation; /// true when the 'internal' edit is started
+ FeaturePtr myPreviousFeature; /// feature of the previous operation, which is restarted
FeaturePtr myInternalFeature;
QWidget* myInternalWidget;
ModuleBase_ModelWidget* myInternalActiveWidget;