LLFolderViewFolder Class Reference

#include <llfolderview.h>

Inheritance diagram for LLFolderViewFolder:

Inheritance graph
[legend]
Collaboration diagram for LLFolderViewFolder:

Collaboration graph
[legend]

List of all members.

Public Types

enum  e_trash { UNKNOWN, TRASH, NOT_TRASH }
enum  e_recurse_type { RECURSE_NO, RECURSE_UP, RECURSE_DOWN, RECURSE_UP_DOWN }
typedef enum
LLFolderViewFolder::e_trash 
ETrash
typedef enum
LLFolderViewFolder::e_recurse_type 
ERecurseType

Public Member Functions

 LLFolderViewFolder (const LLString &name, LLUIImagePtr icon, LLFolderView *root, LLFolderViewEventListener *listener)
virtual ~LLFolderViewFolder (void)
virtual BOOL potentiallyVisible ()
LLFolderViewItemgetNextFromChild (LLFolderViewItem *, BOOL include_children=TRUE)
LLFolderViewItemgetPreviousFromChild (LLFolderViewItem *, BOOL include_children=TRUE)
virtual BOOL addToFolder (LLFolderViewFolder *folder, LLFolderView *root)
virtual S32 arrange (S32 *width, S32 *height, S32 filter_generation)
BOOL needsArrange ()
virtual EInventorySortGroup getSortGroup ()
virtual void setCompletedFilterGeneration (S32 generation, BOOL recurse_up)
virtual S32 getCompletedFilterGeneration ()
BOOL hasFilteredDescendants (S32 filter_generation)
BOOL hasFilteredDescendants ()
virtual void filter (LLInventoryFilter &filter)
virtual void setFiltered (BOOL filtered, S32 filter_generation)
virtual void dirtyFilter ()
virtual BOOL setSelection (LLFolderViewItem *selection, BOOL open, BOOL take_keyboard_focus)
virtual BOOL changeSelection (LLFolderViewItem *selection, BOOL selected)
virtual S32 extendSelection (LLFolderViewItem *selection, LLFolderViewItem *last_selected, LLDynamicArray< LLFolderViewItem * > &items)
virtual void recursiveDeselect (BOOL deselect_self)
virtual BOOL isRemovable ()
virtual BOOL isMovable ()
virtual void destroyView ()
BOOL removeItem (LLFolderViewItem *item)
void removeView (LLFolderViewItem *item)
void extractItem (LLFolderViewItem *item)
void resort (LLFolderViewItem *item)
void setItemSortOrder (U32 ordering)
void sortBy (U32)
void setAutoOpenCountdown (F32 countdown)
virtual void toggleOpen ()
virtual void setOpen (BOOL open=TRUE)
virtual void requestArrange (BOOL include_descendants=FALSE)
virtual void setOpenArrangeRecursively (BOOL open, ERecurseType recurse=RECURSE_NO)
virtual BOOL isOpen ()
BOOL handleDragAndDropFromChild (MASK mask, BOOL drop, EDragAndDropType cargo_type, void *cargo_data, EAcceptance *accept, LLString &tooltip_msg)
void applyFunctorRecursively (LLFolderViewFunctor &functor)
virtual void applyListenerFunctorRecursively (LLFolderViewListenerFunctor &functor)
virtual void open (void)
virtual BOOL addItem (LLFolderViewItem *item)
virtual BOOL addFolder (LLFolderViewFolder *folder)
virtual BOOL handleHover (S32 x, S32 y, MASK mask)
virtual BOOL handleRightMouseDown (S32 x, S32 y, MASK mask)
virtual BOOL handleMouseDown (S32 x, S32 y, MASK mask)
virtual BOOL handleDoubleClick (S32 x, S32 y, MASK mask)
virtual BOOL handleDragAndDrop (S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void *cargo_data, EAcceptance *accept, LLString &tooltip_msg)
virtual void draw ()
U32 getCreationDate () const
bool isTrash ()

Protected Types

typedef std::vector
< LLFolderViewItem * > 
items_t
typedef std::vector
< LLFolderViewFolder * > 
folders_t

Protected Attributes

items_t mItems
folders_t mFolders
LLInventorySort mSortFunction
BOOL mIsOpen
BOOL mExpanderHighlighted
F32 mCurHeight
F32 mTargetHeight
F32 mAutoOpenCountdown
U32 mSubtreeCreationDate
ETrash mAmTrash
S32 mLastArrangeGeneration
S32 mLastCalculatedWidth
S32 mCompletedFilterGeneration
S32 mMostFilteredDescendantGeneration


