Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FX::FXFoldingList Class Reference

A Folding List Widget resembles a Tree list except that it supports a header control to provide each item with multiple columns of text. More...

#include <FXFoldingList.h>

Inheritance diagram for FX::FXFoldingList:

FX::FXScrollArea FX::FXComposite FX::FXWindow FX::FXDrawable FX::FXId FX::FXObject List of all members.

Public Member Functions

 FXFoldingList (FXComposite *p, FXObject *tgt=NULL, FXSelector sel=0, FXuint opts=FOLDINGLIST_NORMAL, FXint x=0, FXint y=0, FXint w=0, FXint h=0)
virtual void create ()
virtual void detach ()
virtual void layout ()
virtual FXint getDefaultWidth ()
virtual FXint getDefaultHeight ()
virtual FXint getContentWidth ()
virtual FXint getContentHeight ()
virtual void recalc ()
virtual FXbool canFocus () const
virtual void setFocus ()
virtual void killFocus ()
FXHeadergetHeader () const
void setHeaders (const FXchar **strings, FXint size=1)
void setHeaders (const FXString &strings, FXint size=1)
void appendHeader (const FXString &text, FXIcon *icon=NULL, FXint size=1)
void removeHeader (FXint index)
void setHeaderText (FXint index, const FXString &text)
FXString getHeaderText (FXint index) const
void setHeaderIcon (FXint index, FXIcon *icon)
FXIcongetHeaderIcon (FXint index) const
void setHeaderSize (FXint index, FXint size)
FXint getHeaderSize (FXint index) const
FXint getNumHeaders () const
FXint getNumItems () const
FXint getNumVisible () const
void setNumVisible (FXint nvis)
FXFoldingItemgetFirstItem () const
FXFoldingItemgetLastItem () const
FXint fillItems (FXFoldingItem *father, const FXchar **strings, FXIcon *oi=NULL, FXIcon *ci=NULL, void *ptr=NULL, FXbool notify=FALSE)
FXint fillItems (FXFoldingItem *father, const FXString &strings, FXIcon *oi=NULL, FXIcon *ci=NULL, void *ptr=NULL, FXbool notify=FALSE)
FXFoldingIteminsertItem (FXFoldingItem *other, FXFoldingItem *father, FXFoldingItem *item, FXbool notify=FALSE)
FXFoldingIteminsertItem (FXFoldingItem *other, FXFoldingItem *father, const FXString &text, FXIcon *oi=NULL, FXIcon *ci=NULL, void *ptr=NULL, FXbool notify=FALSE)
FXFoldingItemappendItem (FXFoldingItem *father, FXFoldingItem *item, FXbool notify=FALSE)
FXFoldingItemappendItem (FXFoldingItem *father, const FXString &text, FXIcon *oi=NULL, FXIcon *ci=NULL, void *ptr=NULL, FXbool notify=FALSE)
FXFoldingItemprependItem (FXFoldingItem *father, FXFoldingItem *item, FXbool notify=FALSE)
FXFoldingItemprependItem (FXFoldingItem *father, const FXString &text, FXIcon *oi=NULL, FXIcon *ci=NULL, void *ptr=NULL, FXbool notify=FALSE)
FXFoldingItemmoveItem (FXFoldingItem *other, FXFoldingItem *father, FXFoldingItem *item)
void removeItem (FXFoldingItem *item, FXbool notify=FALSE)
void removeItems (FXFoldingItem *fm, FXFoldingItem *to, FXbool notify=FALSE)
void clearItems (FXbool notify=FALSE)
FXint getItemWidth (const FXFoldingItem *item) const
FXint getItemHeight (const FXFoldingItem *item) const
virtual FXFoldingItemgetItemAt (FXint x, FXint y) const
FXFoldingItemfindItem (const FXString &text, FXFoldingItem *start=NULL, FXuint flags=SEARCH_FORWARD|SEARCH_WRAP) const
FXFoldingItemfindItemByData (const void *ptr, FXFoldingItem *start=NULL, FXuint flags=SEARCH_FORWARD|SEARCH_WRAP) const
virtual void makeItemVisible (FXFoldingItem *item)
void setItemText (FXFoldingItem *item, const FXString &text)
FXString getItemText (const FXFoldingItem *item) const
void setItemOpenIcon (FXFoldingItem *item, FXIcon *icon, FXbool owned=FALSE)
FXIcongetItemOpenIcon (const FXFoldingItem *item) const
void setItemClosedIcon (FXFoldingItem *item, FXIcon *icon, FXbool owned=FALSE)
FXIcongetItemClosedIcon (const FXFoldingItem *item) const
void setItemData (FXFoldingItem *item, void *ptr) const
void * getItemData (const FXFoldingItem *item) const
FXbool isItemSelected (const FXFoldingItem *item) const
FXbool isItemCurrent (const FXFoldingItem *item) const
FXbool isItemVisible (const FXFoldingItem *item) const
FXbool isItemOpened (const FXFoldingItem *item) const
FXbool isItemExpanded (const FXFoldingItem *item) const
FXbool isItemLeaf (const FXFoldingItem *item) const
FXbool isItemEnabled (const FXFoldingItem *item) const
FXint hitItem (const FXFoldingItem *item, FXint x, FXint y) const
void updateItem (FXFoldingItem *item)
virtual FXbool enableItem (FXFoldingItem *item)
virtual FXbool disableItem (FXFoldingItem *item)
virtual FXbool selectItem (FXFoldingItem *item, FXbool notify=FALSE)
virtual FXbool deselectItem (FXFoldingItem *item, FXbool notify=FALSE)
virtual FXbool toggleItem (FXFoldingItem *item, FXbool notify=FALSE)
virtual FXbool extendSelection (FXFoldingItem *item, FXbool notify=FALSE)
virtual FXbool killSelection (FXbool notify=FALSE)
virtual FXbool openItem (FXFoldingItem *item, FXbool notify=FALSE)
virtual FXbool closeItem (FXFoldingItem *item, FXbool notify=FALSE)
virtual FXbool collapseTree (FXFoldingItem *tree, FXbool notify=FALSE)
virtual FXbool expandTree (FXFoldingItem *tree, FXbool notify=FALSE)
virtual void setCurrentItem (FXFoldingItem *item, FXbool notify=FALSE)
FXFoldingItemgetCurrentItem () const
void setAnchorItem (FXFoldingItem *item)
FXFoldingItemgetAnchorItem () const
FXFoldingItemgetCursorItem () const
void sortItems ()
void sortRootItems ()
void sortChildItems (FXFoldingItem *item)
FXFoldingListSortFunc getSortFunc () const
void setSortFunc (FXFoldingListSortFunc func)
void setFont (FXFont *fnt)
FXFontgetFont () const
void setIndent (FXint in)
FXint getIndent () const
FXColor getTextColor () const
void setTextColor (FXColor clr)
FXColor getSelBackColor () const
void setSelBackColor (FXColor clr)
FXColor getSelTextColor () const
void setSelTextColor (FXColor clr)
FXColor getLineColor () const
void setLineColor (FXColor clr)
FXuint getListStyle () const
void setListStyle (FXuint style)
void setHelpText (const FXString &text)
const FXStringgetHelpText () const
virtual void save (FXStream &store) const
virtual void load (FXStream &store)
virtual ~FXFoldingList ()

