class Core::Portable::ListViewModelBase

#include <coreviewshared.h>

class ListViewModelBase
{
public:
    // structs

    struct DrawInfo;

    // methods

    virtual int getItemCount() const = 0;
    virtual CStringPtr getItemTitle(int index) const = 0;
    virtual bool isSelectionHandler() const;
    virtual bool isItemSelected(int index) const;
    virtual bool canSelectItem(int index) const;
    virtual bool isItemEnabled(int index) const;
    virtual void drawItem(int index, const DrawInfo& info, bool enabled = true);
};

// direct descendants

class ListViewModel;
class StaticListViewModel;