Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

VCF::ListModel Class Reference

The List is a simple model that stores a list of data. More...

#include <vcf/ApplicationKit/ListModel.h>

Inheritance diagram for VCF::ListModel:

VCF::Model VCF::Component VCF::ObjectWithCallbacks VCF::Object VCF::SimpleListModel VCF::ColumnModel VCF::DefaultListModel VCF::TabModel List of all members.

Public Types

enum  { IndexNotFound = (uint32)-1, InvalidIndex = (uint32)-1 }

Public Member Functions

 ListModel ()
virtual ~ListModel ()
virtual ItemRemoved bool isEmpty ()
 Returns whether or not the model has an data.
virtual VariantData getValue (const VariantData &key=VariantData::null())
 Returns the value at the specified key.
virtual String getValueAsString (const VariantData &key=VariantData::null())
 Returns the data for the model as a string.
virtual void setValue (const VariantData &value, const VariantData &key=VariantData::null())
 Sets the value of the model.
virtual void setValueAsString (const String &value, const VariantData &key=VariantData::null())
 Sets the value of the model using a string to specify the data.
void insert (const uint32 &index, const VariantData &item)
 inserts some item into the model at the index specified.
void add (const VariantData &item)
 Adds an item to the end of the collection.
void remove (const uint32 &index)
 Removes the data at the specified index.
void set (const uint32 &index, const VariantData &item)
 Sets data.
virtual void setAsString (const uint32 &index, const String &item)
virtual VariantData get (const uint32 &index)=0
virtual String getAsString (const uint32 &index)
virtual uint32 getIndexOf (const VariantData &item)=0
virtual bool getItems (std::vector< VariantData > &items)=0
virtual Enumerator< VariantData > * getItems ()=0
virtual bool getRange (const uint32 &start, const uint32 &end, std::vector< VariantData > &items)=0
virtual uint32 getCount ()=0
 returns the number of the items in the model
virtual bool supportsSubItems ()
void insertSubItem (const uint32 &index, const uint32 &subItemIndex, const VariantData &value)
void removeSubItem (const uint32 &index, const uint32 &subItemIndex)
void setSubItem (const uint32 &index, const uint32 &subItemIndex, const VariantData &value)
virtual void setSubItemAsString (const uint32 &index, const uint32 &subItemIndex, const String &value)
virtual VariantData getSubItem (const uint32 &index, const uint32 &subItemIndex)
virtual String getSubItemAsString (const uint32 &index, const uint32 &subItemIndex)
virtual uint32 getSubItemsCount (const uint32 &index)
virtual bool getSubItems (const uint32 &index, std::vector< VariantData > &items)
void insertSubItemAtKey (const String &key, const VariantData &value)
void removeSubItemAtKey (const String &key)
VariantData getSubItemAtKey (const String &key)
String getSubItemAsStringAtKey (const String &key)
void setSubItemAtKey (const String &key, const VariantData &value)
void setSubItemAsStringAtKey (const String &key, const String &value)
uint32 getSubItemsCountAtKey (const String &key)

Public Attributes

VCF::Delegate ListModelDelegate
ItemAdded VCF::Delegate ListModelDelegate

Protected Member Functions

virtual bool doInsert (const uint32 &index, const VariantData &item)
virtual bool doRemove (const uint32 &index)
virtual bool doSet (const uint32 &index, const VariantData &item)
virtual bool doInsertSubItem (const uint32 &index, const uint32 &subItemIndex, const VariantData &value)
virtual bool doRemoveSubItem (const uint32 &index, const uint32 &subItemIndex)
virtual bool doSetSubItem (const uint32 &index, const uint32 &subItemIndex, const VariantData &value)
void notifyRemove (const uint32 &index, VariantData &item)
void notifyAdded (const uint32 &index, VariantData &item)
void notifySubItemRemoved (const uint32 &index, const uint32 &subItemIndex, VariantData &item)
void notifySubItemAdded (const uint32 &index, VariantData &item)

