LLFolderBridge Class Reference

#include <llinventorybridge.h>

Inheritance diagram for LLFolderBridge:

Inheritance graph
[legend]
Collaboration diagram for LLFolderBridge:

Collaboration graph
[legend]
List of all members.

Public Member Functions

BOOL dragItemIntoFolder (LLInventoryItem *inv_item, BOOL drop)
BOOL dragCategoryIntoFolder (LLInventoryCategory *inv_category, BOOL drop)
virtual void performAction (LLFolderView *folder, LLInventoryModel *model, LLString action)
virtual void openItem ()
virtual BOOL isItemRenameable () const
virtual void selectItem ()
virtual void restoreItem ()
virtual LLViewerImagegetIcon () const
virtual BOOL renameItem (const LLString &new_name)
virtual BOOL removeItem ()
virtual BOOL isClipboardPasteable () const
virtual void pasteFromClipboard ()
virtual void buildContextMenu (LLMenuGL &menu, U32 flags)
virtual BOOL hasChildren () const
virtual BOOL dragOrDrop (MASK mask, BOOL drop, EDragAndDropType cargo_type, void *cargo_data)
virtual BOOL isItemRemovable ()
virtual BOOL isItemMovable ()
virtual BOOL isUpToDate () const
LLViewerInventoryCategorygetCategory () const
void folderOptionsMenu ()

Static Public Member Functions

static void createWearable (LLFolderBridge *bridge, EWearableType type)
static void createWearable (LLUUID parent_folder_id, EWearableType type)
static void staticFolderOptionsMenu ()

Static Public Attributes

static LLFolderBridgesSelf = NULL

Protected Member Functions

 LLFolderBridge (LLInventoryPanel *inventory, const LLUUID &uuid)
BOOL checkFolderForContentsOfType (LLInventoryModel *model, LLInventoryCollectFunctor &typeToCheck)
void modifyOutfit (BOOL append)

Static Protected Member Functions

static void pasteClipboard (void *user_data)
static void createNewCategory (void *user_data)
static void createNewShirt (void *user_data)
static void createNewPants (void *user_data)
static void createNewShoes (void *user_data)
static void createNewSocks (void *user_data)
static void createNewJacket (void *user_data)
static void createNewSkirt (void *user_data)
static void createNewGloves (void *user_data)
static void createNewUndershirt (void *user_data)
static void createNewUnderpants (void *user_data)
static void createNewShape (void *user_data)
static void createNewSkin (void *user_data)
static void createNewHair (void *user_data)
static void createNewEyes (void *user_data)

Private Attributes

BOOL mCallingCards
BOOL mWearables
LLMenuGLmMenu
std::vector< LLStringmItems
std::vector< LLStringmDisabledItems

Friends

class LLInvFVBridge

Detailed Description

Definition at line 263 of file llinventorybridge.h.


Constructor & Destructor Documentation

LLFolderBridge::LLFolderBridge ( LLInventoryPanel inventory,
const LLUUID uuid 
) [inline, protected]

Definition at line 299 of file llinventorybridge.h.


Member Function Documentation

void LLFolderBridge::buildContextMenu ( LLMenuGL menu,
U32  flags 
) [virtual]

Reimplemented from LLInvFVBridge.

Definition at line 1813 of file llinventorybridge.cpp.

References LLInventoryModel::addObserver(), LLAssetType::AT_CALLINGCARD, LLAssetType::AT_GESTURE, LLAssetType::AT_LOST_AND_FOUND, LLAssetType::AT_OBJECT, LLAssetType::AT_TRASH, checkFolderForContentsOfType(), LLRightClickInventoryFetchDescendentsObserver::done(), FALSE, LLInventoryFetchDescendentsObserver::fetchDescendents(), LLInventoryModel::findCategoryUUIDForType(), LLInventoryModel::getCategory(), LLInvFVBridge::getClipboardEntries(), LLInventoryPanel::getModel(), LLInventoryObject::getUUID(), gInventory, hideContextEntries(), inc_busy_count(), LLInvFVBridge::isAgentInventory(), LLInventoryFetchDescendentsObserver::isEverythingComplete(), isItemRemovable(), LLInventoryModel::isObjectDescendentOf(), lldebugs, llendl, mCallingCards, mDisabledItems, LLInvFVBridge::mInventoryPanel, mItems, mMenu, LLInvFVBridge::mUUID, mWearables, sSelf, and TRUE.

