#include <llinventorybridge.h>
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 LLUIImagePtr | getIcon () 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 |
LLViewerInventoryCategory * | getCategory () 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 LLFolderBridge * | sSelf = 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 |
LLMenuGL * | mMenu |
std::vector< LLString > | mItems |
std::vector< LLString > | mDisabledItems |
Friends | |
class | LLInvFVBridge |
Definition at line 263 of file llinventorybridge.h.
LLFolderBridge::LLFolderBridge | ( | LLInventoryPanel * | inventory, | |
const LLUUID & | uuid | |||
) | [inline, protected] |
Definition at line 299 of file llinventorybridge.h.
BOOL LLFolderBridge::dragItemIntoFolder | ( | LLInventoryItem * | inv_item, | |
BOOL | drop | |||
) |
Definition at line 2182 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(), LLSingleton< LLToolDragAndDrop >::getInstance(), LLInventoryPanel::getModel(), LLPermissions::getOwner(), LLInventoryView::getPanel(), LLInventoryObject::getParentUUID(), LLInventoryItem::getPermissions(), LLToolDragAndDrop::getSource(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), gGestureManager, gObjectList, 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::dragCategoryIntoFolder | ( | LLInventoryCategory * | inv_category, | |
BOOL | drop | |||
) |
Definition at line 1116 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(), LLSingleton< LLToolDragAndDrop >::getInstance(), LLInventoryPanel::getModel(), LLInventoryObject::getParentUUID(), LLInventoryCategory::getPreferredType(), LLToolDragAndDrop::getSource(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), gGestureManager, gInventory, 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().
void LLFolderBridge::performAction | ( | LLFolderView * | folder, | |
LLInventoryModel * | model, | |||
LLString | action | |||
) | [virtual] |
Reimplemented from LLFolderViewEventListener.
Definition at line 1544 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.
void LLFolderBridge::openItem | ( | void | ) | [virtual] |
Reimplemented from LLInvFVBridge.
Definition at line 1596 of file llinventorybridge.cpp.
References LLInventoryModel::fetchDescendentsOf(), LLInventoryPanel::getModel(), lldebugs, llendl, LLInvFVBridge::mInventoryPanel, and LLInvFVBridge::mUUID.
Referenced by performAction().
BOOL LLFolderBridge::isItemRenameable | ( | ) | const [virtual] |
Reimplemented from LLInvFVBridge.
Definition at line 1604 of file llinventorybridge.cpp.
References LLAssetType::AT_NONE, FALSE, gAgent, getCategory(), LLAgent::getID(), LLViewerInventoryCategory::getOwnerID(), LLInventoryCategory::getPreferredType(), and TRUE.
Referenced by renameItem().
void LLFolderBridge::selectItem | ( | void | ) | [virtual] |
void LLFolderBridge::restoreItem | ( | ) | [virtual] |
Reimplemented from LLInvFVBridge.
Definition at line 1615 of file llinventorybridge.cpp.
References LLInvFVBridge::changeCategoryParent(), FALSE, LLInventoryModel::findCategoryUUIDForType(), getCategory(), LLInventoryPanel::getModel(), LLInventoryObject::getType(), and LLInvFVBridge::mInventoryPanel.
Referenced by performAction().
LLUIImagePtr LLFolderBridge::getIcon | ( | ) | const [virtual] |
Implements LLFolderViewEventListener.
Definition at line 1629 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(), LLInventoryCategory::getPreferredType(), LLUI::getUIImage(), and NULL.
Implements LLFolderViewEventListener.
Definition at line 1693 of file llinventorybridge.cpp.
References FALSE, getCategory(), LLInventoryPanel::getModel(), LLInventoryObject::getName(), isItemRenameable(), LLInvFVBridge::mInventoryPanel, LLInventoryModel::notifyObservers(), and LLInventoryModel::updateCategory().
BOOL LLFolderBridge::removeItem | ( | ) | [virtual] |
Implements LLFolderViewEventListener.
Definition at line 1712 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(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), gGestureManager, gInventory, LLPreview::hide(), i, LLGestureManager::isGestureActive(), isItemRemovable(), LLInvFVBridge::mInventoryPanel, LLInvFVBridge::mUUID, S32, and TRUE.
BOOL LLFolderBridge::isClipboardPasteable | ( | ) | const [virtual] |
Reimplemented from LLInvFVBridge.
Definition at line 1753 of file llinventorybridge.cpp.
References FALSE, LLInventoryClipboard::instance(), LLInvFVBridge::isAgentInventory(), and TRUE.
Referenced by pasteFromClipboard().
void LLFolderBridge::pasteFromClipboard | ( | ) | [virtual] |
Reimplemented from LLInvFVBridge.
Definition at line 1762 of file llinventorybridge.cpp.
References copy_inventory_item(), LLDynamicArray< Type, BlockSize >::count(), gAgent, LLDynamicArray< Type, BlockSize >::get(), LLAgent::getID(), LLInventoryModel::getItem(), LLInventoryPanel::getModel(), LLPermissions::getOwner(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), i, LLInventoryClipboard::instance(), isClipboardPasteable(), LLInvFVBridge::mInventoryPanel, LLInvFVBridge::mUUID, NULL, LLInventoryClipboard::retrieve(), and S32.
Referenced by performAction().
Reimplemented from LLInvFVBridge.
Definition at line 1850 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::hasChildren | ( | ) | const [virtual] |
Implements LLFolderViewEventListener.
Definition at line 1967 of file llinventorybridge.cpp.
References LLInventoryModel::categoryHasChildren(), LLInventoryModel::CHILDREN_NO, FALSE, LLInventoryPanel::getModel(), gInventory, LLInvFVBridge::mInventoryPanel, and LLInvFVBridge::mUUID.
BOOL LLFolderBridge::dragOrDrop | ( | MASK | mask, | |
BOOL | drop, | |||
EDragAndDropType | cargo_type, | |||
void * | cargo_data | |||
) | [virtual] |
Reimplemented from LLInvFVBridge.
Definition at line 1976 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.
BOOL LLFolderBridge::isItemRemovable | ( | void | ) | [virtual] |
Reimplemented from LLInvFVBridge.
Definition at line 1035 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(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), gInventory, i, LLInventoryModel::isObjectDescendentOf(), LLVOAvatar::isWearingAttachment(), LLAgent::isWearingItem(), LLInvFVBridge::mInventoryPanel, LLInvFVBridge::mUUID, S32, and TRUE.
Referenced by buildContextMenu(), and removeItem().
BOOL LLFolderBridge::isItemMovable | ( | void | ) | [virtual] |
Reimplemented from LLInvFVBridge.
Definition at line 1019 of file llinventorybridge.cpp.
References LLAssetType::AT_NONE, FALSE, and LLInvFVBridge::getInventoryObject().
BOOL LLFolderBridge::isUpToDate | ( | ) | const [virtual] |
Implements LLFolderViewEventListener.
Definition at line 1103 of file llinventorybridge.cpp.
References FALSE, LLInventoryModel::getCategory(), LLInventoryPanel::getModel(), LLViewerInventoryCategory::getVersion(), LLInvFVBridge::mInventoryPanel, LLInvFVBridge::mUUID, and LLViewerInventoryCategory::VERSION_UNKNOWN.
void LLFolderBridge::createWearable | ( | LLFolderBridge * | bridge, | |
EWearableType | type | |||
) | [static] |
Definition at line 2111 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().
void LLFolderBridge::createWearable | ( | LLUUID | parent_folder_id, | |
EWearableType | type | |||
) | [static] |
Definition at line 2121 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.
LLViewerInventoryCategory * LLFolderBridge::getCategory | ( | ) | const |
Definition at line 2008 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().
void LLFolderBridge::pasteClipboard | ( | void * | user_data | ) | [static, protected] |
Definition at line 2021 of file llinventorybridge.cpp.
void LLFolderBridge::createNewCategory | ( | void * | user_data | ) | [static, protected] |
Definition at line 2027 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::createNewShirt | ( | void * | user_data | ) | [static, protected] |
Definition at line 2045 of file llinventorybridge.cpp.
References createWearable(), and WT_SHIRT.
void LLFolderBridge::createNewPants | ( | void * | user_data | ) | [static, protected] |
Definition at line 2050 of file llinventorybridge.cpp.
References createWearable(), and WT_PANTS.
void LLFolderBridge::createNewShoes | ( | void * | user_data | ) | [static, protected] |
Definition at line 2055 of file llinventorybridge.cpp.
References createWearable(), and WT_SHOES.
void LLFolderBridge::createNewSocks | ( | void * | user_data | ) | [static, protected] |
Definition at line 2060 of file llinventorybridge.cpp.
References createWearable(), and WT_SOCKS.
void LLFolderBridge::createNewJacket | ( | void * | user_data | ) | [static, protected] |
Definition at line 2065 of file llinventorybridge.cpp.
References createWearable(), and WT_JACKET.
void LLFolderBridge::createNewSkirt | ( | void * | user_data | ) | [static, protected] |
Definition at line 2070 of file llinventorybridge.cpp.
References createWearable(), and WT_SKIRT.
void LLFolderBridge::createNewGloves | ( | void * | user_data | ) | [static, protected] |
Definition at line 2075 of file llinventorybridge.cpp.
References createWearable(), and WT_GLOVES.
void LLFolderBridge::createNewUndershirt | ( | void * | user_data | ) | [static, protected] |
Definition at line 2080 of file llinventorybridge.cpp.
References createWearable(), and WT_UNDERSHIRT.
void LLFolderBridge::createNewUnderpants | ( | void * | user_data | ) | [static, protected] |
Definition at line 2085 of file llinventorybridge.cpp.
References createWearable(), and WT_UNDERPANTS.
void LLFolderBridge::createNewShape | ( | void * | user_data | ) | [static, protected] |
Definition at line 2090 of file llinventorybridge.cpp.
References createWearable(), and WT_SHAPE.
void LLFolderBridge::createNewSkin | ( | void * | user_data | ) | [static, protected] |
Definition at line 2095 of file llinventorybridge.cpp.
References createWearable(), and WT_SKIN.
void LLFolderBridge::createNewHair | ( | void * | user_data | ) | [static, protected] |
Definition at line 2100 of file llinventorybridge.cpp.
References createWearable(), and WT_HAIR.
void LLFolderBridge::createNewEyes | ( | void * | user_data | ) | [static, protected] |
Definition at line 2105 of file llinventorybridge.cpp.
References createWearable(), and WT_EYES.
BOOL LLFolderBridge::checkFolderForContentsOfType | ( | LLInventoryModel * | model, | |
LLInventoryCollectFunctor & | typeToCheck | |||
) | [protected] |
Definition at line 1837 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::modifyOutfit | ( | BOOL | append | ) | [protected] |
Definition at line 2133 of file llinventorybridge.cpp.
References getCategory(), LLInventoryPanel::getModel(), LLInvFVBridge::mInventoryPanel, and wear_inventory_category_on_avatar().
Referenced by performAction().
void LLFolderBridge::staticFolderOptionsMenu | ( | ) | [static] |
Definition at line 1789 of file llinventorybridge.cpp.
References folderOptionsMenu(), and sSelf.
Referenced by LLRightClickInventoryFetchObserver::done().
void LLFolderBridge::folderOptionsMenu | ( | ) |
Definition at line 1795 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().
friend class LLInvFVBridge [friend] |
Definition at line 265 of file llinventorybridge.h.
LLFolderBridge * LLFolderBridge::sSelf = NULL [static] |
Definition at line 324 of file llinventorybridge.h.
Referenced by buildContextMenu(), LLDoCreate::handleEvent(), and staticFolderOptionsMenu().
BOOL LLFolderBridge::mCallingCards [private] |
Definition at line 328 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().
LLMenuGL* LLFolderBridge::mMenu [private] |
Definition at line 330 of file llinventorybridge.h.
Referenced by buildContextMenu(), and folderOptionsMenu().
std::vector<LLString> LLFolderBridge::mItems [private] |
Definition at line 331 of file llinventorybridge.h.
Referenced by buildContextMenu(), and folderOptionsMenu().
std::vector<LLString> LLFolderBridge::mDisabledItems [private] |