Detailed Description

The List is a simple model that stores a list of data.

You add data by passing in a VariantData object to wrap the precise data type. The implementation could be any kind of sequential list. The SimpleListModel uses a vector of VariantData objects, allowing a fairly flexible way of storing data, though not neccessarily the most memory efficient.

Event Delegates for this class:
  • ListModel::ContentsChanged
  • ListModel::ItemAdded
  • ListModel::ItemRemoved


Member Enumeration Documentation

anonymous enum
 

Enumerator:
IndexNotFound 
InvalidIndex 


Constructor & Destructor Documentation

VCF::ListModel::ListModel  )  [inline]
 

virtual VCF::ListModel::~ListModel  )  [inline, virtual]
 


Member Function Documentation

void VCF::ListModel::add const VariantData item  )  [inline]
 

Adds an item to the end of the collection.

See also:
insert

virtual bool VCF::ListModel::doInsert const uint32 index,
const VariantData item
[inline, protected, virtual]
 

Reimplemented in VCF::SimpleListModel.

virtual bool VCF::ListModel::doInsertSubItem const uint32 index,
const uint32 subItemIndex,
const VariantData value
[inline, protected, virtual]
 

Reimplemented in VCF::DefaultListModel.

virtual bool VCF::ListModel::doRemove const uint32 index  )  [inline, protected, virtual]
 

Reimplemented in VCF::SimpleListModel.

virtual bool VCF::ListModel::doRemoveSubItem const uint32 index,
const uint32 subItemIndex
[inline, protected, virtual]
 

Reimplemented in VCF::DefaultListModel.

virtual bool VCF::ListModel::doSet const uint32 index,
const VariantData item
[inline, protected, virtual]
 

Reimplemented in VCF::SimpleListModel.

virtual bool VCF::ListModel::doSetSubItem const uint32 index,
const uint32 subItemIndex,
const VariantData value
[inline, protected, virtual]
 

Reimplemented in VCF::DefaultListModel.

virtual VariantData VCF::ListModel::get const uint32 index  )  [pure virtual]
 

Implemented in VCF::SimpleListModel.

virtual String VCF::ListModel::getAsString const uint32 index  )  [inline, virtual]
 

virtual uint32 VCF::ListModel::getCount  )  [pure virtual]
 

returns the number of the items in the model

Implemented in VCF::SimpleListModel.

virtual uint32 VCF::ListModel::getIndexOf const VariantData item  )  [pure virtual]
 

Implemented in VCF::SimpleListModel.

virtual Enumerator<VariantData>* VCF::ListModel::getItems  )  [pure virtual]
 

Implemented in VCF::SimpleListModel.

virtual bool VCF::ListModel::getItems std::vector< VariantData > &  items  )  [pure virtual]
 

Implemented in VCF::SimpleListModel.

virtual bool VCF::ListModel::getRange const uint32 start,
const uint32 end,
std::vector< VariantData > &  items
[pure virtual]
 

Implemented in VCF::SimpleListModel.

virtual VariantData VCF::ListModel::getSubItem const uint32 index,
const uint32 subItemIndex
[inline, virtual]
 

Reimplemented in VCF::DefaultListModel.

virtual String VCF::ListModel::getSubItemAsString const uint32 index,
const uint32 subItemIndex
[inline, virtual]
 

String VCF::ListModel::getSubItemAsStringAtKey const String key  )  [inline]
 

VariantData VCF::ListModel::getSubItemAtKey const String key  )  [inline]
 

virtual bool VCF::ListModel::getSubItems const uint32 index,
std::vector< VariantData > &  items
[inline, virtual]
 

Reimplemented in VCF::DefaultListModel.

virtual uint32 VCF::ListModel::getSubItemsCount const uint32 index  )  [inline, virtual]
 

Reimplemented in VCF::DefaultListModel.