BOOL LLFolderBridge::checkFolderForContentsOfType ( LLInventoryModel model,
LLInventoryCollectFunctor typeToCheck 
) [protected]

Definition at line 1800 of file llinventorybridge.cpp.

References LLInventoryModel::collectDescendentsIf(), LLDynamicArray< Type, BlockSize >::count(), LLInventoryModel::EXCLUDE_TRASH, FALSE, LLInvFVBridge::mUUID, and TRUE.

Referenced by buildContextMenu(), and folderOptionsMenu().

void LLFolderBridge::createNewCategory ( void user_data  )  [static, protected]

Definition at line 1990 of file llinventorybridge.cpp.

References LLAssetType::AT_NONE, LLInventoryModel::createNewCategory(), LLInventoryPanel::getModel(), LLInvFVBridge::getUUID(), LLInvFVBridge::mInventoryPanel, LLInventoryModel::notifyObservers(), NULL, LLInventoryPanel::setSelection(), and TAKE_FOCUS_YES.

void LLFolderBridge::createNewEyes ( void user_data  )  [static, protected]

Definition at line 2068 of file llinventorybridge.cpp.

References createWearable(), and WT_EYES.

void LLFolderBridge::createNewGloves ( void user_data  )  [static, protected]

Definition at line 2038 of file llinventorybridge.cpp.

References createWearable(), and WT_GLOVES.

void LLFolderBridge::createNewHair ( void user_data  )  [static, protected]

Definition at line 2063 of file llinventorybridge.cpp.

References createWearable(), and WT_HAIR.

void LLFolderBridge::createNewJacket ( void user_data  )  [static, protected]

Definition at line 2028 of file llinventorybridge.cpp.

References createWearable(), and WT_JACKET.

void LLFolderBridge::createNewPants ( void user_data  )  [static, protected]

Definition at line 2013 of file llinventorybridge.cpp.

References createWearable(), and WT_PANTS.

void LLFolderBridge::createNewShape ( void user_data  )  [static, protected]

Definition at line 2053 of file llinventorybridge.cpp.

References createWearable(), and WT_SHAPE.

void LLFolderBridge::createNewShirt ( void user_data  )  [static, protected]

Definition at line 2008 of file llinventorybridge.cpp.

References createWearable(), and WT_SHIRT.

void LLFolderBridge::createNewShoes ( void user_data  )  [static, protected]

Definition at line 2018 of file llinventorybridge.cpp.

References createWearable(), and WT_SHOES.

void LLFolderBridge::createNewSkin ( void user_data  )  [static, protected]

Definition at line 2058 of file llinventorybridge.cpp.

References createWearable(), and WT_SKIN.

void LLFolderBridge::createNewSkirt ( void user_data  )  [static, protected]

Definition at line 2033 of file llinventorybridge.cpp.

References createWearable(), and WT_SKIRT.

void LLFolderBridge::createNewSocks ( void user_data  )  [static, protected]

Definition at line 2023 of file llinventorybridge.cpp.

References createWearable(), and WT_SOCKS.

void LLFolderBridge::createNewUnderpants ( void user_data  )  [static, protected]

Definition at line 2048 of file llinventorybridge.cpp.

References createWearable(), and WT_UNDERPANTS.

void LLFolderBridge::createNewUndershirt ( void user_data  )  [static, protected]

Definition at line 2043 of file llinventorybridge.cpp.

References createWearable(), and WT_UNDERSHIRT.

void LLFolderBridge::createWearable ( LLUUID  parent_folder_id,
EWearableType  type 
) [static]

Definition at line 2084 of file llinventorybridge.cpp.