Static Public Member Functions

FXint ascending (const FXFoldingItem *, const FXFoldingItem *)
FXint descending (const FXFoldingItem *, const FXFoldingItem *)
FXint ascendingCase (const FXFoldingItem *, const FXFoldingItem *)
FXint descendingCase (const FXFoldingItem *, const FXFoldingItem *)

Detailed Description

A Folding List Widget resembles a Tree list except that it supports a header control to provide each item with multiple columns of text.

Subtrees can be collapsed or expanded by double-clicking on an item or by clicking on the optional plus button in front of the item. Each item may have a text and optional open-icon as well as a closed-icon. The items may be connected by optional lines to show the hierarchical relationship. When an item's selected state changes, the folding list emits a SEL_SELECTED or SEL_DESELECTED message. If an item is opened or closed, a message of type SEL_OPENED or SEL_CLOSED is sent. When the subtree under an item is expanded, a SEL_EXPANDED or SEL_COLLAPSED message is issued. A change of the current item is signified by the SEL_CHANGED message. In addition, the folding list sends SEL_COMMAND messages when the user clicks on an item, and SEL_CLICKED, SEL_DOUBLECLICKED, and SEL_TRIPLECLICKED when the user clicks once, twice, or thrice, respectively. When items are added or removed, the folding list sends messages of the type SEL_INSERTED or SEL_DELETED. In each of these cases, a pointer to the item, if any, is passed in the 3rd argument of the message.

