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

VCF::ListViewControl Class Reference

#include <vcf/ApplicationKit/ListViewControl.h>

Inheritance diagram for VCF::ListViewControl:

VCF::ListControl VCF::ColumnController VCF::Control VCF::ListController VCF::UIComponent VCF::AbstractView VCF::Component VCF::View VCF::ObjectWithCallbacks VCF::Object List of all members.

Public Types

enum  { COLUMN_MOUSE_EVENT_CLICK = Control::CONTROL_EVENTS_LAST + 200 }

Public Member Functions

 ListViewControl ()
virtual ~ListViewControl ()
ColumnModelgetColumnModel ()
virtual void paint (GraphicsContext *context)
 Paints the control.
ColumnItemaddHeaderColumn (const String &columnName, const double &width=100.0)
void addHeaderColumn (ColumnItem *column)
ColumnIteminsertHeaderColumn (const uint32 &index, const String &columnName, const double &width=100.0)
Enumerator< ColumnItem * > * getColumnItems ()
ColumnItemgetColumnItem (const uint32 &index)
void setColumnItem (const uint32 &index, ColumnItem *item)
void insertHeaderColumn (const uint32 &index, ColumnItem *column)
void deleteHeaderColumn (const uint32 &index)
String getColumnName (const uint32 &index)
void setColumnName (const uint32 &index, const String &columnName)
double getColumnWidth (const uint32 &index)
void setColumnWidth (const uint32 &index, const double &width, ColumnAutosizeType type=casAutoSizeNone)
void setColumnsWidth (const double &width, ColumnAutosizeType type=casAutoSizeNone)
virtual double getItemWidth (ColumnItem *item)
virtual void setItemWidth (ColumnItem *item, const double &val)
virtual TextAlignmentType getItemTextAlignment (ColumnItem *item)
virtual void setItemTextAlignment (ColumnItem *item, const TextAlignmentType &val)
IconStyleType getIconStyle ()
void setIconStyle (const IconStyleType &iconStyle)
IconAlignType getIconAlignment ()
void setIconAlignment (const IconAlignType &iconAlignType)
bool getAllowLabelEditing ()
void setAllowLabelEditing (const bool &allowLabelEditing)
ImageListgetStateImageList ()
void setStateImageList (ImageList *imageList)
int32 getDisplayOptions ()
void setDisplayOptions (const int32 &displayOptions)
ListItemaddItem (const String &caption, const uint32 imageIndex=0)
ListIteminsertItem (const uint32 &index, const String &caption, const uint32 imageIndex=0)
ListItemgetItem (const uint32 &index)
void setItem (const uint32 &index, ListItem *item)
Enumerator< ListItem * > * getItems ()
virtual void handleEvent (Event *event)
 This gets called by the ControlPeer for any windowing system mouse events, as well as for any windowing system keyboard events and for any windowing system events like size changes, position changes, etc.
virtual void insertItemSubItem (ListItem *item, const uint32 &index, ListSubItem *subItem)
virtual void removeItemSubItem (ListItem *item, ListSubItem *subItem)
virtual bool getItemSubItems (ListItem *item, std::vector< ListSubItem * > &subItems)
virtual ListSubItemgetItemSubItem (ListItem *item, const uint32 &index)
virtual uint32 getItemSubItemIndex (ListItem *item, ListSubItem *subItem)
virtual uint32 getItemSubItemCount (ListItem *item)
virtual void paintSubItem (GraphicsContext *ctx, const Rect &itemRect, const uint32 &index, const uint32 &subItemIndex, const DrawUIState &state)

Public Attributes

VCF::Delegate MouseDelegate
 ColumnItemClicked

Protected Types

typedef std::multimap< ListItem *,
ListSubItem * > 
SubItemMap
typedef std::pair< SubItemMap::iterator,
SubItemMap::iterator > 
SubItemIteratorPair
typedef SubItemMap::value_type SubItemPair

Protected Member Functions

void onColumnItemAdded (ListModelEvent *event)
void onColumnItemDeleted (ListModelEvent *event)
void onColumnItemChanged (ItemEvent *event)
virtual void removeSubItemsForItem (ListItem *item)

Protected Attributes

