This method should begin the iteration and return a reference to the first frame in the iteration sequence.
Signature
ODFrame *First () |
Parameters
None.
Returns
Remarks
Your part calls this method before calling this focus-owner iterator's IsNotComplete method for the first time. This method may be called multiple times; each time, it resets the iteration.
Your override of this method should not increment the reference count of the returned frame object.
Exception Handling
kODErrIteratorOutOfSync | The list of focus owners was modified while the iteration was in progress. |
Override Policy
If you subclass ODFocusOwnerIterator, you must override this method. Your override must not call its inherited method; that is, your override must implement this method's functionality completely.
This method initializes this focus-owner iterator object.
Signature
void InitFocusOwnerIterator (ODTypeToken focus, ODFocusModule *focusModule) |
Parameters
This parameter must be the tokenized form of a focus constants or the tokenized form of a part-specific focus type. You can call the session object's Tokenize method to obtain a token corresponding to an ODFocusType constant. For a list of ODFocusType constants, see ODFocusType.
Returns
None.
Remarks
This method is not called directly to initialize this focus-owner iterator object, but is called by a subclass-specific initialization method. By convention, every subclass of ODFocusOwnerIterator should have a separate initialization method (for example, the InitMyFocusOwnerIterator method) that is called when an instance of that subclass is created. The override method may have additional parameters beyond those of the InitFocusOwnerIterator method. The InitMyFocusOwnerIterator method should call the inherited InitFocusOwnerIterator method at the beginning of its implementation.
If you subclass ODFocusOwnerIterator, your subclass-specific initialization method, rather than its somInit method, should handle any initialization code that can potentially fail. For example, your initialization method may attempt to allocate memory for your focus-owner iterator.
Override Policy
If you subclass ODFocusOwnerIterator, you must not override this method.
Related Methods
This method should indicate whether the iteration is incomplete.
Signature
ODBoolean IsNotComplete () |
Parameters
None.
Returns
kODTrue | The iteration is incomplete. |
kODFalse | The iteration is complete. |
Remarks
Your part calls this method to test whether more focus owners remain in the iteration sequence. This method returns kODTrue if the preceding call to the First or Next method found a focus owner. This method returns kODFalse when you have examined all the focus owners (that is, when the previous call to First or Next returned kODNULL).
Exception Handling
kODErrIteratorNotInitialized | This method was called before calling the First or Next method to begin the iteration. |
kODErrIteratorOutOfSync | The list of focus owners was modified while the iteration was in progress. |
Override Policy
If you subclass ODFocusOwnerIterator, you must override this method. Your override must not call its inherited method; that is, your override must implement this method's functionality completely.
This method should return a reference to the next frame in the iteration sequence.
Signature
ODFrame *Next () |
Parameters
None.
Returns
Remarks
Your part calls this method. If your part calls this method before calling this focus-owner iterator's First method to begin the iteration, this method works the same as calling the First method.
Your override of this method should not increment the reference count of the returned frame object.
Exception Handling
kODErrIteratorOutOfSync | The list of focus owners was modified while the iteration was in progress. |
Override Policy
If you subclass ODFocusOwnerIterator, you must override this method. Your override must not call its inherited method; that is, your override must implement this method's functionality completely.