See also:


Constructor & Destructor Documentation

FX::FXFoldingList::FXFoldingList FXComposite p,
FXObject tgt = NULL,
FXSelector  sel = 0,
FXuint  opts = FOLDINGLIST_NORMAL,
FXint  x = 0,
FXint  y = 0,
FXint  w = 0,
FXint  h = 0
 

Construct a folding list; the folding list is initially empty.

virtual FX::FXFoldingList::~FXFoldingList  )  [virtual]
 

Destructor.


Member Function Documentation

virtual void FX::FXFoldingList::create  )  [virtual]
 

Create server-side resources.

Reimplemented from FX::FXComposite.

virtual void FX::FXFoldingList::detach  )  [virtual]
 

Detach server-side resources.

Reimplemented from FX::FXComposite.

virtual void FX::FXFoldingList::layout  )  [virtual]
 

Perform layout.

Reimplemented from FX::FXScrollArea.

virtual FXint FX::FXFoldingList::getDefaultWidth  )  [virtual]
 

Return default width.

Reimplemented from FX::FXScrollArea.

virtual FXint FX::FXFoldingList::getDefaultHeight  )  [virtual]
 

Return default height.

Reimplemented from FX::FXScrollArea.

virtual FXint FX::FXFoldingList::getContentWidth  )  [virtual]
 

Compute and return content width.

Reimplemented from FX::FXScrollArea.

virtual FXint FX::FXFoldingList::getContentHeight  )  [virtual]
 

Return content height.

Reimplemented from FX::FXScrollArea.

virtual void FX::FXFoldingList::recalc  )  [virtual]
 

Recalculate layout.

Reimplemented from FX::FXWindow.

virtual FXbool FX::FXFoldingList::canFocus  )  const [virtual]
 

Tree list can receive focus.

Reimplemented from FX::FXWindow.

virtual void FX::FXFoldingList::setFocus  )  [virtual]
 

Move the focus to this window.

Reimplemented from FX::FXWindow.

virtual void FX::FXFoldingList::killFocus  )  [virtual]
 

Remove the focus from this window.

Reimplemented from FX::FXWindow.

FXHeader* FX::FXFoldingList::getHeader  )  const [inline]
 

Return header control.

void FX::FXFoldingList::setHeaders const FXchar **  strings,
FXint  size = 1
 

Set headers from array of strings.

void FX::FXFoldingList::setHeaders const FXString strings,
FXint  size = 1
 

Set headers from newline separated strings.

void FX::FXFoldingList::appendHeader const FXString text,
FXIcon icon = NULL,
FXint  size = 1
 

Append header with given text and optional icon.

void FX::FXFoldingList::removeHeader FXint  index  ) 
 

Remove header at index.

void FX::FXFoldingList::setHeaderText FXint  index,
const FXString text
 

Change text of header at index.

FXString FX::FXFoldingList::getHeaderText FXint  index  )  const
 

Return text of header at index.

void FX::FXFoldingList::setHeaderIcon FXint  index,
FXIcon icon
 

Change icon of header at index.

FXIcon* FX::FXFoldingList::getHeaderIcon FXint  index  )  const
 

Return icon of header at index.

void FX::FXFoldingList::setHeaderSize FXint  index,
FXint  size
 

Change size of header at index.

FXint FX::FXFoldingList::getHeaderSize FXint  index  )  const
 

Return width of header at index.