References create_inventory_item(), LLWearableList::createNewWearable(), gAgent, LLWearable::getAssetType(), LLWearable::getDescription(), LLAgent::getID(), LLPermissions::getMaskNextOwner(), LLWearable::getName(), LLWearable::getPermissions(), LLAgent::getSessionID(), LLWearable::getTransactionID(), LLWearable::getType(), gWearableList, LLInventoryType::IT_WEARABLE, and NULL.

void LLFolderBridge::createWearable ( LLFolderBridge bridge,
EWearableType  type 
) [static]

Definition at line 2074 of file llinventorybridge.cpp.

References LLInvFVBridge::getUUID().

Referenced by createNewEyes(), createNewGloves(), createNewHair(), createNewJacket(), createNewPants(), createNewShape(), createNewShirt(), createNewShoes(), createNewSkin(), createNewSkirt(), createNewSocks(), createNewUnderpants(), createNewUndershirt(), and do_create().

BOOL LLFolderBridge::dragCategoryIntoFolder ( LLInventoryCategory inv_category,
BOOL  drop 
)

Definition at line 1078 of file llinventorybridge.cpp.

References LLAssetType::AT_BODYPART, LLAssetType::AT_CLOTHING, LLAssetType::AT_GESTURE, LLAssetType::AT_NONE, LLAssetType::AT_OBJECT, LLAssetType::AT_TRASH, LLInvFVBridge::changeCategoryParent(), LLInventoryModel::collectDescendents(), LLDynamicArray< Type, BlockSize >::count(), LLGestureManager::deactivateGesture(), FALSE, LLInventoryModel::findCategoryUUIDForType(), gAgent, LLAgent::getAvatarObject(), LLInventoryModel::getCategory(), LLInventoryPanel::getModel(), LLInventoryObject::getParentUUID(), LLInventoryCategory::getPreferredType(), LLToolDragAndDrop::getSource(), LLInventoryObject::getUUID(), gGestureManager, gInventory, gToolDragAndDrop, i, LLInvFVBridge::isAgentInventory(), LLGestureManager::isGestureActive(), LLInventoryModel::isObjectDescendentOf(), LLVOAvatar::isWearingAttachment(), LLAgent::isWearingItem(), LLInvFVBridge::mInventoryPanel, move_inv_category_world_to_agent(), LLInvFVBridge::mUUID, NULL, S32, LLToolDragAndDrop::SOURCE_AGENT, and LLToolDragAndDrop::SOURCE_WORLD.

Referenced by dragOrDrop().

BOOL LLFolderBridge::dragItemIntoFolder ( LLInventoryItem inv_item,
BOOL  drop 
)

Definition at line 2145 of file llinventorybridge.cpp.

References LLAssetType::AT_BODYPART, LLAssetType::AT_CATEGORY, LLAssetType::AT_CLOTHING, LLAssetType::AT_GESTURE, LLAssetType::AT_NONE, LLAssetType::AT_OBJECT, LLAssetType::AT_ROOT_CATEGORY, LLAssetType::AT_TRASH, LLInvFVBridge::changeItemParent(), copy_inventory_from_notecard(), copy_inventory_item(), LLGestureManager::deactivateGesture(), FALSE, LLInventoryModel::findCategoryUUIDForType(), LLViewerObjectList::findObject(), gAgent, LLInventoryView::getActiveInventory(), LLAgent::getAvatarObject(), LLAgent::getGroupID(), LLAgent::getID(), LLInventoryPanel::getModel(), LLToolDragAndDrop::getObjectID(), LLPermissions::getOwner(), LLInventoryView::getPanel(), LLInventoryObject::getParentUUID(), LLInventoryItem::getPermissions(), LLToolDragAndDrop::getSource(), LLToolDragAndDrop::getSourceID(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), gGestureManager, gObjectList, gToolDragAndDrop, LLInvFVBridge::isAgentInventory(), LLViewerInventoryItem::isComplete(), LLGestureManager::isGestureActive(), LLInventoryModel::isObjectDescendentOf(), LLVOAvatar::isWearingAttachment(), LLAgent::isWearingItem(), llendl, llinfos, llwarns, LLMoveInv::mCallback, LLInvFVBridge::mInventoryPanel, LLMoveInv::mMoveList, LLMoveInv::mObjectID, move_task_inventory_callback(), LLMoveInv::mUserData, LLInvFVBridge::mUUID, NULL, LLViewerObject::permYouOwner(), LLToolDragAndDrop::SOURCE_AGENT, LLToolDragAndDrop::SOURCE_LIBRARY, LLToolDragAndDrop::SOURCE_NOTECARD, LLToolDragAndDrop::SOURCE_WORLD, TRUE, LLInventoryPanel::unSelectAll(), and warn_move_inventory().

