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

VCF::TreeControl Class Reference

#include <vcf/ApplicationKit/TreeControl.h>

Inheritance diagram for VCF::TreeControl:

VCF::Control VCF::TreeController VCF::UIComponent VCF::AbstractView VCF::Component VCF::View VCF::ObjectWithCallbacks VCF::Object VCF::TreeListControl List of all members.

Public Types

enum  TreeControlEvents

Public Member Functions

 TreeControl ()
 TreeControl (TreeModel *model)
virtual ~TreeControl ()
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.
double getItemIndent ()
void setItemIndent (const double &indent)
virtual void modelChanged (Model *oldModel, Model *newModel)
TreeModelgetTreeModel ()
void setTreeModel (TreeModel *tm)
ImageListgetImageList ()
ImageListgetStateImageList ()
void setImageList (ImageList *imageList)
void setStateImageList (ImageList *imageList)
virtual void paint (GraphicsContext *context)
 Paints the control.
virtual TreeItemgetItemParent (TreeItem *item)
virtual void setItemParent (TreeItem *item, TreeItem *parent)
virtual Rect getItemRect (const TreeModel::Key &item)
virtual void addChildItem (TreeItem *item, TreeItem *child)
virtual void removeChildItem (TreeItem *item, TreeItem *child)
virtual TreeItemgetItemFromKey (const TreeModel::Key &key)
virtual void setItemKey (TreeItem *item, const TreeModel::Key &key)
virtual bool getItemChildren (TreeItem *item, std::vector< TreeItem * > &children)
virtual void insertItemSubItem (TreeItem *item, const uint32 &index, TreeSubItem *subItem)
virtual void removeItemSubItem (TreeItem *item, TreeSubItem *subItem)
virtual bool getItemSubItems (TreeItem *item, std::vector< TreeSubItem * > &subItems)
virtual TreeSubItemgetItemSubItem (TreeItem *item, const uint32 &index)
virtual uint32 getItemSubItemIndex (TreeItem *item, TreeSubItem *subItem)
virtual uint32 getItemSubItemCount (TreeItem *item)
virtual void itemExpanded (TreeItem *item)
virtual void itemSelected (TreeItem *item)
void insertItem (TreeItem *parent, TreeItem *item)
TreeIteminsertItem (TreeItem *parent, const String &caption, const uint32 imageIndex=-1)
void removeItem (TreeItem *item)
TreeItemgetSelectedItem ()
Rect getItemImageRect (const TreeModel::Key &item)
TreeModel::Key hitTest (const Point &pt)
bool getAllowLabelEditing ()
void setAllowLabelEditing (const bool &allowLabelEditing)
virtual uint64 sizeOf () const
 Returns the size of this instance.
bool itemExists (const TreeModel::Key &key)
virtual bool subItemExists (const TreeModel::Key &key, const uint32 &subItemIndex)
ColumnModelgetColumnModel ()
virtual ColumnItemgetColumnItem (const uint32 &index)
void setDisplayOptions (const uint32 &displayOptions)
uint32 getDisplayOptions ()
virtual void paintItem (GraphicsContext *ctx, const Rect &itemRect, const TreeModel::Key &key, const DrawUIState &state)
virtual void paintSubItem (GraphicsContext *ctx, const Rect &itemRect, const TreeModel::Key &key, const uint32 &subItemIndex, const DrawUIState &state)

Public Attributes

VCF::Delegate ItemDelegate
 ItemSelected
 ItemStateChangeRequested
 ItemExpanded
 ItemStateChanged

Protected Member Functions

void onTreeItemPaint (ItemEvent *event)
void onModelChanged (ModelEvent *event)

Protected Attributes

TreePeertreePeer_
ImageListimageList_
ImageListstateImageList_
TreeItemcurrentSelectedItem_
ColumnModelcolumnModel_
bool controlChangeToModel_
std::map< TreeModel::Key,
TreeItem * > 
itemMap_
bool inCallbackChange_
uint32 displayOptions_

Member Enumeration Documentation

enum VCF::TreeControl::TreeControlEvents
 


Constructor & Destructor Documentation

VCF::TreeControl::TreeControl  ) 
 

VCF::TreeControl::TreeControl TreeModel model  ) 
 

virtual VCF::TreeControl::~TreeControl  )  [virtual]
 


Member Function Documentation

virtual void VCF::TreeControl::addChildItem TreeItem item,
TreeItem child
[virtual]
 

Implements VCF::TreeController.

bool VCF::TreeControl::getAllowLabelEditing  ) 
 

virtual ColumnItem* VCF::TreeControl::getColumnItem const uint32 index  )  [inline, virtual]
 

Reimplemented in VCF::TreeListControl.

ColumnModel* VCF::TreeControl::getColumnModel  )  [inline]
 

uint32 VCF::TreeControl::getDisplayOptions  )  [inline]
 

ImageList* VCF::TreeControl::getImageList  ) 
 

virtual bool VCF::TreeControl::getItemChildren TreeItem item,
std::vector< TreeItem * > &  children
[virtual]
 

Implements VCF::TreeController.

virtual TreeItem* VCF::TreeControl::getItemFromKey const TreeModel::Key key  )  [virtual]
 

Implements VCF::TreeController.

Rect VCF::TreeControl::getItemImageRect const TreeModel::Key item  ) 
 

double VCF::TreeControl::getItemIndent  ) 
 

virtual TreeItem* VCF::TreeControl::getItemParent TreeItem item  )  [virtual]
 

Implements VCF::TreeController.

virtual Rect VCF::TreeControl::getItemRect const TreeModel::Key item  )  [virtual]
 

Implements VCF::TreeController.