FXint FX::FXFoldingList::getNumHeaders  )  const
 

Return number of headers.

FXint FX::FXFoldingList::getNumItems  )  const
 

Return number of items.

FXint FX::FXFoldingList::getNumVisible  )  const [inline]
 

Return number of visible items.

void FX::FXFoldingList::setNumVisible FXint  nvis  ) 
 

Change number of visible items.

FXFoldingItem* FX::FXFoldingList::getFirstItem  )  const [inline]
 

Return first root item.

FXFoldingItem* FX::FXFoldingList::getLastItem  )  const [inline]
 

Return last root item.

FXint FX::FXFoldingList::fillItems FXFoldingItem father,
const FXchar **  strings,
FXIcon oi = NULL,
FXIcon ci = NULL,
void *  ptr = NULL,
FXbool  notify = FALSE
 

Fill list by appending items from array of strings.

FXint FX::FXFoldingList::fillItems FXFoldingItem father,
const FXString strings,
FXIcon oi = NULL,
FXIcon ci = NULL,
void *  ptr = NULL,
FXbool  notify = FALSE
 

Fill list by appending items from newline separated strings.

FXFoldingItem* FX::FXFoldingList::insertItem FXFoldingItem other,
FXFoldingItem father,
FXFoldingItem item,
FXbool  notify = FALSE
 

Insert [possibly subclassed] item under father before other item.

FXFoldingItem* FX::FXFoldingList::insertItem FXFoldingItem other,
FXFoldingItem father,
const FXString text,
FXIcon oi = NULL,
FXIcon ci = NULL,
void *  ptr = NULL,
FXbool  notify = FALSE
 

Insert item with given text and optional icons, and user-data pointer under father before other item.

FXFoldingItem* FX::FXFoldingList::appendItem FXFoldingItem father,
FXFoldingItem item,
FXbool  notify = FALSE
 

Append [possibly subclassed] item as last child of father.

FXFoldingItem* FX::FXFoldingList::appendItem FXFoldingItem father,
const FXString text,
FXIcon oi = NULL,
FXIcon ci = NULL,
void *  ptr = NULL,
FXbool  notify = FALSE
 

Append item with given text and optional icons, and user-data pointer as last child of father.

FXFoldingItem* FX::FXFoldingList::prependItem FXFoldingItem father,
FXFoldingItem item,
FXbool  notify = FALSE
 

Prepend [possibly subclassed] item as first child of father.

FXFoldingItem* FX::FXFoldingList::prependItem FXFoldingItem father,
const FXString text,
FXIcon oi = NULL,
FXIcon ci = NULL,
void *  ptr = NULL,
FXbool  notify = FALSE
 

Prepend item with given text and optional icons, and user-data pointer as first child of father.

FXFoldingItem* FX::FXFoldingList::moveItem FXFoldingItem other,
FXFoldingItem father,
FXFoldingItem item
 

Move item under father before other item.

void FX::FXFoldingList::removeItem FXFoldingItem item,
FXbool  notify = FALSE
 

Remove item.

void FX::FXFoldingList::removeItems FXFoldingItem fm,
FXFoldingItem to,
FXbool  notify = FALSE
 

Remove items in range [fm, to] inclusively.

void FX::FXFoldingList::clearItems FXbool  notify = FALSE  ) 
 

Remove all items from list.

FXint FX::FXFoldingList::getItemWidth const FXFoldingItem item  )  const [inline]
 

Return item width.

FXint FX::FXFoldingList::getItemHeight const FXFoldingItem item  )  const [inline]
 

Return item height.

virtual FXFoldingItem* FX::FXFoldingList::getItemAt FXint  x,
FXint  y
const [virtual]
 

Get item at x,y, if any.

FXFoldingItem* FX::FXFoldingList::findItem const FXString text,
FXFoldingItem start = NULL,
FXuint  flags = SEARCH_FORWARD|SEARCH_WRAP
const
 

Search items by name, beginning from item start.