Referenced by dragOrDrop().

BOOL LLFolderBridge::dragOrDrop ( MASK  mask,
BOOL  drop,
EDragAndDropType  cargo_type,
void cargo_data 
) [virtual]

Reimplemented from LLInvFVBridge.

Definition at line 1939 of file llinventorybridge.cpp.

References DAD_ANIMATION, DAD_BODYPART, DAD_CALLINGCARD, DAD_CATEGORY, DAD_CLOTHING, DAD_GESTURE, DAD_LANDMARK, DAD_NOTECARD, DAD_OBJECT, DAD_SCRIPT, DAD_SOUND, DAD_TEXTURE, dragCategoryIntoFolder(), dragItemIntoFolder(), and FALSE.

void LLFolderBridge::folderOptionsMenu (  ) 

Definition at line 1758 of file llinventorybridge.cpp.

References LLAssetType::AT_CALLINGCARD, LLAssetType::AT_GESTURE, LLAssetType::AT_NONE, LLAssetType::AT_OBJECT, checkFolderForContentsOfType(), LLInventoryModel::getCategory(), LLInventoryPanel::getModel(), LLInventoryCategory::getPreferredType(), hideContextEntries(), mCallingCards, LLInvFVBridge::mInventoryPanel, mItems, mMenu, LLInvFVBridge::mUUID, and mWearables.

Referenced by staticFolderOptionsMenu().

LLViewerInventoryCategory * LLFolderBridge::getCategory (  )  const

Definition at line 1971 of file llinventorybridge.cpp.

References LLInventoryModel::getCategory(), LLInventoryPanel::getModel(), LLInvFVBridge::mInventoryPanel, LLInvFVBridge::mUUID, and NULL.

Referenced by getIcon(), LLBeginIMSession::handleEvent(), isItemRenameable(), modifyOutfit(), performAction(), removeItem(), renameItem(), and restoreItem().

LLViewerImage * LLFolderBridge::getIcon (  )  const [virtual]

Implements LLFolderViewEventListener.

Definition at line 1591 of file llinventorybridge.cpp.

References LLAssetType::AT_ANIMATION, LLAssetType::AT_BODYPART, LLAssetType::AT_CALLINGCARD, LLAssetType::AT_CATEGORY, LLAssetType::AT_CLOTHING, LLAssetType::AT_GESTURE, LLAssetType::AT_LANDMARK, LLAssetType::AT_LOST_AND_FOUND, LLAssetType::AT_LSL_TEXT, LLAssetType::AT_NONE, LLAssetType::AT_NOTECARD, LLAssetType::AT_OBJECT, LLAssetType::AT_SCRIPT, LLAssetType::AT_SNAPSHOT_CATEGORY, LLAssetType::AT_SOUND, LLAssetType::AT_TEXTURE, LLAssetType::AT_TRASH, getCategory(), LLViewerImageList::getImage(), LLInventoryCategory::getPreferredType(), LLControlGroup::getString(), gImageList, gViewerArt, MIPMAP_FALSE, NULL, and TRUE.

BOOL LLFolderBridge::hasChildren (  )  const [virtual]

Implements LLFolderViewEventListener.

Definition at line 1930 of file llinventorybridge.cpp.

References LLInventoryModel::categoryHasChildren(), LLInventoryModel::CHILDREN_NO, FALSE, LLInventoryPanel::getModel(), gInventory, LLInvFVBridge::mInventoryPanel, and LLInvFVBridge::mUUID.

BOOL LLFolderBridge::isClipboardPasteable (  )  const [virtual]

