#include <lltooldraganddrop.h>
Definition at line 49 of file lltooldraganddrop.h.
typedef EAcceptance(LLToolDragAndDrop::* LLToolDragAndDrop::dragOrDrop3dImpl)(LLViewerObject *, S32, MASK, BOOL) [protected] |
Definition at line 65 of file lltooldraganddrop.h.
enum LLToolDragAndDrop::EDropTarget [protected] |
Definition at line 89 of file lltooldraganddrop.h.
LLToolDragAndDrop::LLToolDragAndDrop | ( | ) |
Definition at line 571 of file lltooldraganddrop.cpp.
Reimplemented from LLTool.
Definition at line 749 of file lltooldraganddrop.cpp.
References ACCEPT_NO, dragOrDrop(), endDrag(), LLTool::hasMouseCapture(), and TRUE.
Reimplemented from LLTool.
Definition at line 760 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_NO_LOCKED, ACCEPT_POSTPONED, ACCEPT_YES_COPY_MULTI, ACCEPT_YES_COPY_SINGLE, ACCEPT_YES_MULTI, ACCEPT_YES_SINGLE, dragOrDrop(), FALSE, LLViewerWindow::getWindow(), gViewerWindow, llassert, lldebugst, llendl, mCargoIDs, mCursor, LLWindow::setCursor(), TRUE, UI_CURSOR_ARROWCOPY, UI_CURSOR_ARROWCOPYMULTI, UI_CURSOR_ARROWDRAG, UI_CURSOR_ARROWDRAGMULTI, UI_CURSOR_NO, and UI_CURSOR_NOLOCKED.
Referenced by LLViewerTextEditor::handleHover(), LLPreview::handleHover(), and LLFolderViewItem::handleHover().
Reimplemented from LLTool.
Definition at line 813 of file lltooldraganddrop.cpp.
References endDrag(), FALSE, KEY_ESCAPE, and TRUE.
BOOL LLToolDragAndDrop::handleToolTip | ( | S32 | x, | |
S32 | y, | |||
LLString & | msg, | |||
LLRect * | sticky_rect_screen | |||
) | [virtual] |
Reimplemented from LLTool.
Definition at line 825 of file lltooldraganddrop.cpp.
References FALSE, mToolTipMsg, and TRUE.
void LLToolDragAndDrop::onMouseCaptureLost | ( | ) | [virtual] |
Reimplemented from LLTool.
Definition at line 738 of file lltooldraganddrop.cpp.
References LLToolMgr::clearTransientTool(), LLSingleton< LLToolMgr >::getInstance(), mCargoIDs, mCargoTypes, mObjectID, mSource, mSourceID, LLUUID::setNull(), and SOURCE_AGENT.
void LLToolDragAndDrop::handleDeselect | ( | ) | [virtual] |
Reimplemented from LLTool.
Definition at line 836 of file lltooldraganddrop.cpp.
References mToolTipMsg.
Definition at line 585 of file lltooldraganddrop.cpp.
References mDragStartX, and mDragStartY.
Referenced by LLViewerTextEditor::handleMouseDown(), LLPreview::handleMouseDown(), and LLFolderViewItem::handleMouseDown().
Definition at line 591 of file lltooldraganddrop.cpp.
References llabs(), mDragStartX, mDragStartY, and S32.
Referenced by LLPreview::handleHover().
void LLToolDragAndDrop::beginDrag | ( | EDragAndDropType | type, | |
const LLUUID & | cargo_id, | |||
ESource | source, | |||
const LLUUID & | source_id = LLUUID::null , |
|||
const LLUUID & | object_id = LLUUID::null | |||
) |
Definition at line 598 of file lltooldraganddrop.cpp.
References LLInventoryModel::collectDescendentsIf(), LLDynamicArray< Type, BlockSize >::count(), DAD_CATEGORY, DAD_NONE, LLInventoryModel::EXCLUDE_TRASH, LLInventoryFetchComboObserver::fetch(), LLDynamicArray< Type, BlockSize >::get(), LLInventoryModel::getCategory(), LLSingleton< LLToolMgr >::getInstance(), gInventory, i, llendl, llwarns, mCargoIDs, mCargoTypes, mCursor, mObjectID, mSource, mSourceID, NULL, S32, LLTool::setMouseCapture(), LLToolMgr::setTransientTool(), SOURCE_AGENT, SOURCE_LIBRARY, TRUE, and UI_CURSOR_NO.
Referenced by LLViewerTextEditor::handleHover(), and LLPreview::handleHover().
void LLToolDragAndDrop::beginMultiDrag | ( | const std::vector< EDragAndDropType > | types, | |
const std::vector< LLUUID > & | cargo_ids, | |||
ESource | source, | |||
const LLUUID & | source_id = LLUUID::null | |||
) |
Definition at line 663 of file lltooldraganddrop.cpp.
References LLInventoryModel::collectDescendentsIf(), LLDynamicArray< Type, BlockSize >::count(), DAD_NONE, LLInventoryModel::EXCLUDE_TRASH, LLInventoryModel::getCategory(), LLSingleton< LLToolMgr >::getInstance(), LLInventoryObject::getUUID(), gInventory, i, llendl, llmin(), llwarns, mCargoIDs, mCargoTypes, mCursor, mSource, mSourceID, NULL, S32, LLTool::setMouseCapture(), LLToolMgr::setTransientTool(), SOURCE_AGENT, SOURCE_LIBRARY, TRUE, and UI_CURSOR_NO.
Referenced by LLFolderView::startDrag().
void LLToolDragAndDrop::endDrag | ( | ) |
Definition at line 732 of file lltooldraganddrop.cpp.
References FALSE, LLSingleton< LLSelectMgr >::getInstance(), LLTool::setMouseCapture(), and LLSelectMgr::unhighlightAll().
Referenced by LLPanelInventory::clearContents(), handleKey(), and handleMouseUp().
ESource LLToolDragAndDrop::getSource | ( | ) | const [inline] |
Definition at line 83 of file lltooldraganddrop.h.
References mSource.
Referenced by LLFolderBridge::dragCategoryIntoFolder(), and LLFolderBridge::dragItemIntoFolder().
const LLUUID& LLToolDragAndDrop::getSourceID | ( | ) | const [inline] |
const LLUUID& LLToolDragAndDrop::getObjectID | ( | ) | const [inline] |
EAcceptance LLToolDragAndDrop::getLastAccept | ( | ) | [inline] |
Definition at line 86 of file lltooldraganddrop.h.
References mLastAccept.
Referenced by LLFolderView::draw().
void LLToolDragAndDrop::dragOrDrop | ( | S32 | x, | |
S32 | y, | |||
MASK | mask, | |||
BOOL | drop, | |||
EAcceptance * | acceptance | |||
) | [protected] |
Definition at line 842 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_NO_LOCKED, ACCEPT_YES_COPY_MULTI, ACCEPT_YES_COPY_SINGLE, ACCEPT_YES_MULTI, dragOrDrop3D(), FALSE, LLViewerWindow::getRootView(), LLViewerWindow::getTopCtrl(), gViewerWindow, LLView::handleDragAndDrop(), llmin(), locateInventory(), mCargoIDs, mCargoTypes, mCurItemIndex, mLastAccept, mToolTipMsg, S32, LLView::screenPointToLocal(), and TRUE.
Referenced by handleHover(), and handleMouseUp().
void LLToolDragAndDrop::dragOrDrop3D | ( | S32 | x, | |
S32 | y, | |||
MASK | mask, | |||
BOOL | drop, | |||
EAcceptance * | acceptance | |||
) | [protected] |
Definition at line 987 of file lltooldraganddrop.cpp.
References FALSE, gPickFaces, gViewerWindow, LLViewerWindow::hitObjectOrLandGlobalAsync(), LLViewerWindow::hitObjectOrLandGlobalImmediate(), mDrop, mLastAccept, pickCallback(), and TRUE.
Referenced by dragOrDrop().
Definition at line 1007 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_NO_LOCKED, ACCEPT_POSTPONED, ACCEPT_YES_COPY_MULTI, ACCEPT_YES_COPY_SINGLE, ACCEPT_YES_MULTI, ACCEPT_YES_SINGLE, callMemberFunction, DAD_OBJECT, DT_AVATAR, DT_LAND, DT_NONE, DT_OBJECT, DT_SELF, FALSE, LLVOAvatar::findAvatarFromAttachment(), gAgent, LLAgent::getCameraPositionGlobal(), LLSingleton< LLToolDragAndDrop >::getInstance(), LLSingleton< LLSelectMgr >::getInstance(), LLViewerWindow::getWindow(), gLastHitLand, gLastHitNonFloraObjectFace, gLastHitObjectOffset, gLastHitPosGlobal, gViewerWindow, LLSelectMgr::highlightObjectAndFamily(), i, LLViewerObject::isAttachment(), LLPrimitive::isAvatar(), LLViewerObject::isHUDAttachment(), LLViewerWindow::lastNonFloraObjectHit(), llassert, llmin(), MASK_CONTROL, mCargoIDs, mCargoTypes, mCurItemIndex, mCursor, mDrop, mLastAccept, mLastCameraPos, mLastHitPos, S32, sDragAndDrop3d, LLWindow::setCursor(), TRUE, UI_CURSOR_ARROWCOPY, UI_CURSOR_ARROWCOPYMULTI, UI_CURSOR_ARROWDRAG, UI_CURSOR_ARROWDRAGMULTI, UI_CURSOR_NO, UI_CURSOR_NOLOCKED, and LLSelectMgr::unhighlightAll().
Referenced by dragOrDrop3D().
EAcceptance LLToolDragAndDrop::dad3dNULL | ( | LLViewerObject * | , | |
S32 | , | |||
MASK | , | |||
BOOL | ||||
) | [protected] |
Methods called in the drag & drop array
Definition at line 2065 of file lltooldraganddrop.cpp.
EAcceptance LLToolDragAndDrop::dad3dRezObjectOnLand | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2123 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_COPY_SINGLE, ACCEPT_YES_SINGLE, LLPermissions::allowCopyBy(), LLAssetType::AT_TRASH, dad3dRezFromObjectOnLand(), dropObject(), FALSE, LLInventoryModel::findCategoryUUIDForType(), gAgent, LLAgent::getAvatarObject(), LLAgent::getID(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gInventory, LLViewerInventoryItem::isComplete(), LLInventoryModel::isObjectDescendentOf(), LLVOAvatar::isWearingAttachment(), lldebugs, llendl, locateInventory(), MASK_SHIFT, mSource, SOURCE_WORLD, and TRUE.
EAcceptance LLToolDragAndDrop::dad3dRezObjectOnObject | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2186 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_COPY_SINGLE, ACCEPT_YES_SINGLE, LLPermissions::allowCopyBy(), LLAssetType::AT_TRASH, dad3dRezFromObjectOnObject(), dropInventory(), dropObject(), FALSE, LLInventoryModel::findCategoryUUIDForType(), gAgent, LLAgent::getAvatarObject(), LLAgent::getID(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gInventory, LLViewerInventoryItem::isComplete(), LLInventoryModel::isObjectDescendentOf(), LLVOAvatar::isWearingAttachment(), lldebugs, llendl, locateInventory(), MASK_CONTROL, MASK_SHIFT, mSource, mSourceID, SOURCE_NOTECARD, SOURCE_WORLD, TRUE, and willObjectAcceptInventory().
EAcceptance LLToolDragAndDrop::dad3dRezScript | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2265 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_SINGLE, dropScript(), LLXform::getParent(), LLPrimitive::isAvatar(), LLViewerInventoryItem::isComplete(), lldebugs, llendl, locateInventory(), MASK_CONTROL, mSource, mSourceID, SOURCE_NOTECARD, SOURCE_WORLD, and willObjectAcceptInventory().
EAcceptance LLToolDragAndDrop::dad3dTextureObject | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2303 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_NO_LOCKED, ACCEPT_YES_MULTI, ACCEPT_YES_SINGLE, LLPermissions::allowCopyBy(), LLHUDManager::createViewerEffect(), dropInventory(), dropTextureAllFaces(), dropTextureOneFace(), gAgent, LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLAgent::getID(), LLSingleton< LLHUDManager >::getInstance(), LLInventoryItem::getPermissions(), LLViewerInventoryItem::isComplete(), LL_HUD_DUR_SHORT, LLHUDObject::LL_HUD_EFFECT_BEAM, lldebugs, llendl, locateInventory(), MASK_CONTROL, MASK_SHIFT, mSource, mSourceID, LLViewerObject::permModify(), LLHUDEffect::setColor(), LLHUDEffect::setDuration(), LLHUDObject::setSourceObject(), LLHUDEffectSpiral::setTargetObject(), SOURCE_NOTECARD, SOURCE_WORLD, TRUE, and willObjectAcceptInventory().
EAcceptance LLToolDragAndDrop::dad3dWearItem | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2376 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_MULTI, LLViewerWindow::alertXml(), LLAgent::areWearablesLoaded(), LLAssetType::AT_TRASH, copy_inventory_item(), LLInventoryModel::findCategoryUUIDForType(), gAgent, LLAgent::getID(), LLPermissions::getOwner(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gInventory, gViewerWindow, LLViewerInventoryItem::isComplete(), LLInventoryModel::isObjectDescendentOf(), lldebugs, llendl, locateInventory(), mSource, LLUUID::null, SOURCE_AGENT, SOURCE_LIBRARY, and wear_inventory_item_on_avatar().
EAcceptance LLToolDragAndDrop::dad3dWearCategory | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2480 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_MULTI, LLViewerWindow::alertXml(), LLAgent::areWearablesLoaded(), LLAssetType::AT_TRASH, FALSE, LLInventoryModel::findCategoryUUIDForType(), gAgent, LLInventoryObject::getUUID(), gInventory, gViewerWindow, LLInventoryModel::isObjectDescendentOf(), lldebugs, llendl, locateInventory(), MASK_SHIFT, mSource, SOURCE_AGENT, SOURCE_LIBRARY, TRUE, and wear_inventory_category().
EAcceptance LLToolDragAndDrop::dad3dUpdateInventory | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2531 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_COPY_SINGLE, dropInventory(), LLXform::getParent(), LLPrimitive::isAvatar(), LLViewerInventoryItem::isComplete(), lldebugs, llendl, locateInventory(), mSource, mSourceID, SOURCE_NOTECARD, SOURCE_WORLD, and willObjectAcceptInventory().
Referenced by dadUpdateInventory().
EAcceptance LLToolDragAndDrop::dad3dUpdateInventoryCategory | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2571 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_NO_LOCKED, ACCEPT_YES_COPY_SINGLE, ACCEPT_YES_MULTI, ACCEPT_YES_SINGLE, LLInventoryModel::addObserver(), LLInventoryModel::collectDescendentsIf(), LLCategoryDropObserver::done(), LLInventoryModel::EXCLUDE_TRASH, LLInventoryFetchObserver::fetchItems(), LLViewerObject::getID(), LLXform::getParent(), LLInventoryObject::getUUID(), gInventory, i, LLViewerObject::isAttachment(), LLPrimitive::isAvatar(), LLInventoryModel::isCategoryComplete(), LLInventoryFetchObserver::isEverythingComplete(), lldebugs, llendl, llwarns, locateInventory(), mSource, NULL, LLViewerObject::permYouOwner(), S32, SOURCE_AGENT, SOURCE_LIBRARY, and willObjectAcceptInventory().
Referenced by dadUpdateInventoryCategory().
EAcceptance LLToolDragAndDrop::dad3dGiveInventoryObject | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2676 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_SINGLE, LLPermissions::allowOperationBy(), gAgent, LLAgent::getAvatarObject(), LLViewerObject::getID(), LLAgent::getID(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), giveInventory(), LLViewerInventoryItem::isComplete(), LLVOAvatar::isWearingAttachment(), lldebugs, llendl, locateInventory(), mSource, PERM_TRANSFER, and SOURCE_AGENT.
EAcceptance LLToolDragAndDrop::dad3dGiveInventory | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2714 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_SINGLE, LLViewerObject::getID(), giveInventory(), LLViewerInventoryItem::isComplete(), isInventoryGiveAcceptable(), lldebugs, llendl, locateInventory(), mSource, and SOURCE_AGENT.
EAcceptance LLToolDragAndDrop::dad3dGiveInventoryCategory | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2737 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_SINGLE, LLViewerObject::getID(), giveInventoryCategory(), lldebugs, llendl, and locateInventory().
EAcceptance LLToolDragAndDrop::dad3dRezFromObjectOnLand | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2755 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_NO_LOCKED, ACCEPT_YES_SINGLE, LLAgent::allowOperation(), LLPermissions::allowTransferTo(), dropObject(), FALSE, gAgent, LLInventoryItem::getPermissions(), LLViewerInventoryItem::isComplete(), lldebugs, llendl, locateInventory(), LLUUID::null, NULL, PERM_COPY, and TRUE.
Referenced by dad3dRezObjectOnLand().
EAcceptance LLToolDragAndDrop::dad3dRezFromObjectOnObject | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2776 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_NO_LOCKED, ACCEPT_YES_SINGLE, LLPermissions::allowCopyBy(), LLPermissions::allowTransferTo(), dropObject(), FALSE, gAgent, LLAgent::getGroupID(), LLAgent::getID(), LLInventoryItem::getPermissions(), LLViewerInventoryItem::isComplete(), lldebugs, llendl, locateInventory(), MASK_CONTROL, LLUUID::null, and TRUE.
Referenced by dad3dRezObjectOnObject().
EAcceptance LLToolDragAndDrop::dad3dRezAttachmentFromInv | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2072 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_SINGLE, LLAssetType::AT_TRASH, copy_inventory_item(), LLInventoryModel::findCategoryUUIDForType(), gAgent, LLAgent::getAvatarObject(), LLAgent::getID(), LLPermissions::getOwner(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gInventory, LLViewerInventoryItem::isComplete(), LLInventoryModel::isObjectDescendentOf(), LLVOAvatar::isWearingAttachment(), lldebugs, llendl, locateInventory(), mSource, LLUUID::null, rez_attachment(), SOURCE_AGENT, and SOURCE_LIBRARY.
EAcceptance LLToolDragAndDrop::dad3dCategoryOnLand | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
EAcceptance LLToolDragAndDrop::dad3dAssetOnLand | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
EAcceptance LLToolDragAndDrop::dad3dActivateGesture | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2431 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_MULTI, LLGestureManager::activateGesture(), LLAssetType::AT_TRASH, copy_inventory_item(), LLInventoryModel::findCategoryUUIDForType(), gAgent, LLAgent::getID(), LLPermissions::getOwner(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gGestureManager, gInventory, LLViewerInventoryItem::isComplete(), LLInventoryModel::isObjectDescendentOf(), lldebugs, llendl, locateInventory(), mSource, LLInventoryModel::notifyObservers(), LLUUID::null, SOURCE_AGENT, SOURCE_LIBRARY, and LLInventoryModel::updateItem().
LLInventoryObject * LLToolDragAndDrop::locateInventory | ( | LLViewerInventoryItem *& | item, | |
LLViewerInventoryCategory *& | cat | |||
) | [protected] |
Definition at line 2880 of file lltooldraganddrop.cpp.
References DAD_CATEGORY, DAD_ROOT_CATEGORY, LLPreview::find(), LLViewerObjectList::findObject(), LLInventoryModel::getCategory(), LLPreviewNotecard::getDragItem(), LLViewerObject::getInventoryObject(), LLInventoryModel::getItem(), gInventory, gObjectList, mCargoIDs, mCargoTypes, mCurItemIndex, mSource, mSourceID, NULL, SOURCE_AGENT, SOURCE_LIBRARY, SOURCE_NOTECARD, and SOURCE_WORLD.
Referenced by dad3dActivateGesture(), dad3dGiveInventory(), dad3dGiveInventoryCategory(), dad3dGiveInventoryObject(), dad3dRezAttachmentFromInv(), dad3dRezFromObjectOnLand(), dad3dRezFromObjectOnObject(), dad3dRezObjectOnLand(), dad3dRezObjectOnObject(), dad3dRezScript(), dad3dTextureObject(), dad3dUpdateInventory(), dad3dUpdateInventoryCategory(), dad3dWearCategory(), dad3dWearItem(), dragOrDrop(), and dropObject().
void LLToolDragAndDrop::createContainer | ( | LLViewerInventoryItem::item_array_t & | items, | |
const char * | preferred_name | |||
) | [protected] |
void LLToolDragAndDrop::dropObject | ( | LLViewerObject * | raycast_target, | |
BOOL | bypass_sim_raycast, | |||
BOOL | from_task_inventory, | |||
BOOL | remove_from_inventory | |||
) | [protected] |
Definition at line 1370 of file lltooldraganddrop.cpp.
References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_BypassRaycast, _PREHASH_FromTaskID, _PREHASH_GroupID, _PREHASH_InventoryData, _PREHASH_ItemID, _PREHASH_NotecardData, _PREHASH_NotecardItemID, _PREHASH_ObjectID, _PREHASH_RayEnd, _PREHASH_RayEndIsIntersection, _PREHASH_RayStart, _PREHASH_RayTargetID, _PREHASH_RemoveItem, _PREHASH_RezObject, _PREHASH_RezObjectFromNotecard, _PREHASH_RezSelected, _PREHASH_SessionID, LLMessageSystem::addBOOLFast(), LLMessageSystem::addU8Fast(), LLMessageSystem::addUUIDFast(), LLMessageSystem::addVector3Fast(), LLPermissions::allowCopyBy(), LLAssetType::AT_TRASH, LLHUDManager::createViewerEffect(), LLInventoryModel::deleteObject(), LLSelectMgr::deselectAll(), FALSE, LLInventoryModel::findCategoryUUIDForType(), gAgent, LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLInventoryItem::getFlags(), LLAgent::getGroupID(), LLViewerRegion::getHost(), LLViewerObject::getID(), LLAgent::getID(), LLSingleton< LLViewerStats >::getInstance(), LLSingleton< LLHUDManager >::getInstance(), LLSingleton< LLSelectMgr >::getInstance(), LLSingleton< LLToolMgr >::getInstance(), LLSingleton< LLWorld >::getInstance(), LLInventoryObject::getParentUUID(), LLInventoryItem::getPermissions(), LLViewerRegion::getPosRegionFromGlobal(), LLViewerRegion::getRegionFlags(), LLWorld::getRegionFromPosGlobal(), LLAgent::getSessionID(), LLInventoryObject::getUUID(), LLViewerWindow::getWindow(), gInventory, gMessageSystem, gViewerWindow, LLWindow::incBusyCount(), LLViewerStats::incStat(), LLToolMgr::inEdit(), LLViewerInventoryItem::isComplete(), LLInventoryModel::isObjectDescendentOf(), LL_HUD_DUR_SHORT, LLHUDObject::LL_HUD_EFFECT_BEAM, llendl, llwarns, locateInventory(), make_ui_sound(), mLastCameraPos, mLastHitPos, mObjectID, mSource, mSourceID, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlock(), LLMessageSystem::nextBlockFast(), LLInventoryModel::notifyObservers(), LLUUID::null, pack_permissions_slam(), LLViewerInventoryItem::packMessage(), REGION_FLAGS_SANDBOX, LLMessageSystem::sendReliable(), LLHUDEffect::setColor(), LLHUDEffect::setDuration(), LLUUID::setNull(), LLInventoryObject::setParent(), LLHUDObject::setPositionGlobal(), LLHUDObject::setSourceObject(), SOURCE_LIBRARY, SOURCE_NOTECARD, LLViewerStats::ST_REZ_COUNT, TRUE, and LLFirstUse::useSandbox().
Referenced by dad3dRezFromObjectOnLand(), dad3dRezFromObjectOnObject(), dad3dRezObjectOnLand(), and dad3dRezObjectOnObject().
EAcceptance LLToolDragAndDrop::willObjectAcceptInventory | ( | LLViewerObject * | obj, | |
LLInventoryItem * | item | |||
) | [static, protected] |
Definition at line 1994 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_NO_LOCKED, ACCEPT_YES_MULTI, LLPermissions::allowOperationBy(), LLAssetType::AT_BODYPART, LLAssetType::AT_CLOTHING, LLAssetType::AT_OBJECT, FALSE, LLViewerObject::flagAllowInventoryAdd(), gAgent, LLAgent::getAvatarObject(), LLAgent::getID(), LLViewerObject::getID(), LLPermissions::getMaskBase(), LLPermissions::getOwner(), LLInventoryObject::getParentUUID(), LLPrimitive::getPCode(), LLInventoryItem::getPermissions(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), LLViewerObject::isAttachment(), LLViewerInventoryItem::isComplete(), LLVOAvatar::isWearingAttachment(), LLAgent::isWearingItem(), LL_PCODE_VOLUME, NULL, PERM_ITEM_UNRESTRICTED, PERM_TRANSFER, LLViewerObject::permModify(), LLViewerObject::permYouOwner(), and TRUE.
Referenced by dad3dRezObjectOnObject(), dad3dRezScript(), dad3dTextureObject(), dad3dUpdateInventory(), dad3dUpdateInventoryCategory(), handleDropTextureProtections(), and isInventoryDropAcceptable().
BOOL LLToolDragAndDrop::handleDropTextureProtections | ( | LLViewerObject * | hit_obj, | |
LLInventoryItem * | item, | |||
LLToolDragAndDrop::ESource | source, | |||
const LLUUID & | src_id | |||
) | [static, protected] |
Definition at line 1153 of file lltooldraganddrop.cpp.
References ACCEPT_YES_COPY_SINGLE, LLViewerWindow::alertXml(), LLPermissions::allowOperationBy(), LLInventoryModel::deleteObject(), FALSE, LLViewerObject::fetchInventoryFromServer(), LLViewerObjectList::findObject(), gAgent, LLInventoryItem::getAssetUUID(), LLAgent::getID(), LLViewerObject::getInventoryItemByAsset(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gInventory, gObjectList, gViewerWindow, LLViewerObject::isInventoryDirty(), llendl, llwarns, LLInventoryModel::notifyObservers(), PERM_COPY, PERM_TRANSFER, LLViewerObject::removeInventory(), SOURCE_AGENT, SOURCE_LIBRARY, SOURCE_WORLD, TASK_INVENTORY_ITEM_KEY, TRUE, LLViewerObject::updateInventory(), and willObjectAcceptInventory().
Referenced by dropTextureAllFaces(), and dropTextureOneFace().
void LLToolDragAndDrop::handleCopyProtectedItem | ( | S32 | option, | |
void * | data | |||
) | [static, protected] |
Definition at line 1629 of file lltooldraganddrop.cpp.
References LLViewerWindow::alertXml(), commitGiveInventoryItem(), LLInventoryModel::deleteObject(), LLInventoryModel::getItem(), gInventory, gViewerWindow, LLGiveInventoryInfo::mInventoryObjectID, LLGiveInventoryInfo::mToAgentID, LLInventoryModel::notifyObservers(), and NULL.
Referenced by giveInventory().
void LLToolDragAndDrop::commitGiveInventoryItem | ( | const LLUUID & | to_agent, | |
LLInventoryItem * | item | |||
) | [static, protected] |
Definition at line 1659 of file lltooldraganddrop.cpp.
References LLMuteList::AR_INVENTORY, LLMuteList::autoRemove(), LLAgent::buildFullname(), LLHUDManager::createViewerEffect(), LLFloaterTools::dirty(), FALSE, LLViewerObjectList::findObject(), gAgent, LLUUID::generate(), LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLAgent::getID(), LLMuteList::getInstance(), LLSingleton< LLHUDManager >::getInstance(), LLInventoryObject::getName(), LLAgent::getPositionAgent(), LLAgent::getSessionID(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), gFloaterTools, gMessageSystem, gObjectList, IM_INVENTORY_OFFERED, IM_ONLINE, LL_HUD_DUR_SHORT, LLHUDObject::LL_HUD_EFFECT_BEAM, LLUUID::mData, NO_TIMESTAMP, LLUUID::null, pack_instant_message(), S32, LLAgent::sendReliableMessage(), LLHUDEffect::setColor(), LLHUDEffect::setDuration(), LLHUDObject::setSourceObject(), LLHUDEffectSpiral::setTargetObject(), TRUE, and UUID_BYTES.
Referenced by giveInventory(), and handleCopyProtectedItem().
void LLToolDragAndDrop::handleCopyProtectedCategory | ( | S32 | option, | |
void * | data | |||
) | [static, protected] |
Definition at line 1771 of file lltooldraganddrop.cpp.
References LLViewerWindow::alertXml(), LLInventoryModel::collectDescendentsIf(), commitGiveInventoryCategory(), LLInventoryModel::deleteObject(), LLInventoryModel::EXCLUDE_TRASH, LLInventoryModel::getCategory(), LLInventoryObject::getUUID(), gInventory, gViewerWindow, i, LLGiveInventoryInfo::mInventoryObjectID, LLGiveInventoryInfo::mToAgentID, LLInventoryModel::notifyObservers(), NULL, and S32.
Referenced by giveInventoryCategory().
void LLToolDragAndDrop::commitGiveInventoryCategory | ( | const LLUUID & | to_agent, | |
LLInventoryCategory * | cat | |||
) | [static, protected] |
Definition at line 1811 of file lltooldraganddrop.cpp.
References LLViewerWindow::alertXml(), LLMuteList::AR_INVENTORY, LLMuteList::autoRemove(), LLAgent::buildFullname(), LLInventoryModel::collectDescendentsIf(), LLDynamicArray< Type, BlockSize >::count(), LLHUDManager::createViewerEffect(), LLFloaterTools::dirty(), LLInventoryModel::EXCLUDE_TRASH, FALSE, LLViewerObjectList::findObject(), gAgent, LLUUID::generate(), LLDynamicArray< Type, BlockSize >::get(), LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLAgent::getID(), LLMuteList::getInstance(), LLSingleton< LLHUDManager >::getInstance(), LLInventoryObject::getName(), LLAgent::getPositionAgent(), LLAgent::getSessionID(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), gFloaterTools, gInventory, gMessageSystem, gObjectList, gViewerWindow, i, IM_INVENTORY_OFFERED, IM_ONLINE, LL_HUD_DUR_SHORT, LLHUDObject::LL_HUD_EFFECT_BEAM, llendl, llinfos, MAX_ITEMS, NO_TIMESTAMP, LLUUID::null, pack_instant_message(), S32, LLAgent::sendReliableMessage(), LLHUDEffect::setColor(), LLHUDEffect::setDuration(), LLHUDObject::setSourceObject(), LLHUDEffectSpiral::setTargetObject(), TRUE, and UUID_BYTES.
Referenced by giveInventoryCategory(), and handleCopyProtectedCategory().
static BOOL LLToolDragAndDrop::isInventoryDropAcceptable | ( | LLViewerObject * | obj, | |
LLInventoryItem * | item | |||
) | [inline, static] |
Definition at line 219 of file lltooldraganddrop.h.
References ACCEPT_YES_COPY_SINGLE, and willObjectAcceptInventory().
Referenced by LLTaskCategoryBridge::dragOrDrop(), and LLPanelFace::onDragTexture().
BOOL LLToolDragAndDrop::isInventoryGiveAcceptable | ( | LLInventoryItem * | item | ) | [static] |
Definition at line 1907 of file lltooldraganddrop.cpp.
References LLPermissions::allowCopyBy(), LLPermissions::allowOperationBy(), LLAssetType::AT_BODYPART, LLAssetType::AT_CALLINGCARD, LLAssetType::AT_CLOTHING, LLAssetType::AT_OBJECT, FALSE, gAgent, LLAgent::getAvatarObject(), LLAgent::getID(), LLInventoryItem::getPermissions(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), LLVOAvatar::isWearingAttachment(), LLAgent::isWearingItem(), PERM_TRANSFER, and TRUE.
Referenced by dad3dGiveInventory(), giveInventory(), and LLDropTarget::handleDragAndDrop().
BOOL LLToolDragAndDrop::isInventoryGroupGiveAcceptable | ( | LLInventoryItem * | item | ) | [static] |
Definition at line 1950 of file lltooldraganddrop.cpp.
References LLPermissions::allowCopyBy(), LLPermissions::allowOperationBy(), LLAssetType::AT_CALLINGCARD, LLAssetType::AT_OBJECT, FALSE, gAgent, LLAgent::getAvatarObject(), LLAgent::getID(), LLInventoryItem::getPermissions(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), LLVOAvatar::isWearingAttachment(), PERM_TRANSFER, and TRUE.
Referenced by LLGroupDropTarget::handleDragAndDrop().
BOOL LLToolDragAndDrop::dadUpdateInventory | ( | LLViewerObject * | obj, | |
BOOL | drop | |||
) |
Definition at line 2565 of file lltooldraganddrop.cpp.
References ACCEPT_YES_COPY_SINGLE, dad3dUpdateInventory(), and MASK_NONE.
BOOL LLToolDragAndDrop::dadUpdateInventoryCategory | ( | LLViewerObject * | obj, | |
BOOL | drop | |||
) |
Definition at line 2669 of file lltooldraganddrop.cpp.
References ACCEPT_YES_COPY_SINGLE, dad3dUpdateInventoryCategory(), and MASK_NONE.
Referenced by LLTaskCategoryBridge::dragOrDrop().
void LLToolDragAndDrop::dropScript | ( | LLViewerObject * | hit_obj, | |
LLInventoryItem * | item, | |||
BOOL | active, | |||
ESource | source, | |||
const LLUUID & | src_id | |||
) | [static] |
Definition at line 1314 of file lltooldraganddrop.cpp.
References LLPermissions::allowCopyBy(), LLHUDManager::createViewerEffect(), LLInventoryModel::deleteObject(), LLFloaterTools::dirty(), LLViewerObjectList::findObject(), gAgent, LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLAgent::getID(), LLSingleton< LLHUDManager >::getInstance(), LLSingleton< LLToolDragAndDrop >::getInstance(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gFloaterTools, gInventory, gObjectList, LL_HUD_DUR_SHORT, LLHUDObject::LL_HUD_EFFECT_BEAM, llendl, llwarns, mSource, LLInventoryModel::notifyObservers(), LLViewerObject::removeInventory(), LLViewerObject::saveScript(), LLHUDEffect::setColor(), LLHUDEffect::setDuration(), LLHUDObject::setSourceObject(), LLHUDEffectSpiral::setTargetObject(), SOURCE_AGENT, SOURCE_NOTECARD, SOURCE_WORLD, and TRUE.
Referenced by dad3dRezScript(), and LLTaskCategoryBridge::dragOrDrop().
void LLToolDragAndDrop::dropTextureOneFace | ( | LLViewerObject * | hit_obj, | |
S32 | hit_face, | |||
LLInventoryItem * | item, | |||
LLToolDragAndDrop::ESource | source, | |||
const LLUUID & | src_id | |||
) | [static] |
Definition at line 1285 of file lltooldraganddrop.cpp.
References dialog_refresh_all(), LLInventoryItem::getAssetUUID(), LLViewerImageList::getImage(), LLSingleton< LLViewerStats >::getInstance(), gImageList, handleDropTextureProtections(), LLViewerStats::incStat(), llendl, llwarns, LLViewerObject::sendTEUpdate(), LLViewerObject::setTEImage(), and LLViewerStats::ST_EDIT_TEXTURE_COUNT.
Referenced by dad3dTextureObject(), and LLSelectMgr::selectionSetImage().
void LLToolDragAndDrop::dropTextureAllFaces | ( | LLViewerObject * | hit_obj, | |
LLInventoryItem * | item, | |||
LLToolDragAndDrop::ESource | source, | |||
const LLUUID & | src_id | |||
) | [static] |
Definition at line 1245 of file lltooldraganddrop.cpp.
References dialog_refresh_all(), LLInventoryItem::getAssetUUID(), LLViewerImageList::getImage(), LLSingleton< LLViewerStats >::getInstance(), LLPrimitive::getNumTEs(), gImageList, handleDropTextureProtections(), LLViewerStats::incStat(), llendl, llwarns, S32, LLViewerObject::sendTEUpdate(), LLViewerObject::setTEImage(), and LLViewerStats::ST_EDIT_TEXTURE_COUNT.
Referenced by dad3dTextureObject(), and LLSelectMgr::selectionSetImage().
void LLToolDragAndDrop::dropInventory | ( | LLViewerObject * | hit_obj, | |
LLInventoryItem * | item, | |||
LLToolDragAndDrop::ESource | source, | |||
const LLUUID & | src_id | |||
) | [static] |
Definition at line 1533 of file lltooldraganddrop.cpp.
References LLPermissions::allowCopyBy(), LLHUDManager::createViewerEffect(), LLInventoryModel::deleteObject(), LLFloaterTools::dirty(), LLViewerObjectList::findObject(), gAgent, LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLAgent::getID(), LLSingleton< LLHUDManager >::getInstance(), LLSingleton< LLToolDragAndDrop >::getInstance(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), LLView::getVisible(), gFloaterTools, gInventory, gObjectList, LL_HUD_DUR_SHORT, LLHUDObject::LL_HUD_EFFECT_BEAM, llendl, llwarns, mSource, LLInventoryModel::notifyObservers(), LLFloaterTools::PANEL_CONTENTS, LLViewerObject::removeInventory(), S32, LLHUDEffect::setColor(), LLHUDEffect::setDuration(), LLHUDObject::setSourceObject(), LLHUDEffectSpiral::setTargetObject(), LLFloaterTools::showPanel(), SOURCE_AGENT, SOURCE_NOTECARD, SOURCE_WORLD, TASK_INVENTORY_ITEM_KEY, time_corrected(), TRUE, and LLViewerObject::updateInventory().
Referenced by dad3dRezObjectOnObject(), dad3dTextureObject(), dad3dUpdateInventory(), LLCategoryDropObserver::done(), and LLTaskCategoryBridge::dragOrDrop().
void LLToolDragAndDrop::giveInventory | ( | const LLUUID & | to_agent, | |
LLInventoryItem * | item | |||
) | [static] |
Definition at line 1603 of file lltooldraganddrop.cpp.
References LLViewerWindow::alertXml(), LLPermissions::allowCopyBy(), commitGiveInventoryItem(), gAgent, LLAgent::getID(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gViewerWindow, handleCopyProtectedItem(), isInventoryGiveAcceptable(), llendl, and llinfos.
Referenced by dad3dGiveInventory(), dad3dGiveInventoryObject(), LLCallingCardBridge::dragOrDrop(), and LLDropTarget::handleDragAndDrop().
void LLToolDragAndDrop::giveInventoryCategory | ( | const LLUUID & | to_agent, | |
LLInventoryCategory * | item | |||
) | [static] |
Definition at line 1701 of file lltooldraganddrop.cpp.
References LLViewerWindow::alertXml(), LLInventoryModel::collectDescendentsIf(), commitGiveInventoryCategory(), LLDynamicArray< Type, BlockSize >::count(), LLGiveable::countNoCopy(), LLInventoryModel::EXCLUDE_TRASH, gAgent, LLDynamicArray< Type, BlockSize >::get(), LLAgent::getAvatarObject(), LLInventoryObject::getUUID(), gInventory, gViewerWindow, handleCopyProtectedCategory(), i, LLInventoryModel::isCategoryComplete(), llendl, llformat(), llinfos, MAX_ITEMS, NULL, S32, and LLNotifyBox::showXml().
Referenced by dad3dGiveInventoryCategory(), LLCallingCardBridge::dragOrDrop(), and LLDropTarget::handleDragAndDrop().
S32 LLToolDragAndDrop::mDragStartX [protected] |
Definition at line 113 of file lltooldraganddrop.h.
Referenced by isOverThreshold(), and setDragStart().
S32 LLToolDragAndDrop::mDragStartY [protected] |
Definition at line 114 of file lltooldraganddrop.h.
Referenced by isOverThreshold(), and setDragStart().
std::vector<EDragAndDropType> LLToolDragAndDrop::mCargoTypes [protected] |
Definition at line 116 of file lltooldraganddrop.h.
Referenced by beginDrag(), beginMultiDrag(), dragOrDrop(), locateInventory(), onMouseCaptureLost(), and pickCallback().
std::vector<LLUUID> LLToolDragAndDrop::mCargoIDs [protected] |
Definition at line 118 of file lltooldraganddrop.h.
Referenced by beginDrag(), beginMultiDrag(), dragOrDrop(), handleHover(), locateInventory(), onMouseCaptureLost(), and pickCallback().
ESource LLToolDragAndDrop::mSource [protected] |
Definition at line 119 of file lltooldraganddrop.h.
Referenced by beginDrag(), beginMultiDrag(), dad3dActivateGesture(), dad3dGiveInventory(), dad3dGiveInventoryObject(), dad3dRezAttachmentFromInv(), dad3dRezObjectOnLand(), dad3dRezObjectOnObject(), dad3dRezScript(), dad3dTextureObject(), dad3dUpdateInventory(), dad3dUpdateInventoryCategory(), dad3dWearCategory(), dad3dWearItem(), dropInventory(), dropObject(), dropScript(), getSource(), locateInventory(), and onMouseCaptureLost().
LLUUID LLToolDragAndDrop::mSourceID [protected] |
Definition at line 120 of file lltooldraganddrop.h.
Referenced by beginDrag(), beginMultiDrag(), dad3dRezObjectOnObject(), dad3dRezScript(), dad3dTextureObject(), dad3dUpdateInventory(), dropObject(), getSourceID(), locateInventory(), and onMouseCaptureLost().
LLUUID LLToolDragAndDrop::mObjectID [protected] |
Definition at line 121 of file lltooldraganddrop.h.
Referenced by beginDrag(), dropObject(), getObjectID(), and onMouseCaptureLost().
LLVector3d LLToolDragAndDrop::mLastCameraPos [protected] |
LLVector3d LLToolDragAndDrop::mLastHitPos [protected] |
ECursorType LLToolDragAndDrop::mCursor [protected] |
Definition at line 126 of file lltooldraganddrop.h.
Referenced by beginDrag(), beginMultiDrag(), handleHover(), and pickCallback().
EAcceptance LLToolDragAndDrop::mLastAccept [protected] |
Definition at line 127 of file lltooldraganddrop.h.
Referenced by dragOrDrop(), dragOrDrop3D(), getLastAccept(), and pickCallback().
BOOL LLToolDragAndDrop::mDrop [protected] |
Definition at line 128 of file lltooldraganddrop.h.
Referenced by dragOrDrop3D(), and pickCallback().
S32 LLToolDragAndDrop::mCurItemIndex [protected] |
Definition at line 129 of file lltooldraganddrop.h.
Referenced by dragOrDrop(), locateInventory(), and pickCallback().
LLString LLToolDragAndDrop::mToolTipMsg [protected] |
Definition at line 130 of file lltooldraganddrop.h.
Referenced by dragOrDrop(), handleDeselect(), and handleToolTip().
LLToolDragAndDrop::dragOrDrop3dImpl LLToolDragAndDrop::sDragAndDrop3d [static, protected] |