ListviewPeerlistviewPeer_
ColumnModelcolumnModel_
IconStyleType iconStyle_
Array< ColumnItem * > columnItems_
SubItemMap subItems_

Member Typedef Documentation

typedef std::pair<SubItemMap::iterator,SubItemMap::iterator> VCF::ListViewControl::SubItemIteratorPair [protected]
 

typedef std::multimap<ListItem*,ListSubItem*> VCF::ListViewControl::SubItemMap [protected]
 

typedef SubItemMap::value_type VCF::ListViewControl::SubItemPair [protected]
 


Member Enumeration Documentation

anonymous enum
 

Enumerator:
COLUMN_MOUSE_EVENT_CLICK 

Reimplemented from VCF::Control.


Constructor & Destructor Documentation

VCF::ListViewControl::ListViewControl  ) 
 

virtual VCF::ListViewControl::~ListViewControl  )  [virtual]
 


Member Function Documentation

void VCF::ListViewControl::addHeaderColumn ColumnItem column  ) 
 

ColumnItem* VCF::ListViewControl::addHeaderColumn const String columnName,
const double &  width = 100.0
 

ListItem* VCF::ListViewControl::addItem const String caption,
const uint32  imageIndex = 0
 

Reimplemented from VCF::ListControl.

void VCF::ListViewControl::deleteHeaderColumn const uint32 index  ) 
 

bool VCF::ListViewControl::getAllowLabelEditing  ) 
 

ColumnItem* VCF::ListViewControl::getColumnItem const uint32 index  ) 
 

Enumerator<ColumnItem*>* VCF::ListViewControl::getColumnItems  ) 
 

ColumnModel* VCF::ListViewControl::getColumnModel  ) 
 

String VCF::ListViewControl::getColumnName const uint32 index  ) 
 

double VCF::ListViewControl::getColumnWidth const uint32 index  ) 
 

int32 VCF::ListViewControl::getDisplayOptions  ) 
 

IconAlignType VCF::ListViewControl::getIconAlignment  ) 
 

IconStyleType VCF::ListViewControl::getIconStyle  ) 
 

ListItem* VCF::ListViewControl::getItem const uint32 index  ) 
 

Reimplemented from VCF::ListControl.

Enumerator<ListItem*>* VCF::ListViewControl::getItems  ) 
 

virtual ListSubItem* VCF::ListViewControl::getItemSubItem ListItem item,
const uint32 index
[virtual]
 

Reimplemented from VCF::ListControl.

virtual uint32 VCF::ListViewControl::getItemSubItemCount ListItem item  )  [virtual]
 

Reimplemented from VCF::ListControl.

virtual uint32 VCF::ListViewControl::getItemSubItemIndex ListItem item,
ListSubItem subItem
[virtual]
 

Reimplemented from VCF::ListControl.

virtual bool VCF::ListViewControl::getItemSubItems ListItem item,
std::vector< ListSubItem * > &  subItems
[virtual]
 

Reimplemented from VCF::ListControl.

virtual TextAlignmentType VCF::ListViewControl::getItemTextAlignment ColumnItem item  )  [virtual]
 

Implements VCF::ColumnController.

virtual double VCF::ListViewControl::getItemWidth ColumnItem item  )  [virtual]
 

Implements VCF::ColumnController.

ImageList* VCF::ListViewControl::getStateImageList  )  [inline]
 

Reimplemented from VCF::ListControl.

virtual void VCF::ListViewControl::handleEvent Event event  )  [virtual]
 

This gets called by the ControlPeer for any windowing system mouse events, as well as for any windowing system keyboard events and for any windowing system events like size changes, position changes, etc.

Once inside the event the Control determines the type, and behaves accordingly, as well as notifying any appropriate listeners.

Reimplemented from VCF::ListControl.

void VCF::ListViewControl::insertHeaderColumn const uint32 index,
ColumnItem column
 

ColumnItem* VCF::ListViewControl::insertHeaderColumn const uint32 index,
const String columnName,
const double &  width = 100.0
 

ListItem* VCF::ListViewControl::insertItem const uint32 index,
const String caption,
const uint32  imageIndex = 0
 

Reimplemented from VCF::ListControl.

virtual void VCF::ListViewControl::insertItemSubItem ListItem item,
const uint32 index,
ListSubItem subItem
[virtual]
 