Reimplemented from LLInvFVBridge.

Definition at line 1716 of file llinventorybridge.cpp.

References FALSE, LLInventoryClipboard::instance(), LLInvFVBridge::isAgentInventory(), and TRUE.

Referenced by pasteFromClipboard().

BOOL LLFolderBridge::isItemMovable (  )  [virtual]

Reimplemented from LLInvFVBridge.

Definition at line 981 of file llinventorybridge.cpp.

References LLAssetType::AT_NONE, FALSE, and LLInvFVBridge::getInventoryObject().

BOOL LLFolderBridge::isItemRemovable (  )  [virtual]

Reimplemented from LLInvFVBridge.

Definition at line 997 of file llinventorybridge.cpp.

References LLAssetType::AT_BODYPART, LLAssetType::AT_CLOTHING, LLAssetType::AT_NONE, LLAssetType::AT_OBJECT, LLInventoryModel::collectDescendents(), LLDynamicArray< Type, BlockSize >::count(), FALSE, gAgent, LLAgent::getAvatarObject(), LLInventoryModel::getCategory(), LLAgent::getInventoryRootID(), LLInventoryPanel::getModel(), LLInventoryCategory::getPreferredType(), gInventory, i, LLInventoryModel::isObjectDescendentOf(), LLVOAvatar::isWearingAttachment(), LLAgent::isWearingItem(), LLInvFVBridge::mInventoryPanel, LLInvFVBridge::mUUID, S32, and TRUE.

Referenced by buildContextMenu(), and removeItem().

BOOL LLFolderBridge::isItemRenameable (  )  const [virtual]

Reimplemented from LLInvFVBridge.

Definition at line 1566 of file llinventorybridge.cpp.

References LLAssetType::AT_NONE, FALSE, gAgent, getCategory(), LLAgent::getID(), LLViewerInventoryCategory::getOwnerID(), LLInventoryCategory::getPreferredType(), and TRUE.

Referenced by renameItem().

BOOL LLFolderBridge::isUpToDate (  )  const [virtual]

Implements LLFolderViewEventListener.

Definition at line 1065 of file llinventorybridge.cpp.

References FALSE, LLInventoryModel::getCategory(), LLInventoryPanel::getModel(), LLViewerInventoryCategory::getVersion(), LLInvFVBridge::mInventoryPanel, LLInvFVBridge::mUUID, and LLViewerInventoryCategory::VERSION_UNKNOWN.

void LLFolderBridge::modifyOutfit ( BOOL  append  )  [protected]

Definition at line 2096 of file llinventorybridge.cpp.

References getCategory(), LLInventoryPanel::getModel(), LLInvFVBridge::mInventoryPanel, and wear_inventory_category_on_avatar().

Referenced by performAction().

void LLFolderBridge::openItem (  )  [virtual]

Reimplemented from LLInvFVBridge.

Definition at line 1558 of file llinventorybridge.cpp.

References LLInventoryModel::fetchDescendentsOf(), LLInventoryPanel::getModel(), lldebugs, llendl, LLInvFVBridge::mInventoryPanel, and LLInvFVBridge::mUUID.

Referenced by performAction().

void LLFolderBridge::pasteClipboard ( void user_data  )  [static, protected]

Definition at line 1984 of file llinventorybridge.cpp.

void LLFolderBridge::pasteFromClipboard (  )  [virtual]

Reimplemented from LLInvFVBridge.

Definition at line 1725 of file llinventorybridge.cpp.

References copy_inventory_item(), LLDynamicArray< Type, BlockSize >::count(), count, gAgent, LLDynamicArray< Type, BlockSize >::get(), LLAgent::getID(), LLInventoryModel::getItem(), LLInventoryPanel::getModel(), i, LLInventoryClipboard::instance(), isClipboardPasteable(), LLInvFVBridge::mInventoryPanel, LLInvFVBridge::mUUID, NULL, LLInventoryClipboard::retrieve(), and S32.

Referenced by performAction().

void LLFolderBridge::performAction ( LLFolderView folder,
LLInventoryModel model,
LLString  action 
) [virtual]

