Workspace 6.21.5
|
Allows a user to modify select members of a modify group. More...
#include <Workspace/DataExecution/Operations/Builtin/modifygroup.h>
Public Member Functions | |
ModifyGroup () | |
~ModifyGroup () override | |
bool | canChangeDataFactory (const DataFactory &factory) const override |
bool | canChangeDataName (const QString &name) const override |
Presentation::CustomOperationProperties * | createCustomPropertiesHandler () override |
bool | execute () override |
QString | getHelpPage () const override |
Public Member Functions inherited from PolymorphicDataOperation | |
PolymorphicDataOperation (const OperationFactory &opFactory, const QString &opName, const DataFactory &dataFactory, const QString &dataName=QString(), bool isNameable=true) | |
~PolymorphicDataOperation () override | |
virtual bool | canChangeDataFactory (const DataFactory &factory) const =0 |
virtual bool | canChangeDataName (const QString &name) const =0 |
Presentation::CustomOperationProperties * | createCustomPropertiesHandler () override |
virtual QString | getAcceptableDataName (const QString &proposedName) const |
const DataFactory & | getDataFactory () const |
const QString & | getDataName () const |
DataObject & | getDataObject () |
template<typename T > | |
bool | isDataType () const |
bool | isDataType (const DataFactory &type) const |
bool | isNameable () const |
bool | isPolymorphicType () const override |
bool | isUserConfigurable () override |
bool | matchesDataType (const DataObject &otherObject) const |
bool | setDataFactory (const DataFactory &factory) |
bool | setDataName (const QString &name) |
Public Member Functions inherited from Operation | |
~Operation () override | |
bool | addInput (Input &input, bool modifiedInPlace=false) |
bool | addOutput (Output &output) |
template<typename T > | |
bool | assignInput (const QString &inputName, const T &value) |
bool | canSerialize () const override |
bool | connectProgressEvents (QProgressBar *progressBar) |
virtual Presentation::CustomOperationProperties * | createCustomPropertiesHandler () |
virtual void | ensureHasData () |
bool | getBroadcastUpdateEvents () const |
QColor | getColor () const |
virtual QString | getDefaultIconPath () const |
QString | getDefaultUiPath () const |
QString | getDeprecationMessage () const |
const QString & | getDescription () const |
SerializedItem | getExtras () |
const OperationFactory & | getFactory () const |
Operation * | getFromPath (const QString &path, Workspace &relativeTo, QStringList &errors) const override |
virtual GraphicsSize | getGraphicsSize () const |
virtual QString | getHelpPage () const |
QString | getIconPath () const |
const QUuid & | getId () const |
QString | getIdPath (bool scoped=true) const override |
QString | getIdPath (const Workspace &relativeTo) const |
difference_type | getIndex (const Input &input, IndexCountingOptions options=SkipNone) const |
difference_type | getIndex (const Output &output, IndexCountingOptions options=SkipNone) const |
void | getIndexPair (InputScalar &input, difference_type &mainIndex, difference_type &arrayIndex) |
Input * | getInput (const QString &name) |
const Input * | getInput (const QString &name) const |
Input * | getInput (size_type index) |
const Input * | getInput (size_type index) const |
InputArray * | getInputArray (const QString &name) |
const InputArray * | getInputArray (const QString &name) const |
IOBaseIteratorRange< Input, false > | getInputs () |
IOBaseIteratorRange< Input, true > | getInputs () const |
InputScalar * | getInputScalar (const QString &name) |
const InputScalar * | getInputScalar (const QString &name) const |
template<typename T > | |
T & | getInputValue (const QString &inputName) |
template<typename T > | |
const T & | getInputValue (const QString &inputName) const |
const QString & | getLabel () const |
QString | getLabelRelativeToRoot () const |
Output * | getOutput (const QString &name) |
const Output * | getOutput (const QString &name) const |
Output * | getOutput (size_type index) |
const Output * | getOutput (size_type index) const |
IOBaseIteratorRange< Output, false > | getOutputs () |
IOBaseIteratorRange< Output, true > | getOutputs () const |
template<typename T > | |
T & | getOutputValue (const QString &outputName) |
template<typename T > | |
const T & | getOutputValue (const QString &outputName) const |
bool | getProfilingEnabled () const |
int | getProgress () const |
int | getProgressContribution () const |
bool | getProgressResetByNotUpToDate () const |
virtual SchedulerFeatures | getRequiredSchedulerFeatures () const |
InputScalar * | getScalarInput (size_type mainIndex, difference_type arrayIndex) |
QString | getShortLabel () const |
QString | getTagName () const |
bool | getTerminateExecution () const |
QString | getUiPath () const |
bool | getUpToDate () const override |
virtual bool | hasRequiredSchedulerFeatures () const |
void | idPathChanged () override |
virtual bool | inputRebuilt (InputScalar &input) |
virtual bool | isAsynchronous () const |
virtual bool | isAsynchronousProcess () const |
virtual bool | isAtomicUpdate () const |
bool | isConnectedToAsynchronous () const override |
bool | isDeprecated () const |
bool | isEditable () const |
bool | isIdPathCachingEnabled () const |
virtual bool | isPolymorphicType () const |
virtual bool | isRunningAsynchronously () const |
virtual bool | isThreadSafe () const |
template<typename T > | |
bool | isType () const |
bool | isType (const OperationFactory &type) const |
bool | isUpdating () const |
virtual bool | isUserConfigurable () |
bool | isUsingDefaultColor () const |
bool | isUsingDefaultIconPath () const |
bool | isUsingDefaultUiPath () const |
bool | isWaitingForAsynchronousUpdate () const override |
bool | isWorkspaceType () const |
bool | load (const SerializedItem &item) override |
void | markUpToDateWhereSafe () |
bool | matchesType (const Operation &otherOperation) const |
size_type | numInputs (IndexCountingOptions=SkipNone) const |
size_type | numOutputs (IndexCountingOptions=SkipNone) const |
bool | removeInput (const QString &name) |
bool | removeInput (Input &input) |
bool | removeOutput (const QString &name) |
bool | removeOutput (Output &output) |
virtual void | resetExecutionDependencies () |
bool | save (SerializedItem &item) const override |
virtual bool | saveWithData (SerializedItem &item) const |
virtual void | setAtomicUpdate (bool atomic) |
void | setBroadcastUpdateEvents (bool enable) |
void | setColor (const QColor &c) |
void | setDescription (const QString &description) |
void | setEditable (bool b) |
void | setIconPath (const QString &path) |
void | setId (const QUuid &id) |
virtual void | setIdPathCachingEnabled (bool b) |
virtual void | setInputNotUpToDate (InputScalar &input) |
virtual void | setIsAsynchronous (bool asynchronous) |
virtual void | setIsAsynchronousProcess (bool) |
virtual void | setIsRunningAsynchronously (bool asynchronous) |
void | setLabel (const QString &label) |
virtual void | setOutputNotUpToDate (Output &output) |
void | setProfilingEnabled (bool enable) |
virtual void | setProgress (int percent) |
void | setProgressContribution (int percent) |
void | setProgressResetByNotUpToDate (bool b) |
virtual void | setRequiredSchedulerFeatures (const SchedulerFeatures &) |
void | setTerminateExecution (bool b) |
void | setUiPath (const QString &path) |
void | setUpToDate (bool b) override |
bool | update (Updater *updater=nullptr) override |
Public Member Functions inherited from WorkspaceElement | |
~WorkspaceElement () override | |
const Workspace * | getWorkspace () const override |
Workspace * | getWorkspace () override |
virtual void | workspaceChanged (Workspace *oldWorkspace) |
Public Member Functions inherited from Updatable | |
~Updatable () override | |
virtual bool | comesFromExternal () const |
QString | getEnclosingScope () const |
virtual Updatable * | getFromPath (const QString &path, Workspace &relativeTo, QStringList &errors) const =0 |
const QString & | getGlobalName () const |
virtual QString | getIdPath (bool scoped=true) const =0 |
virtual Workspace * | getRootWorkspace () |
virtual const Workspace * | getRootWorkspace () const |
QString | getScopedGlobalName () const |
virtual bool | getUpToDate () const =0 |
virtual const Workspace * | getWorkspace () const =0 |
virtual Workspace * | getWorkspace ()=0 |
virtual void | idPathChanged () |
virtual bool | isConnectedToAsynchronous () const =0 |
virtual bool | isWaitingForAsynchronousUpdate () const =0 |
void | setGlobalName (const QString &name) |
virtual void | setUpToDate (bool b)=0 |
virtual bool | update (Updater *updater=nullptr)=0 |
Public Member Functions inherited from Observable | |
virtual | ~Observable () |
void | attachObserver (Observer &observer) |
void | destroy () |
void | detachObserver (Observer &observer) |
void | notifyEvent (const ObservableEvent &event) |
Public Member Functions inherited from Serialize | |
virtual | ~Serialize ()=default |
virtual bool | canSerialize () const =0 |
virtual bool | load (const SerializedItem &item)=0 |
virtual bool | save (SerializedItem &item) const =0 |
Public Member Functions inherited from TextLogger | |
TextLogger () | |
TextLogger (const DataExecution::IOBase &io) | |
TextLogger (const DataExecution::Operation &operation) | |
TextLogger (const TextLogger &logger) | |
TextLogger (TextLogger &&logger) | |
virtual | ~TextLogger () |
void | logLine (const Application::LogManager::MessageCategory &category, const QString &msg) const |
void | logLine (const QString &msg) const |
void | logText (const Application::LogManager::MessageCategory &category, const QString &msg) const |
void | logText (const QString &msg) const |
TextLogger & | operator= (TextLogger) |
Static Public Member Functions | |
static void | createInputsForObjectGroupMembers (QStringList &inputNames, Operation *op) |
Static Public Member Functions inherited from Updatable | |
static InputScalar * | findInputScalarGlobalName (const QString &scopedGlobalName, Workspace &relativeTo) |
static IOBase * | findIOBaseGlobalName (const QString &scopedGlobalName, Workspace &relativeTo) |
static Operation * | findOperationGlobalName (const QString &scopedGlobalName, Workspace &relativeTo) |
Static Public Attributes | |
static const unsigned | DefaultInputCount = 3 |
static const QString | GroupLevelDelimiter = " -> " |
Protected Member Functions | |
void | dataNameChanged (const QString &name) override |
void | dataObjectAboutToChange () override |
void | dataObjectChanged (DataObject &oldDataObject) override |
bool | postSave (DataExecution::SerializedItem &item) const override |
bool | prepareInputsOutputsForLoad (const SerializedItem &item) override |
Protected Member Functions inherited from PolymorphicDataOperation | |
virtual void | dataNameChanged (const QString &name) |
virtual void | dataObjectAboutToChange () |
virtual void | dataObjectChanged (DataObject &oldDataObject) |
bool | loadPolyPart (const QString &dataPlugin, const QString &dataType, const QString &dataName) |
bool | postSave (SerializedItem &item) const override |
bool | prepareInputsOutputsForLoad (const SerializedItem &item) override |
Protected Member Functions inherited from Operation | |
Operation (const OperationFactory &factory, const QString &label) | |
bool | bringArrayOfInputsUpToDate (Input *&array, size_type arraySize) |
bool | bringArrayOfInputsUpToDate (std::vector< Input * > &array) |
virtual bool | bringInputsUpToDate () |
bool | bringInputUpToDate (Input &input) |
virtual void | cancelExecution (bool b) |
virtual bool | execute ()=0 |
virtual bool | finishInputsOutputsAfterLoad (const SerializedItem &item) |
Updater * | getCurrentUpdater () |
virtual const Input * | getRenamedInput (const QString &name) const |
virtual const Output * | getRenamedOutput (const QString &name) const |
virtual bool | inputsAreUpToDate () const |
virtual bool | makeOutputsValid () |
virtual void | markOutputsUpToDate () |
void | pauseUpdate () |
virtual bool | postSave (SerializedItem &item) const |
virtual bool | prepareInputsOutputsForLoad (const SerializedItem &item) |
void | saveExtras (SerializedItem &item) const |
virtual bool | shouldPutInExtras (const QString &tagName) const |
Protected Member Functions inherited from WorkspaceElement | |
WorkspaceElement () | |
Protected Member Functions inherited from Updatable | |
Updatable () | |
Updatable (const Updatable &up) | |
void | notifyUpdated () |
Updatable & | operator= (const Updatable &up) |
Protected Member Functions inherited from Observable | |
Observable () | |
Observable (const Observable &) | |
Additional Inherited Members | |
Public Types inherited from Operation | |
enum | ConfigStatus { GoodConfig = 0x00 , UnknownConfig = 0x01 , InvalidConfig = 0x02 } |
using | difference_type = ptrdiff_t |
enum | GraphicsSize { Default = 100 , Small = 65 } |
Options for the graphical size of an operation, able to be changed by derived classes. Values are percentages. More... | |
enum | IndexCountingOption { SkipNone = 0x0 , SkipInvisible = 0x1 , SkipDependencies = 0x2 } |
using | size_type = size_t |
ModifyGroup | ( | ) |
Constructs as an empty group object, hence no inputs.
|
override |
Deletes all the inputs as part of the destruction sequence.
|
overridevirtual |
factory | The new factory that will be set. |
This function is called by setDataFactory to determine if the data factory can indeed be changed. The old factory is still available by calling getDataFactory, since nothing has actually been changed at the point where canChangeDataFactory is called. It may also be called by other clients who are interested in knowing if a particular data factory change will be allowed before actually requesting the factory change.
Implements PolymorphicDataOperation.
|
overridevirtual |
name | The new data name that will be set. |
This function is called by setDataName to determine if the data name can indeed be changed. The old name is still available by calling getDataName, since nothing has actually been changed at the point where canChangeDataName is called. It may also be called by other clients who are interested in knowing if a particular name change will be allowed before actually requesting the name change.
Implements PolymorphicDataOperation.
|
overridevirtual |
Reimplemented from Operation.
|
static |
inputNames | The list of inputs to create. These names can be delimeted using the GroupLevelDelimiter in order to point to nested object group members. |
op | The operation which we are creating inputs for. This should only ever be for a ModifyGroup operation, but we don't enforce that here, as it could apply to any polymorphic operation in the future. |
Creates a list of input scalars corresponding to object group data members
|
overrideprotectedvirtual |
name | The new data name. This is the same as the return value from getDataName(). It is provided as a parameter merely for convenience and consistency. |
This function is called by setDataName() once the data name has been changed. It allows the subclass to take additional action to update itself just before setDataName() returns.
The default implementation does nothing.
Reimplemented from PolymorphicDataOperation.
|
overrideprotectedvirtual |
This function is called by setDataFactory() just before it changes the data object, which is the last thing it does before returning. The default implementation does nothing.
Reimplemented from PolymorphicDataOperation.
|
overrideprotectedvirtual |
oldDataObject | The old data object, which will be destroyed immediately after dataObjectChanged() returns. The new data object can be obtained by calling getDataObject(). |
This function is called by setDataFactory once the data object has been changed. It allows the subclass to take additional action to update itself before the process of changing the data factory is completed. After exit, the only thing setDataFactory will subsequently do is call setUpToDate(false) on the operation.
The default implementation does nothing.
Reimplemented from PolymorphicDataOperation.
|
overridevirtual |
Subclasses need to implement this function to do the actual processing of the operation. Clients should not call this function directly, but should instead call the update() function, since it ensures all inputs are updated first and all outputs have setUpToDate called on each one.
Implements Operation.
|
overridevirtual |
\page helpmyoperation MyOperation
In this case, getHelpPage() should return the string "helpmyoperation".
Reimplemented from Operation.
|
overrideprotectedvirtual |
item | The item into which data should be saved. |
This function is called as the last step in save() to allow subclasses to save any further information specific to them. It differs from the extras data in that the extras are meant for clients outside the inheritence heirachy and may change depending on what clients use the class. The postSave() function, on the other hand, is meant for subclasses to use to save data that is always needed and used internally by the subclass.
The default implementation saves no additional information and simply returns true to indicate success.
Reimplemented from Operation.
|
overrideprotectedvirtual |
item | The serialized item that will be loaded. |
This function is called just before load() attempts to load the data for inputs and outputs from item. The default implementation simply returns true to indicate that loading can proceed. Subclasses may override this function to perform any required tasks that must be done before the inputs or outputs can be accessed. Typical uses usually revolve around tasks that create inputs and outputs, such as populating a nested workspace, setting the data type of a polymorphic data operation, etc.
Most subclasses will not need to override this function.
Reimplemented from Operation.
|
static |
The number of inputs that will exist on the operation by default.
|
static |
The group level delimiter controls what sequence of characters is used to display on inputs which are attached to data members in nested object groups.