Detailed Description

Definition at line 538 of file llfolderview.h.


Member Typedef Documentation

typedef std::vector<LLFolderViewItem*> LLFolderViewFolder::items_t [protected]

Definition at line 547 of file llfolderview.h.

typedef std::vector<LLFolderViewFolder*> LLFolderViewFolder::folders_t [protected]

Definition at line 548 of file llfolderview.h.


Member Enumeration Documentation

Enumerator:
UNKNOWN 
TRASH 
NOT_TRASH 

Definition at line 541 of file llfolderview.h.

Enumerator:
RECURSE_NO 
RECURSE_UP 
RECURSE_DOWN 
RECURSE_UP_DOWN 

Definition at line 565 of file llfolderview.h.


Constructor & Destructor Documentation

LLFolderViewFolder::LLFolderViewFolder ( const LLString name,
LLUIImagePtr  icon,
LLFolderView root,
LLFolderViewEventListener listener 
)

---------------------------------------------------------------------------- Class LLFolderViewFolder ----------------------------------------------------------------------------

Definition at line 975 of file llfolderview.cpp.

References LLFolderViewItem::mType.

LLFolderViewFolder::~LLFolderViewFolder ( void   )  [virtual]

Definition at line 998 of file llfolderview.cpp.

References gFocusMgr, and LLFocusMgr::releaseFocusIfNeeded().

Here is the call graph for this function:


Member Function Documentation

BOOL LLFolderViewFolder::potentiallyVisible (  )  [virtual]

LLFolderViewItem * LLFolderViewFolder::getNextFromChild ( LLFolderViewItem item,
BOOL  include_children = TRUE 
)

Definition at line 2223 of file llfolderview.cpp.

References FALSE, getNextFromChild(), llassert, mFolders, mItems, LLFolderViewItem::mParentFolder, NULL, and TRUE.

Referenced by getNextFromChild(), LLFolderViewItem::getNextOpenNode(), LLPanelInventory::handleDragAndDrop(), and LLFolderView::search().

Here is the call graph for this function:

Here is the caller graph for this function:

LLFolderViewItem * LLFolderViewFolder::getPreviousFromChild ( LLFolderViewItem item,
BOOL  include_children = TRUE 
)

Definition at line 2328 of file llfolderview.cpp.

References FALSE, llassert, mFolders, mItems, NULL, and TRUE.

Referenced by LLFolderViewItem::getPreviousOpenNode(), and LLFolderView::search().

Here is the caller graph for this function:

BOOL LLFolderViewFolder::addToFolder ( LLFolderViewFolder folder,
LLFolderView root 
) [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1010 of file llfolderview.cpp.

References addFolder(), LLFolderView::addItemID(), FALSE, LLFolderViewItem::getListener(), and LLFolderViewItem::mParentFolder.

Referenced by LLPanelInventory::createFolderViews().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 LLFolderViewFolder::arrange ( S32 width,
S32 height,
S32  filter_generation 
) [virtual]

BOOL LLFolderViewFolder::needsArrange (  ) 

Definition at line 1167 of file llfolderview.cpp.

References LLFolderView::getArrangeGeneration(), mLastArrangeGeneration, and LLFolderViewItem::mRoot.

Referenced by arrange(), and LLFolderView::doIdle().

Here is the call graph for this function:

Here is the caller graph for this function:

EInventorySortGroup LLFolderViewFolder::getSortGroup (  )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1784 of file llfolderview.cpp.

References LLFolderViewEventListener::isItemMovable(), isTrash(), LLFolderViewItem::mListener, SG_NORMAL_FOLDER, SG_SYSTEM_FOLDER, and SG_TRASH_FOLDER.

Here is the call graph for this function:

void LLFolderViewFolder::setCompletedFilterGeneration ( S32  generation,
BOOL  recurse_up 
) [virtual]

virtual S32 LLFolderViewFolder::getCompletedFilterGeneration (  )  [inline, virtual]

Definition at line 596 of file llfolderview.h.

References mCompletedFilterGeneration.

Referenced by LLFolderView::doIdle(), LLFolderView::filter(), filter(), potentiallyVisible(), and setCompletedFilterGeneration().

Here is the caller graph for this function:

BOOL LLFolderViewFolder::hasFilteredDescendants ( S32  filter_generation  )  [inline]

Definition at line 598 of file llfolderview.h.

References mMostFilteredDescendantGeneration.

Referenced by LLFolderView::arrange(), arrange(), and LLOpenFilteredFolders::doFolder().

Here is the caller graph for this function:

BOOL LLFolderViewFolder::hasFilteredDescendants (  ) 

Definition at line 1350 of file llfolderview.cpp.

References LLInventoryFilter::getCurrentGeneration(), LLFolderView::getFilter(), mMostFilteredDescendantGeneration, and LLFolderViewItem::mRoot.

Referenced by LLFolderView::arrange(), arrange(), filter(), and potentiallyVisible().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLFolderViewFolder::filter ( LLInventoryFilter filter  )  [virtual]

void LLFolderViewFolder::setFiltered ( BOOL  filtered,
S32  filter_generation 
) [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1329 of file llfolderview.cpp.

References mCurHeight, LLFolderViewItem::mFiltered, and LLFolderViewItem::setFiltered().

Here is the call graph for this function:

void LLFolderViewFolder::dirtyFilter (  )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1343 of file llfolderview.cpp.

References LLFolderViewItem::dirtyFilter(), FALSE, and setCompletedFilterGeneration().

Referenced by LLFolderView::addFolder(), addFolder(), and extractItem().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLFolderViewFolder::setSelection ( LLFolderViewItem selection,
BOOL  open,
BOOL  take_keyboard_focus 
) [virtual]

Reimplemented from LLFolderViewItem.

Reimplemented in LLFolderView.

Definition at line 1357 of file llfolderview.cpp.

References FALSE, mFolders, LLFolderViewItem::mIsSelected, mItems, LLFolderViewItem::mListener, LLFolderViewItem::mNumDescendantsSelected, LLFolderViewEventListener::selectItem(), setOpenArrangeRecursively(), and TRUE.

Referenced by LLFolderView::setSelection().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLFolderViewFolder::changeSelection ( LLFolderViewItem selection,
BOOL  selected 
) [virtual]

Reimplemented from LLFolderViewItem.

Reimplemented in LLFolderView.

Definition at line 1409 of file llfolderview.cpp.

References FALSE, mFolders, LLFolderViewItem::mIsSelected, mItems, LLFolderViewItem::mListener, LLFolderViewItem::mNumDescendantsSelected, LLFolderViewEventListener::selectItem(), and TRUE.

Referenced by LLFolderView::changeSelection().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 LLFolderViewFolder::extendSelection ( LLFolderViewItem selection,
LLFolderViewItem last_selected,
LLDynamicArray< LLFolderViewItem * > &  items 
) [virtual]

Reimplemented from LLFolderViewItem.

Reimplemented in LLFolderView.

Definition at line 1460 of file llfolderview.cpp.

References LLFolderViewItem::changeSelection(), FALSE, LLDynamicArray< Type, BlockSize >::getLength(), LLFolderViewItem::isSelected(), mFolders, mItems, LLFolderViewItem::mNumDescendantsSelected, LLDynamicArray< Type, BlockSize >::put(), S32, and TRUE.

Referenced by LLFolderView::extendSelection().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLFolderViewFolder::recursiveDeselect ( BOOL  deselect_self  )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1582 of file llfolderview.cpp.

References FALSE, LLFolderViewItem::getParentFolder(), llassert, mFolders, LLFolderViewItem::mIsSelected, mItems, LLFolderViewItem::mNumDescendantsSelected, recursiveDeselect(), LLFolderViewItem::recursiveDeselect(), and TRUE.

Referenced by LLFolderView::clearSelection(), and recursiveDeselect().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLFolderViewFolder::isRemovable (  )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1836 of file llfolderview.cpp.

References FALSE, LLFolderViewEventListener::isItemRemovable(), mFolders, mItems, LLFolderViewItem::mListener, and TRUE.

Here is the call graph for this function:

BOOL LLFolderViewFolder::isMovable (  )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1803 of file llfolderview.cpp.

References FALSE, LLFolderViewEventListener::isItemMovable(), mFolders, mItems, LLFolderViewItem::mListener, and TRUE.

Here is the call graph for this function:

void LLFolderViewFolder::destroyView (  )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1623 of file llfolderview.cpp.

References LLView::deleteAllChildren(), destroyView(), LLFolderViewItem::getListener(), LLFolderViewItem::getRoot(), LLFolderViewEventListener::getUUID(), mFolders, mItems, LLFolderViewItem::mParentFolder, LLFolderView::removeItemID(), and removeView().

Referenced by destroyView().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLFolderViewFolder::removeItem ( LLFolderViewItem item  ) 

Definition at line 1654 of file llfolderview.cpp.

References FALSE, LLFolderViewItem::remove(), and TRUE.

Referenced by LLFolderView::removeSelectedItems().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLFolderViewFolder::removeView ( LLFolderViewItem item  ) 

Definition at line 1667 of file llfolderview.cpp.

References extractItem(), LLFolderViewItem::getParentFolder(), LLFolderViewItem::getRoot(), LLFolderViewItem::recursiveDeselect(), LLFolderView::removeFromSelectionList(), and TRUE.

Referenced by destroyView(), and LLFolderViewItem::destroyView().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLFolderViewFolder::extractItem ( LLFolderViewItem item  ) 

Definition at line 1682 of file llfolderview.cpp.

References dirtyFilter(), LLFolderViewItem::getListener(), LLFolderViewItem::getRoot(), LLFolderViewEventListener::getUUID(), mFolders, mItems, LLView::removeChild(), LLFolderView::removeItemID(), and requestArrange().

Referenced by LLInventoryPanel::modelChanged(), and removeView().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLFolderViewFolder::resort ( LLFolderViewItem item  ) 

Definition at line 1712 of file llfolderview.cpp.

References mFolders, mItems, and mSortFunction.

Referenced by LLFolderViewItem::rename().

Here is the caller graph for this function:

void LLFolderViewFolder::setItemSortOrder ( U32  ordering  ) 

Definition at line 1768 of file llfolderview.cpp.

References mFolders, mItems, mSortFunction, and LLInventorySort::updateSort().

Referenced by LLInventoryPanel::buildNewViews(), and LLSetItemSortFunction::doFolder().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLFolderViewFolder::sortBy ( U32  order  ) 

void LLFolderViewFolder::setAutoOpenCountdown ( F32  countdown  )  [inline]

Definition at line 656 of file llfolderview.h.

References mAutoOpenCountdown.

Referenced by LLFolderView::autoOpenTest(), and LLFolderView::closeAutoOpenedFolders().

Here is the caller graph for this function:

void LLFolderViewFolder::toggleOpen (  )  [virtual]

Reimplemented in LLFolderView.

Definition at line 1925 of file llfolderview.cpp.

References mIsOpen, and setOpen().

Referenced by LLPanelInventory::createFolderViews(), handleDoubleClick(), handleMouseDown(), and open().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLFolderViewFolder::setOpen ( BOOL  open = TRUE  )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1931 of file llfolderview.cpp.

References setOpenArrangeRecursively().

Referenced by LLFolderView::autoOpenItem(), LLFolderView::closeAutoOpenedFolders(), LLSaveFolderState::doFolder(), LLFolderView::openFolder(), and toggleOpen().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLFolderViewFolder::requestArrange ( BOOL  include_descendants = FALSE  )  [virtual]

void LLFolderViewFolder::setOpenArrangeRecursively ( BOOL  open,
ERecurseType  recurse = RECURSE_NO 
) [virtual]

virtual BOOL LLFolderViewFolder::isOpen ( void   )  [inline, virtual]

Reimplemented from LLFolderViewItem.

Definition at line 676 of file llfolderview.h.

References mIsOpen.

Referenced by LLFolderView::autoOpenTest(), LLSaveFolderState::doFolder(), and LLFolderView::sanitizeSelection().

Here is the caller graph for this function:

BOOL LLFolderViewFolder::handleDragAndDropFromChild ( MASK  mask,
BOOL  drop,
EDragAndDropType  cargo_type,
void *  cargo_data,
EAcceptance accept,
LLString tooltip_msg 
)

Definition at line 1968 of file llfolderview.cpp.

References ACCEPT_NO, ACCEPT_YES_MULTI, LLFolderView::autoOpenTest(), LLFolderViewEventListener::dragOrDrop(), LLFolderViewItem::getRoot(), LLFolderViewItem::mDragAndDropTarget, LLFolderViewItem::mListener, NULL, and TRUE.

Referenced by LLFolderViewItem::handleDragAndDrop().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLFolderViewFolder::applyFunctorRecursively ( LLFolderViewFunctor functor  ) 

void LLFolderViewFolder::applyListenerFunctorRecursively ( LLFolderViewListenerFunctor functor  )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 2015 of file llfolderview.cpp.

References mFolders, mItems, and LLFolderViewItem::mListener.

void LLFolderViewFolder::open ( void   )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1992 of file llfolderview.cpp.

References toggleOpen().

Here is the call graph for this function:

BOOL LLFolderViewFolder::addItem ( LLFolderViewItem item  )  [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 1869 of file llfolderview.cpp.

References LLView::addChild(), LLFolderViewItem::dirtyFilter(), FALSE, LLView::getRect(), mItems, mSortFunction, requestArrange(), LLView::setRect(), LLView::setVisible(), and TRUE.

Referenced by LLFolderViewItem::addToFolder().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLFolderViewFolder::addFolder ( LLFolderViewFolder folder  )  [virtual]

Reimplemented from LLFolderViewItem.

Reimplemented in LLFolderView.

Definition at line 1887 of file llfolderview.cpp.

References LLView::addChild(), dirtyFilter(), FALSE, LLView::getRect(), mFolders, mSortFunction, requestArrange(), LLView::reshape(), LLView::setOrigin(), LLView::setVisible(), and TRUE.

Referenced by addToFolder().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLFolderViewFolder::handleHover ( S32  x,
S32  y,
MASK  mask 
) [virtual]

Reimplemented from LLFolderViewItem.

Reimplemented in LLFolderView.

Definition at line 2094 of file llfolderview.cpp.

References LLFolderViewItem::handleHover(), and LLView::handleHover().

Here is the call graph for this function:

BOOL LLFolderViewFolder::handleRightMouseDown ( S32  x,
S32  y,
MASK  mask 
) [virtual]

BOOL LLFolderViewFolder::handleMouseDown ( S32  x,
S32  y,
MASK  mask 
) [virtual]

Reimplemented from LLFolderViewItem.

Reimplemented in LLFolderView.

Definition at line 2113 of file llfolderview.cpp.

References LLView::childrenHandleMouseDown(), FALSE, LLFolderViewItem::handleMouseDown(), LEFT_PAD, LLFolderViewItem::mIndentation, mIsOpen, NULL, toggleOpen(), and TRUE.

Here is the call graph for this function:

BOOL LLFolderViewFolder::handleDoubleClick ( S32  x,
S32  y,
MASK  mask 
) [virtual]

Reimplemented from LLFolderViewItem.

Reimplemented in LLFolderView.

Definition at line 2137 of file llfolderview.cpp.

References LLView::childrenHandleDoubleClick(), FALSE, LEFT_PAD, LLFolderViewItem::mIndentation, mIsOpen, NULL, LLFolderViewItem::setSelectionFromRoot(), toggleOpen(), and TRUE.

Here is the call graph for this function:

BOOL LLFolderViewFolder::handleDragAndDrop ( S32  x,
S32  y,
MASK  mask,
BOOL  drop,
EDragAndDropType  cargo_type,
void *  cargo_data,
EAcceptance accept,
LLString tooltip_msg 
) [virtual]

void LLFolderViewFolder::draw ( void   )  [virtual]

U32 LLFolderViewFolder::getCreationDate (  )  const [virtual]

Reimplemented from LLFolderViewItem.

Definition at line 2206 of file llfolderview.cpp.

References LLFolderViewItem::mCreationDate, and mSubtreeCreationDate.

Referenced by sortBy().

Here is the caller graph for this function:

bool LLFolderViewFolder::isTrash (  ) 

Definition at line 1718 of file llfolderview.cpp.

References LLAssetType::AT_TRASH, LLInventoryModel::findCategoryUUIDForType(), LLFolderViewEventListener::getUUID(), gInventory, mAmTrash, LLFolderViewItem::mListener, NOT_TRASH, TRASH, and UNKNOWN.

Referenced by getSortGroup().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 551 of file llfolderview.h.

Referenced by addFolder(), addItem(), resort(), setItemSortOrder(), and sortBy().

Definition at line 554 of file llfolderview.h.

Referenced by draw().

Definition at line 555 of file llfolderview.h.

Referenced by arrange(), draw(), and setFiltered().

Definition at line 556 of file llfolderview.h.

Referenced by LLFolderView::arrange(), arrange(), and draw().

Definition at line 557 of file llfolderview.h.

Referenced by draw(), and setAutoOpenCountdown().

Definition at line 558 of file llfolderview.h.

Referenced by getCreationDate(), and sortBy().

Definition at line 559 of file llfolderview.h.

Referenced by isTrash().

Definition at line 560 of file llfolderview.h.

Referenced by LLFolderView::arrange(), arrange(), needsArrange(), and requestArrange().

Definition at line 561 of file llfolderview.h.

Referenced by arrange().

Definition at line 563 of file llfolderview.h.

Referenced by filter(), hasFilteredDescendants(), and setCompletedFilterGeneration().


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:47:41 2008 for SecondLife by  doxygen 1.5.5