Reimplemented from VCF::ListControl.

void VCF::ListViewControl::onColumnItemAdded ListModelEvent event  )  [protected]
 

void VCF::ListViewControl::onColumnItemChanged ItemEvent event  )  [protected]
 

void VCF::ListViewControl::onColumnItemDeleted ListModelEvent event  )  [protected]
 

virtual void VCF::ListViewControl::paint GraphicsContext context  )  [virtual]
 

Paints the control.

Called by the underlying windowing system whenever the control needs to be painted. Note that in some cases the GraphicsContext passed in to this method may not be the same pointer as the GraphicsContext that the control holds itself. During the paint() method you should only use the context value for all your drawing and not the one returned in getContext(). The value returned by getContext() should be used for drawing that takes place outside of the paint() method.

If the control allows paint notification, then the framework will fire an event to the BeforeControlPainted delegate prior to calling the control's paint() method. After the paint() method has returned, if the control allows paint notification, the framework will fire an event to the AfterControlPainted delegate. This allows outside observers to take part in the paint cycle, but beware that this does come at a bit of a cost, so use this feature sparingly.

Note: This should NEVER be called by programmers using the VCF, it will be called for you during the course of your applications native event loop, and is only here for providing custom drawing routines for controls. In other words: you implement it, you never call it yourself.

See also:
getAllowPaintNotification

Implements VCF::Control.

virtual void VCF::ListViewControl::paintSubItem GraphicsContext ctx,
const Rect itemRect,
const uint32 index,
const uint32 subItemIndex,
const DrawUIState state
[inline, virtual]
 

virtual void VCF::ListViewControl::removeItemSubItem ListItem item,
ListSubItem subItem
[virtual]
 

Reimplemented from VCF::ListControl.

virtual void VCF::ListViewControl::removeSubItemsForItem ListItem item  )  [protected, virtual]
 

Reimplemented from VCF::ListControl.

void VCF::ListViewControl::setAllowLabelEditing const bool &  allowLabelEditing  ) 
 

void VCF::ListViewControl::setColumnItem const uint32 index,
ColumnItem item
 

void VCF::ListViewControl::setColumnName const uint32 index,
const String columnName
 

void VCF::ListViewControl::setColumnsWidth const double &  width,
ColumnAutosizeType  type = casAutoSizeNone
 

void VCF::ListViewControl::setColumnWidth const uint32 index,
const double &  width,
ColumnAutosizeType  type = casAutoSizeNone
 

void VCF::ListViewControl::setDisplayOptions const int32 displayOptions  ) 
 

void VCF::ListViewControl::setIconAlignment const IconAlignType iconAlignType  ) 
 

void VCF::ListViewControl::setIconStyle const IconStyleType iconStyle  ) 
 

void VCF::ListViewControl::setItem const uint32 index,
ListItem item
 

Reimplemented from VCF::ListControl.

virtual void VCF::ListViewControl::setItemTextAlignment ColumnItem item,
const TextAlignmentType val
[virtual]
 

Implements VCF::ColumnController.

virtual void VCF::ListViewControl::setItemWidth ColumnItem item,
const double &  val
[virtual]
 

Implements VCF::ColumnController.

void VCF::ListViewControl::setStateImageList ImageList imageList  )  [virtual]
 

Reimplemented from VCF::ListControl.


Member Data Documentation

VCF::ListViewControl::ColumnItemClicked
 

Array<ColumnItem*> VCF::ListViewControl::columnItems_ [protected]
 

ColumnModel* VCF::ListViewControl::columnModel_ [protected]
 

IconStyleType VCF::ListViewControl::iconStyle_ [protected]
 

ListviewPeer* VCF::ListViewControl::listviewPeer_ [protected]
 

VCF::Delegate VCF::ListViewControl::MouseDelegate
 

Event Delegate:
MouseDoubleClicked fires an MouseEvent, with a type set to Control::MOUSE_DBLCLICK. Fired whenever the control receives a double click from the mouse. This is triggered by the underlying windowing system.
event class: MouseEvent
event type: Control::MOUSE_DBLCLICK

Reimplemented from VCF::Control.

SubItemMap VCF::ListViewControl::subItems_ [protected]
 


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