virtual TreeSubItem* VCF::TreeControl::getItemSubItem TreeItem item,
const uint32 index
[virtual]
 

Implements VCF::TreeController.

Reimplemented in VCF::TreeListControl.

virtual uint32 VCF::TreeControl::getItemSubItemCount TreeItem item  )  [virtual]
 

Implements VCF::TreeController.

Reimplemented in VCF::TreeListControl.

virtual uint32 VCF::TreeControl::getItemSubItemIndex TreeItem item,
TreeSubItem subItem
[virtual]
 

Implements VCF::TreeController.

Reimplemented in VCF::TreeListControl.

virtual bool VCF::TreeControl::getItemSubItems TreeItem item,
std::vector< TreeSubItem * > &  subItems
[virtual]
 

Implements VCF::TreeController.

Reimplemented in VCF::TreeListControl.

TreeItem* VCF::TreeControl::getSelectedItem  ) 
 

ImageList* VCF::TreeControl::getStateImageList  ) 
 

TreeModel* VCF::TreeControl::getTreeModel  ) 
 

virtual void VCF::TreeControl::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::Control.

Reimplemented in VCF::TreeListControl.

TreeModel::Key VCF::TreeControl::hitTest const Point pt  ) 
 

TreeItem* VCF::TreeControl::insertItem TreeItem parent,
const String caption,
const uint32  imageIndex = -1
 

void VCF::TreeControl::insertItem TreeItem parent,
TreeItem item
 

virtual void VCF::TreeControl::insertItemSubItem TreeItem item,
const uint32 index,
TreeSubItem subItem
[virtual]
 

Implements VCF::TreeController.

Reimplemented in VCF::TreeListControl.

bool VCF::TreeControl::itemExists const TreeModel::Key key  ) 
 

virtual void VCF::TreeControl::itemExpanded TreeItem item  )  [virtual]
 

Implements VCF::TreeController.

virtual void VCF::TreeControl::itemSelected TreeItem item  )  [virtual]
 

Implements VCF::TreeController.

virtual void VCF::TreeControl::modelChanged Model oldModel,
Model newModel
[virtual]
 

Reimplemented from VCF::Control.

void VCF::TreeControl::onModelChanged ModelEvent event  )  [protected]
 

void VCF::TreeControl::onTreeItemPaint ItemEvent event  )  [protected]
 

virtual void VCF::TreeControl::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::TreeControl::paintItem GraphicsContext ctx,
const Rect itemRect,
const TreeModel::Key key,
const DrawUIState state
[inline, virtual]
 

virtual void VCF::TreeControl::paintSubItem GraphicsContext ctx,
const Rect itemRect,
const TreeModel::Key key,
const uint32 subItemIndex,
const DrawUIState state
[inline, virtual]
 

virtual void VCF::TreeControl::removeChildItem TreeItem item,
TreeItem child
[virtual]
 

Implements VCF::TreeController.

void VCF::TreeControl::removeItem TreeItem item  ) 
 

virtual void VCF::TreeControl::removeItemSubItem TreeItem item,
TreeSubItem subItem
[virtual]
 

Implements VCF::TreeController.

Reimplemented in VCF::TreeListControl.

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

void VCF::TreeControl::setDisplayOptions const uint32 displayOptions  ) 
 

void VCF::TreeControl::setImageList ImageList imageList  ) 
 

void VCF::TreeControl::setItemIndent const double &  indent  ) 
 

virtual void VCF::TreeControl::setItemKey TreeItem item,
const TreeModel::Key key
[virtual]
 

Implements VCF::TreeController.

virtual void VCF::TreeControl::setItemParent TreeItem item,
TreeItem parent
[virtual]
 

Implements VCF::TreeController.

void VCF::TreeControl::setStateImageList ImageList imageList  ) 
 

void VCF::TreeControl::setTreeModel TreeModel tm  ) 
 

virtual uint64 VCF::TreeControl::sizeOf  )  const [virtual]
 

Returns the size of this instance.

This may be signifigantly bigger than, say, sizeof(Object). For example, if your class derives from Object, and has list of other objects, (such as a Component), and various other bits, then these may not all show up in the value returned by sizeof(). Take a vector, a vector of ints or a vector of Object uses up 16 bytes, as reported by sizeof(). But the actual memory used will be quite different, partially dependent on how many items are in the vector. Hence the existence of this function, which allows people to implement something that does a better job of reporting how much memory the object in quest is actually using. The default implementation simply returns sizeof(Object).

Reimplemented from VCF::Object.

virtual bool VCF::TreeControl::subItemExists const TreeModel::Key key,
const uint32 subItemIndex
[inline, virtual]
 

Reimplemented in VCF::TreeListControl.


Member Data Documentation

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

bool VCF::TreeControl::controlChangeToModel_ [protected]
 

TreeItem* VCF::TreeControl::currentSelectedItem_ [protected]
 

uint32 VCF::TreeControl::displayOptions_ [protected]
 

ImageList* VCF::TreeControl::imageList_ [protected]
 

bool VCF::TreeControl::inCallbackChange_ [protected]
 

VCF::Delegate VCF::TreeControl::ItemDelegate
 

Reimplemented in VCF::TreeListControl.

VCF::TreeControl::ItemExpanded
 

std::map<TreeModel::Key,TreeItem*> VCF::TreeControl::itemMap_ [protected]
 

VCF::TreeControl::ItemSelected
 

VCF::TreeControl::ItemStateChanged
 

VCF::TreeControl::ItemStateChangeRequested
 

ImageList* VCF::TreeControl::stateImageList_ [protected]
 

TreePeer* VCF::TreeControl::treePeer_ [protected]
 


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