If the start item is NULL the search will start at the first, top-most item in the list. Flags may be SEARCH_FORWARD or SEARCH_BACKWARD to control the search direction; this can be combined with SEARCH_NOWRAP or SEARCH_WRAP to control whether the search wraps at the start or end of the list. The option SEARCH_IGNORECASE causes a case-insensitive match. Finally, passing SEARCH_PREFIX causes searching for a prefix of the item name. Return NULL if no matching item is found.

FXFoldingItem* FX::FXFoldingList::findItemByData const void *  ptr,
FXFoldingItem start = NULL,
FXuint  flags = SEARCH_FORWARD|SEARCH_WRAP
const
 

Search items by associated user data, beginning from item start.

If the start item is NULL the search will start at the first, top-most item in the list. Flags may be SEARCH_FORWARD or SEARCH_BACKWARD to control the search direction; this can be combined with SEARCH_NOWRAP or SEARCH_WRAP to control whether the search wraps at the start or end of the list. The option SEARCH_IGNORECASE causes a case-insensitive match. Finally, passing SEARCH_PREFIX causes searching for a prefix of the item name. Return NULL if no matching item is found.

virtual void FX::FXFoldingList::makeItemVisible FXFoldingItem item  )  [virtual]
 

Scroll to make item visible.

void FX::FXFoldingList::setItemText FXFoldingItem item,
const FXString text
 

Change item's text.

FXString FX::FXFoldingList::getItemText const FXFoldingItem item  )  const
 

Return item's text.

void FX::FXFoldingList::setItemOpenIcon FXFoldingItem item,
FXIcon icon,
FXbool  owned = FALSE
 

Change item's open icon, deleting old icon if it was owned.

FXIcon* FX::FXFoldingList::getItemOpenIcon const FXFoldingItem item  )  const
 

Return item's open icon.

void FX::FXFoldingList::setItemClosedIcon FXFoldingItem item,
FXIcon icon,
FXbool  owned = FALSE
 

Chance item's closed icon, deleting old icon if it was owned.

FXIcon* FX::FXFoldingList::getItemClosedIcon const FXFoldingItem item  )  const
 

Return item's closed icon.

void FX::FXFoldingList::setItemData FXFoldingItem item,
void *  ptr
const
 

Change item user-data pointer.

void* FX::FXFoldingList::getItemData const FXFoldingItem item  )  const
 

Return item user-data pointer.

FXbool FX::FXFoldingList::isItemSelected const FXFoldingItem item  )  const
 

Return TRUE if item is selected.

FXbool FX::FXFoldingList::isItemCurrent const FXFoldingItem item  )  const
 

Return TRUE if item is current.

FXbool FX::FXFoldingList::isItemVisible const FXFoldingItem item  )  const
 

Return TRUE if item is visible.

FXbool FX::FXFoldingList::isItemOpened const FXFoldingItem item  )  const
 

Return TRUE if item opened.

FXbool FX::FXFoldingList::isItemExpanded const FXFoldingItem item  )  const
 

Return TRUE if item expanded.

FXbool FX::FXFoldingList::isItemLeaf const FXFoldingItem item  )  const
 

Return TRUE if item is a leaf-item, i.e. has no children.

FXbool FX::FXFoldingList::isItemEnabled const FXFoldingItem item  )  const
 

Return TRUE if item is enabled.

FXint FX::FXFoldingList::hitItem const FXFoldingItem item,
FXint  x,
FXint  y
const
 

Return item hit code: 0 outside, 1 icon, 2 text, 3 box.

void FX::FXFoldingList::updateItem FXFoldingItem item  ) 
 

Repaint item.

virtual FXbool FX::FXFoldingList::enableItem FXFoldingItem item  )  [virtual]
 

Enable item.

virtual FXbool FX::FXFoldingList::disableItem FXFoldingItem item  )  [virtual]
 

Disable item.

virtual FXbool FX::FXFoldingList::selectItem FXFoldingItem item,
FXbool  notify = FALSE
[virtual]
 

Select item.

virtual FXbool FX::FXFoldingList::deselectItem FXFoldingItem item,
FXbool  notify = FALSE
[virtual]
 

Deselect item.

