/// /returns the instance of the description class
ModuleBase_OperationDescription* getDescription() const { return myDescription; }
+ /// Returns list of granted operation indices
+ const QStringList& grantedOperationIds() const;
+
+ /// Sets list of operation indices, which can be started without the current operation stop
+ /// \param theList an ids
+ void setGrantedOperationIds(const QStringList& theList);
+
/// Must return true if this operation can be launched as nested for any current operation
/// and it is not necessary to check this operation on validity. By default
/// the operation is not granted.
ModuleBase_IPropertyPanel* propertyPanel() const { return myPropertyPanel; }
signals:
+ /// The operation is started
+ void beforeStarted();
/// The operation is started
void started();
+ /// The operation is aborted
+ void beforeAborted();
/// The operation is aborted
void aborted();
+ /// The operation is committed
+ void beforeCommitted();
/// The operation is committed
void committed();
/// to change behavior of operation. There is no point in using this method. It would
/// be better to inherit own operator from base one and redefine startOperation method
/// instead.
- virtual void start();
+ /// \return true if the start is successful
+ virtual bool start();
/// Deactivates current operation which can be resumed later.
virtual void postpone();
/// Modified feature flag
bool myIsModified;
+ /// List of operations IDs which are granted of the current operation
+ QStringList myGrantedIds;
+
/// Access to property panel
ModuleBase_IPropertyPanel* myPropertyPanel;
};