Reimplemented from LLFolderViewEventListener.

Definition at line 1506 of file llinventorybridge.cpp.

References LLInventoryModel::deleteObject(), FALSE, getCategory(), LLInventoryPanel::getModel(), LLInventoryModel::getObject(), LLInvFVBridge::mInventoryPanel, modifyOutfit(), LLInvFVBridge::mUUID, LLInventoryModel::notifyObservers(), openItem(), pasteFromClipboard(), LLInventoryModel::purgeDescendentsOf(), remove_inventory_category_from_avatar(), LLInventoryObject::removeFromServer(), restoreItem(), LLInvFVBridge::showProperties(), and TRUE.

BOOL LLFolderBridge::removeItem (  )  [virtual]

Implements LLFolderViewEventListener.

Definition at line 1675 of file llinventorybridge.cpp.

References LLAssetType::AT_GESTURE, LLAssetType::AT_TRASH, LLInvFVBridge::changeCategoryParent(), LLInventoryModel::collectDescendents(), LLDynamicArray< Type, BlockSize >::count(), LLGestureManager::deactivateGesture(), FALSE, LLInventoryModel::findCategoryUUIDForType(), getCategory(), LLInventoryPanel::getModel(), gGestureManager, gInventory, LLPreview::hide(), i, LLGestureManager::isGestureActive(), isItemRemovable(), LLInvFVBridge::mInventoryPanel, LLInvFVBridge::mUUID, S32, and TRUE.

BOOL LLFolderBridge::renameItem ( const LLString new_name  )  [virtual]

Implements LLFolderViewEventListener.

Definition at line 1656 of file llinventorybridge.cpp.

References FALSE, getCategory(), LLInventoryPanel::getModel(), LLInventoryObject::getName(), isItemRenameable(), LLInvFVBridge::mInventoryPanel, LLInventoryModel::notifyObservers(), and LLInventoryModel::updateCategory().

void LLFolderBridge::restoreItem (  )  [virtual]

Reimplemented from LLInvFVBridge.

Definition at line 1577 of file llinventorybridge.cpp.

References LLInvFVBridge::changeCategoryParent(), FALSE, LLInventoryModel::findCategoryUUIDForType(), getCategory(), LLInventoryPanel::getModel(), LLInventoryObject::getType(), and LLInvFVBridge::mInventoryPanel.

Referenced by performAction().

void LLFolderBridge::selectItem (  )  [virtual]

Implements LLFolderViewEventListener.

Definition at line 991 of file llinventorybridge.cpp.

void LLFolderBridge::staticFolderOptionsMenu (  )  [static]

Definition at line 1752 of file llinventorybridge.cpp.

References folderOptionsMenu(), and sSelf.

Referenced by LLRightClickInventoryFetchObserver::done().


Friends And Related Function Documentation

friend class LLInvFVBridge [friend]

Definition at line 265 of file llinventorybridge.h.


Member Data Documentation

BOOL LLFolderBridge::mCallingCards [private]

Definition at line 328 of file llinventorybridge.h.

Referenced by buildContextMenu(), and folderOptionsMenu().

std::vector<LLString> LLFolderBridge::mDisabledItems [private]

Definition at line 332 of file llinventorybridge.h.

Referenced by buildContextMenu().

std::vector<LLString> LLFolderBridge::mItems [private]

Definition at line 331 of file llinventorybridge.h.

Referenced by buildContextMenu(), and folderOptionsMenu().

LLMenuGL* LLFolderBridge::mMenu [private]

Definition at line 330 of file llinventorybridge.h.

Referenced by buildContextMenu(), and folderOptionsMenu().

BOOL LLFolderBridge::mWearables [private]

Definition at line 329 of file llinventorybridge.h.

Referenced by buildContextMenu(), and folderOptionsMenu().

LLFolderBridge * LLFolderBridge::sSelf = NULL [static]

Definition at line 324 of file llinventorybridge.h.

Referenced by buildContextMenu(), LLDoCreate::handleEvent(), and staticFolderOptionsMenu().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:22 2010 for Second Life Viewer by  doxygen 1.4.7