struct CCL::IColumnHeaderList

Overview

Interface for column header list. More…

#include <iitemmodel.h>

struct IColumnHeaderList: public CCL::IUnknown
{
    // enums

    enum
    {
        kAutoWidth = -1,
    };

    enum ColumnFlags;

    // methods

    virtual void CCL_API addColumn (
        int width,
        StringRef title = nullptr,
        StringID id = nullptr,
        int minWidth = 0,
        int flags = 0
    ) = 0;

    virtual void CCL_API copyFrom (const IColumnHeaderList& other) = 0;
    virtual StringID CCL_API getColumnID (int columnIndex) const = 0;
    virtual int CCL_API getColumnCount () const = 0;
    virtual void CCL_API removeAll () = 0;
    virtual void CCL_API setColumnWidth (StringID column, int width) = 0;
    virtual void CCL_API hideColumn (StringID column, tbool state) = 0;
    virtual void CCL_API moveColumn (StringID column, int newVisiblePosition) = 0;
    virtual tbool CCL_API setColumnDataAt (int columnIndex, VariantRef data) = 0;
    virtual tbool CCL_API getColumnDataAt (Variant& data, int columnIndex) const = 0;
    DECLARE_STRINGID_MEMBER (kSortColumnChanged);
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Interface for column header list.

Methods

virtual void CCL_API addColumn (
    int width,
    StringRef title = nullptr,
    StringID id = nullptr,
    int minWidth = 0,
    int flags = 0
) = 0

Add column.

virtual void CCL_API copyFrom (const IColumnHeaderList& other) = 0

Copy columns from other list.

virtual StringID CCL_API getColumnID (int columnIndex) const = 0

Get identifier of column with given index.

virtual int CCL_API getColumnCount () const = 0

Get number of columns.

virtual void CCL_API removeAll () = 0

Remove all columns.

virtual void CCL_API setColumnWidth (StringID column, int width) = 0

Resize column.

virtual void CCL_API hideColumn (StringID column, tbool state) = 0

Hide column.

virtual void CCL_API moveColumn (StringID column, int newVisiblePosition) = 0

Move column.

virtual tbool CCL_API setColumnDataAt (int columnIndex, VariantRef data) = 0

Set user data for column.

virtual tbool CCL_API getColumnDataAt (Variant& data, int columnIndex) const = 0

Get user data for column.

DECLARE_STRINGID_MEMBER (kSortColumnChanged)

Can be send by IItemView or IItemModel when sort column changed.

Send by IItemView when column coordinates on screen changed.