virtual FXbool FX::FXFoldingList::toggleItem FXFoldingItem item,
FXbool  notify = FALSE
[virtual]
 

Toggle item selection.

virtual FXbool FX::FXFoldingList::extendSelection FXFoldingItem item,
FXbool  notify = FALSE
[virtual]
 

Extend selection from anchor item to item.

virtual FXbool FX::FXFoldingList::killSelection FXbool  notify = FALSE  )  [virtual]
 

Deselect all items.

virtual FXbool FX::FXFoldingList::openItem FXFoldingItem item,
FXbool  notify = FALSE
[virtual]
 

Open item.

virtual FXbool FX::FXFoldingList::closeItem FXFoldingItem item,
FXbool  notify = FALSE
[virtual]
 

Close item.

virtual FXbool FX::FXFoldingList::collapseTree FXFoldingItem tree,
FXbool  notify = FALSE
[virtual]
 

Collapse tree.

virtual FXbool FX::FXFoldingList::expandTree FXFoldingItem tree,
FXbool  notify = FALSE
[virtual]
 

Expand tree.

virtual void FX::FXFoldingList::setCurrentItem FXFoldingItem item,
FXbool  notify = FALSE
[virtual]
 

Change current item.

FXFoldingItem* FX::FXFoldingList::getCurrentItem  )  const [inline]
 

Return current item, if any.

void FX::FXFoldingList::setAnchorItem FXFoldingItem item  ) 
 

Change anchor item.

FXFoldingItem* FX::FXFoldingList::getAnchorItem  )  const [inline]
 

Return anchor item, if any.

FXFoldingItem* FX::FXFoldingList::getCursorItem  )  const [inline]
 

Return item under cursor, if any.

void FX::FXFoldingList::sortItems  ) 
 

Sort all items recursively.

void FX::FXFoldingList::sortRootItems  ) 
 

Sort root items.

void FX::FXFoldingList::sortChildItems FXFoldingItem item  ) 
 

Sort children of item.

FXFoldingListSortFunc FX::FXFoldingList::getSortFunc  )  const [inline]
 

Return sort function.

void FX::FXFoldingList::setSortFunc FXFoldingListSortFunc  func  )  [inline]
 

Change sort function.

void FX::FXFoldingList::setFont FXFont fnt  ) 
 

Change text font.

FXFont* FX::FXFoldingList::getFont  )  const [inline]
 

Return text font.

void FX::FXFoldingList::setIndent FXint  in  ) 
 

Change parent-child indent amount.

FXint FX::FXFoldingList::getIndent  )  const [inline]
 

Return parent-child indent amount.

FXColor FX::FXFoldingList::getTextColor  )  const [inline]
 

Return normal text color.

void FX::FXFoldingList::setTextColor FXColor  clr  ) 
 

Change normal text color.

FXColor FX::FXFoldingList::getSelBackColor  )  const [inline]
 

Return selected text background.

void FX::FXFoldingList::setSelBackColor FXColor  clr  ) 
 

Change selected text background.

FXColor FX::FXFoldingList::getSelTextColor  )  const [inline]
 

Return selected text color.

void FX::FXFoldingList::setSelTextColor FXColor  clr  ) 
 

Change selected text color.

FXColor FX::FXFoldingList::getLineColor  )  const [inline]
 

Return line color.

void FX::FXFoldingList::setLineColor FXColor  clr  ) 
 

Change line color.

FXuint FX::FXFoldingList::getListStyle  )  const
 

Return list style.

void FX::FXFoldingList::setListStyle FXuint  style  ) 
 

Change list style.

void FX::FXFoldingList::setHelpText const FXString text  ) 
 

Set the status line help text for this list.

const FXString& FX::FXFoldingList::getHelpText  )  const [inline]
 

Get the status line help text for this list.

virtual void FX::FXFoldingList::save FXStream store  )  const [virtual]
 

Save object to a stream.

Reimplemented from FX::FXWindow.

virtual void FX::FXFoldingList::load FXStream store  )  [virtual]
 

Load object from a stream.

Reimplemented from FX::FXWindow.

Copyright © 1997-2005 Jeroen van der Zijp