uint32 VCF::ListModel::getSubItemsCountAtKey const String key  )  [inline]
 

VariantData VCF::ListModel::getValue const VariantData key = VariantData::null()  )  [inline, virtual]
 

Returns the value at the specified key.

The key is expected to be some integer type.

See also:
get()

Reimplemented from VCF::Model.

String VCF::ListModel::getValueAsString const VariantData key = VariantData::null()  )  [inline, virtual]
 

Returns the data for the model as a string.

See also:
getValue

Reimplemented from VCF::Model.

void VCF::ListModel::insert const uint32 index,
const VariantData item
 

inserts some item into the model at the index specified.

This calls doInsert which does the actual work of inserting/storing the data into whatever collection the implementor has chosen. If the item doInsert() returns true, then the ItemAdded delegate is called, followed by the ModelChanged delegate.

void VCF::ListModel::insertSubItem const uint32 index,
const uint32 subItemIndex,
const VariantData value
 

void VCF::ListModel::insertSubItemAtKey const String key,
const VariantData value
[inline]
 

virtual ItemRemoved bool VCF::ListModel::isEmpty  )  [inline, virtual]
 

Returns whether or not the model has an data.

The default is true, since in it's abstract form the model doesn't (yet) have any data associated it. It is up to implementers to return something meaningful here.

Reimplemented from VCF::Model.

void VCF::ListModel::notifyAdded const uint32 index,
VariantData item
[inline, protected]
 

void VCF::ListModel::notifyRemove const uint32 index,
VariantData item
[inline, protected]
 

void VCF::ListModel::notifySubItemAdded const uint32 index,
VariantData item
[inline, protected]
 

void VCF::ListModel::notifySubItemRemoved const uint32 index,
const uint32 subItemIndex,
VariantData item
[inline, protected]
 

void VCF::ListModel::remove const uint32 index  ) 
 

Removes the data at the specified index.

void VCF::ListModel::removeSubItem const uint32 index,
const uint32 subItemIndex
 

void VCF::ListModel::removeSubItemAtKey const String key  )  [inline]
 

void VCF::ListModel::set const uint32 index,
const VariantData item
 

Sets data.

virtual void VCF::ListModel::setAsString const uint32 index,
const String item
[inline, virtual]
 

void VCF::ListModel::setSubItem const uint32 index,
const uint32 subItemIndex,
const VariantData value
 

virtual void VCF::ListModel::setSubItemAsString const uint32 index,
const uint32 subItemIndex,
const String value
[inline, virtual]
 

void VCF::ListModel::setSubItemAsStringAtKey const String key,
const String value
[inline]
 

void VCF::ListModel::setSubItemAtKey const String key,
const VariantData value
[inline]
 

void VCF::ListModel::setValue const VariantData value,
const VariantData key = VariantData::null()
[inline, virtual]
 

Sets the value of the model.

The data is stored in a VariantData object. The key may be used if it's relevant to the specific kind of model. See the getValue documentation for more information about the key parameter.

See also:
getValue

Reimplemented from VCF::Model.

void VCF::ListModel::setValueAsString const String value,
const VariantData key = VariantData::null()
[inline, virtual]
 

Sets the value of the model using a string to specify the data.

See also:
setValue()

Reimplemented from VCF::Model.

virtual bool VCF::ListModel::supportsSubItems  )  [inline, virtual]
 

Reimplemented in VCF::DefaultListModel, and VCF::TabModel.


Member Data Documentation

ItemAdded VCF::Delegate VCF::ListModel::ListModelDelegate
 

Event Delegate:
ItemDeleted fired when an item is removed from the list model
event class: ListModelEvent

VCF::Delegate VCF::ListModel::ListModelDelegate
 

Event Delegate:
ItemAdded fired when an item is added/inserted to the list model
event class: ListModelEvent


The documentation for this class was generated from the following file:
   Comments or Suggestions?    License Information