### IContainerControl::ColumnCursor

  The IContainerControl::ColumnCursor class navigates through the container's details view columns.

#### AIX Considerations

  The leftmost column that the Container widget maintains automatically is never accessed by the ColumnCursor.

#### Windows Considerations

  Iterating of columns in a native Windows container (that is, a container constructed without the pmCompatible style) may not be as expected. Any icon column added other than the valid one is considered invalid and not visible and will be iterated after the valid columns are iterated. The native Windows container also has a required first column. If IContainerColumn(s) are not inserted for these, then the cursor will not iterate them. See IContainerColumn documentation for more details.

### IContainerControl::ColumnCursor - Member Functions and Data by Group

### Constructors & Destructor

You can construct and destruct objects of this class.

~ColumnCursor

      public:
      virtual ~ColumnCursor()

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

ColumnCursor

      public:
      ColumnCursor( const IContainerControl& container,
                    bool visibleOnly = false )

  Constructs objects of this class by using a cursor to iterate through all columns in the container meeting the visibility criteria (all columns or visible columns only). You must specify the following:

  - The container where navigation is to occur
  - Optionally, a boolean indicating whether all columns, or only visible columns, are navigated

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Column Retrieval

Use these members to move the cursor and retrieve columns.

current

      public:
      virtual IContainerColumn* current() const

  Returns the current column of this cursor.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

first

      public:
      virtual IContainerColumn* first()

  Points to and returns the first column in the container. If there are no objects in the container, 0 is returned. This function validates a cursor that was set invalid as a result of adding or removing columns from the container.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

last

      public:
      virtual IContainerColumn* last()

  Points to and returns the last column in the container. Returns 0 if there are no columns in the container. This function validates a cursor that was set invalid as a result of adding or removing columns from the container.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

next

      public:
      virtual IContainerColumn* next()

  Points to and returns the next or first column in the container. If the cursor has reached the end of the list of columns in the container, 0 is returned.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

previous

      public:
      virtual IContainerColumn* previous()

  Points to and returns the previous or last column in the container.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

setCurrent

      public:
      virtual ColumnCursor&
        setCurrent( const IContainerColumn* currentColumn )

  Sets the cursor to point to the specified column and validates the cursor. This function does not check for visibility.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Cursor Movement

Use these members to move the cursor and retrieve columns.

setToFirst

      public:
      virtual bool setToFirst()

  Points to the first column in the container. If there are no objects in the container, false is returned. This function validates a cursor that was set invalid as a result of adding or removing columns from the container.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

setToLast

      public:
      virtual bool setToLast()

  Points to the last column in the container. If there is a last column, true is returned. Otherwise, false is returned.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

setToNext

      public:
      virtual bool setToNext()

  Points to the next column in the container. If the cursor does not point to a column, this function is the same as setToFirst. The cursor does not point to a column when it is initially created. In other words, setToNext on a new cursor is the same as setToFirst.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

setToPrevious

      public:
      virtual bool setToPrevious()

  Points to the previous or last column in the container.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### Cursor Validation

Use these members to validate the cursor.

invalidate

      public:
      virtual ColumnCursor& invalidate()

  Flags the cursor as not valid.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

isValid

      public:
      virtual bool isValid() const

  Queries whether the cursor is valid.

  The cursor is not valid if any of the following occur:

  - You add a column after you created the cursor.
  - You remove a column after you created the cursor.
  - The last operation on the cursor put it into an undefined state.
  For example, calling setToNext when the cursor is pointing to the last object in the container causes the cursor to be not valid.

Supported Platforms

  Windows | OS/2 | AIX
  Yes | Yes | Yes

### IContainerControl::ColumnCursor - Inherited Member Functions and Data

#### Inherited Public Functions

  - None

#### Inherited Public Data

  - None

#### Inherited Protected Functions

  - None

#### Inherited Protected Data

  - None