Description

Indicates whether image frame data have been changed.

Property type

A Boolean value.  

Syntax

object.Modified([FlushUndoStackOnClear]) [= value]

The Modified Property syntax has these parts:

PartDescription
objectAn expression evaluating to an object of type McImage.
FlushUndoStackOnClearOptional. A Boolean value.

If TRUE (the default), on an assignment that clears this flag, McImage.UndoStack.Flush is called to clear the undo stack. This effectively prevents “undo past save”.

valueA Boolean value.

Remarks

This read/write property indicates that image frame data have been changed. Clients can reset the Modified property to False to indicate that the image was saved or a file was just opened, for example. Subsequent changes to the image data of any frame (not just the ActiveFrame) will automatically set this property True again. Clients can also set the modified flag True to force an indication that the image was modified and that the user should be prompted to save it (e.g., perhaps because they changed the image DisplayName).

This property is initially False, but it will become True automatically as soon as any change is made to the image data. So to be useful, the client environment must assign it to False when the image is in some known “un-modified” state.

When this property is assigned False the UndoStack is flushed unless the optional FlushUndoStackOnClear argument is supplied as False. The major effect of this is to prevent Undo back past a file save operation.

Note that for simple cache validation, comparing the AllFramesUpdateCount, ActiveFrameUpdateCount and/or PropertyChangeCount properties against a cached value might be just as effective as tracking the state of the Modified property.

Notes

The Modified property will be set TRUE as soon as the image changes, during the SNC_NOTIFY_PB_IMAGECHANGED special notify. This will also result in a OnImageChanged envent being sent to the event sinks (during this call, the Modfied property will still be in its pre-image change state, so that OnImageChanged routine can determine if it is about to change). Then an OnPropertyChanged(ID_IMcImage_Modified) event is fired to all IMcImageEvents sinks (during this call, the Modfied property will be in its new state).

The SNC_NOTIFY_HO_PROPERTYCHANGED IMcObjStandardNotify::SpecialNotify is sent for any Client assignment to Modify that changes its state. And then an OnPropertyChanged(ID_IMcImage_Modified) event is fired to all IMcImageEvents sinks.