#include <lltooldraganddrop.h>
Inheritance diagram for LLToolDragAndDrop:
Definition at line 49 of file lltooldraganddrop.h.
typedef EAcceptance(LLToolDragAndDrop::*) LLToolDragAndDrop::dragOrDrop3dImpl(LLViewerObject *, S32, MASK, BOOL) [protected] |
Definition at line 103 of file lltooldraganddrop.h.
enum LLToolDragAndDrop::EDropTarget [protected] |
Definition at line 89 of file lltooldraganddrop.h.
Definition at line 65 of file lltooldraganddrop.h.
LLToolDragAndDrop::LLToolDragAndDrop | ( | ) |
Definition at line 603 of file lltooldraganddrop.cpp.
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 634 of file lltooldraganddrop.cpp.
References LLInventoryModel::collectDescendentsIf(), LLDynamicArray< Type, BlockSize >::count(), count, DAD_CATEGORY, DAD_NONE, LLInventoryModel::EXCLUDE_TRASH, LLDynamicArray< Type, BlockSize >::get(), LLInventoryModel::getCategory(), gInventory, gToolMgr, 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 699 of file lltooldraganddrop.cpp.
References LLInventoryModel::collectDescendentsIf(), LLDynamicArray< Type, BlockSize >::count(), count, DAD_NONE, LLInventoryModel::EXCLUDE_TRASH, LLInventoryModel::getCategory(), LLInventoryObject::getUUID(), gInventory, gToolMgr, 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::commitGiveInventoryCategory | ( | const LLUUID & | to_agent, | |
LLInventoryCategory * | cat | |||
) | [static, protected] |
Definition at line 1814 of file lltooldraganddrop.cpp.
References LLViewerWindow::alertXml(), LLAgent::buildFullname(), LLInventoryModel::collectDescendentsIf(), LLDynamicArray< Type, BlockSize >::count(), count, LLHUDManager::createViewerEffect(), LLFloaterTools::dirty(), LLInventoryModel::EXCLUDE_TRASH, FALSE, LLViewerObjectList::findObject(), gAgent, LLUUID::generate(), LLDynamicArray< Type, BlockSize >::get(), LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLAgent::getID(), LLInventoryObject::getName(), LLAgent::getPositionAgent(), LLAgent::getSessionID(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), gFloaterTools, gHUDManager, 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, type, and UUID_BYTES.
Referenced by giveInventoryCategory(), and handleCopyProtectedCategory().
void LLToolDragAndDrop::commitGiveInventoryItem | ( | const LLUUID & | to_agent, | |
LLInventoryItem * | item | |||
) | [static, protected] |
Definition at line 1664 of file lltooldraganddrop.cpp.
References LLAgent::buildFullname(), LLHUDManager::createViewerEffect(), LLFloaterTools::dirty(), FALSE, LLViewerObjectList::findObject(), gAgent, LLUUID::generate(), LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLAgent::getID(), LLInventoryObject::getName(), LLAgent::getPositionAgent(), LLAgent::getSessionID(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), gFloaterTools, gHUDManager, 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::createContainer | ( | LLViewerInventoryItem::item_array_t & | items, | |
const char * | preferred_name | |||
) | [protected] |
EAcceptance LLToolDragAndDrop::dad3dActivateGesture | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2432 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().
EAcceptance LLToolDragAndDrop::dad3dAssetOnLand | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
EAcceptance LLToolDragAndDrop::dad3dCategoryOnLand | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
EAcceptance LLToolDragAndDrop::dad3dGiveInventory | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2715 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 2738 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_SINGLE, LLViewerObject::getID(), giveInventoryCategory(), lldebugs, llendl, and locateInventory().
EAcceptance LLToolDragAndDrop::dad3dGiveInventoryObject | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2677 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::dad3dNULL | ( | LLViewerObject * | , | |
S32 | , | |||
MASK | , | |||
BOOL | ||||
) | [protected] |
Methods called in the drag & drop array
Definition at line 2066 of file lltooldraganddrop.cpp.
EAcceptance LLToolDragAndDrop::dad3dRezAttachmentFromInv | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2073 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::dad3dRezFromObjectOnLand | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2756 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(), LLUUID::null, NULL, and TRUE.
Referenced by dad3dRezObjectOnLand().
EAcceptance LLToolDragAndDrop::dad3dRezFromObjectOnObject | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2777 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::dad3dRezObjectOnLand | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2124 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 2187 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 2266 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_SINGLE, dropScript(), LLXform::getParent(), 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 2304 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(), LLInventoryItem::getPermissions(), gHUDManager, 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::dad3dUpdateInventory | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2532 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_YES_COPY_SINGLE, dropInventory(), LLXform::getParent(), 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 2572 of file lltooldraganddrop.cpp.
References ACCEPT_NO, ACCEPT_NO_LOCKED, ACCEPT_YES_COPY_SINGLE, ACCEPT_YES_MULTI, ACCEPT_YES_SINGLE, LLInventoryModel::addObserver(), LLInventoryModel::collectDescendentsIf(), count, LLCategoryDropObserver::done(), LLInventoryModel::EXCLUDE_TRASH, LLInventoryFetchObserver::fetchItems(), LLViewerObject::getID(), LLXform::getParent(), LLInventoryObject::getUUID(), gInventory, i, LLViewerObject::isAttachment(), LLInventoryModel::isCategoryComplete(), LLInventoryFetchObserver::isEverythingComplete(), lldebugs, llendl, llwarns, locateInventory(), mSource, NULL, LLViewerObject::permYouOwner(), S32, SOURCE_AGENT, SOURCE_LIBRARY, and willObjectAcceptInventory().
Referenced by dadUpdateInventoryCategory().
EAcceptance LLToolDragAndDrop::dad3dWearCategory | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2481 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::dad3dWearItem | ( | LLViewerObject * | obj, | |
S32 | face, | |||
MASK | mask, | |||
BOOL | drop | |||
) | [protected] |
Definition at line 2377 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().
BOOL LLToolDragAndDrop::dadUpdateInventory | ( | LLViewerObject * | obj, | |
BOOL | drop | |||
) |
Definition at line 2566 of file lltooldraganddrop.cpp.
References ACCEPT_YES_COPY_SINGLE, dad3dUpdateInventory(), and MASK_NONE.
BOOL LLToolDragAndDrop::dadUpdateInventoryCategory | ( | LLViewerObject * | obj, | |
BOOL | drop | |||
) |
Definition at line 2670 of file lltooldraganddrop.cpp.
References ACCEPT_YES_COPY_SINGLE, dad3dUpdateInventoryCategory(), and MASK_NONE.
Referenced by LLTaskCategoryBridge::dragOrDrop().
void LLToolDragAndDrop::dragOrDrop | ( | S32 | x, | |
S32 | y, | |||
MASK | mask, | |||
BOOL | drop, | |||
EAcceptance * | acceptance | |||
) | [protected] |
Definition at line 878 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 1023 of file lltooldraganddrop.cpp.
References FALSE, gPickFaces, gViewerWindow, LLViewerWindow::hitObjectOrLandGlobalAsync(), LLViewerWindow::hitObjectOrLandGlobalImmediate(), mDrop, mLastAccept, pickCallback(), and TRUE.
Referenced by dragOrDrop().
void LLToolDragAndDrop::dropInventory | ( | LLViewerObject * | hit_obj, | |
LLInventoryItem * | item, | |||
ESource | source, | |||
const LLUUID & | src_id | |||
) | [static] |
Definition at line 1538 of file lltooldraganddrop.cpp.
References LLPermissions::allowCopyBy(), LLHUDManager::createViewerEffect(), LLInventoryModel::deleteObject(), LLFloaterTools::dirty(), LLViewerObjectList::findObject(), gAgent, LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLAgent::getID(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), LLView::getVisible(), gFloaterTools, gHUDManager, gInventory, gObjectList, gToolDragAndDrop, 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::dropObject | ( | LLViewerObject * | raycast_target, | |
BOOL | bypass_sim_raycast, | |||
BOOL | from_task_inventory, | |||
BOOL | remove_from_inventory | |||
) | [protected] |
Definition at line 1388 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(), LLInventoryObject::getParentUUID(), LLInventoryItem::getPermissions(), LLViewerRegion::getPosRegionFromGlobal(), LLViewerRegion::getRegionFlags(), LLWorld::getRegionFromPosGlobal(), LLAgent::getSessionID(), LLInventoryObject::getUUID(), LLViewerWindow::getWindow(), gHUDManager, gInventory, gMessageSystem, gSelectMgr, gToolMgr, gViewerStats, gViewerWindow, gWorldp, 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().
void LLToolDragAndDrop::dropScript | ( | LLViewerObject * | hit_obj, | |
LLInventoryItem * | item, | |||
BOOL | active, | |||
ESource | source, | |||
const LLUUID & | src_id | |||
) | [static] |
Definition at line 1332 of file lltooldraganddrop.cpp.
References LLPermissions::allowCopyBy(), LLHUDManager::createViewerEffect(), LLInventoryModel::deleteObject(), LLFloaterTools::dirty(), LLViewerObjectList::findObject(), gAgent, LLAgent::getAvatarObject(), LLAgent::getEffectColor(), LLAgent::getID(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gFloaterTools, gHUDManager, gInventory, gObjectList, gToolDragAndDrop, 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::dropTextureAllFaces | ( | LLViewerObject * | hit_obj, | |
LLInventoryItem * | item, | |||
ESource | source, | |||
const LLUUID & | src_id | |||
) | [static] |
Definition at line 1263 of file lltooldraganddrop.cpp.
References dialog_refresh_all(), face, LLInventoryItem::getAssetUUID(), LLViewerImageList::getImage(), LLPrimitive::getNumTEs(), gImageList, gViewerStats, handleDropTextureProtections(), LLViewerStats::incStat(), llendl, llwarns, S32, LLViewerObject::sendTEUpdate(), LLViewerObject::setTEImage(), and LLViewerStats::ST_EDIT_TEXTURE_COUNT.
Referenced by dad3dTextureObject(), and LLSelectMgr::selectionSetImage().
void LLToolDragAndDrop::dropTextureOneFace | ( | LLViewerObject * | hit_obj, | |
S32 | hit_face, | |||
LLInventoryItem * | item, | |||
ESource | source, | |||
const LLUUID & | src_id | |||
) | [static] |
Definition at line 1303 of file lltooldraganddrop.cpp.
References dialog_refresh_all(), LLInventoryItem::getAssetUUID(), LLViewerImageList::getImage(), gImageList, gViewerStats, handleDropTextureProtections(), LLViewerStats::incStat(), llendl, llwarns, LLViewerObject::sendTEUpdate(), LLViewerObject::setTEImage(), and LLViewerStats::ST_EDIT_TEXTURE_COUNT.
Referenced by dad3dTextureObject(), and LLSelectMgr::selectionSetImage().
void LLToolDragAndDrop::endDrag | ( | ) |
Definition at line 768 of file lltooldraganddrop.cpp.
References FALSE, gSelectMgr, LLTool::setMouseCapture(), and LLSelectMgr::unhighlightAll().
Referenced by LLPanelInventory::clearContents(), handleKey(), and handleMouseUp().
EAcceptance LLToolDragAndDrop::getLastAccept | ( | ) | [inline] |
Definition at line 86 of file lltooldraganddrop.h.
References mLastAccept.
Referenced by LLFolderView::draw().
const LLUUID& LLToolDragAndDrop::getObjectID | ( | ) | const [inline] |
Definition at line 85 of file lltooldraganddrop.h.
References mObjectID.
Referenced by LLFolderBridge::dragItemIntoFolder().
ESource LLToolDragAndDrop::getSource | ( | ) | const [inline] |
Definition at line 83 of file lltooldraganddrop.h.
References mSource.
Referenced by LLPanelInventory::clearContents(), LLFolderBridge::dragCategoryIntoFolder(), LLFolderBridge::dragItemIntoFolder(), and LLTaskCategoryBridge::dragOrDrop().
const LLUUID& LLToolDragAndDrop::getSourceID | ( | ) | const [inline] |
Definition at line 84 of file lltooldraganddrop.h.
References mSourceID.
Referenced by LLFolderBridge::dragItemIntoFolder(), and LLTaskCategoryBridge::dragOrDrop().
void LLToolDragAndDrop::giveInventory | ( | const LLUUID & | to_agent, | |
LLInventoryItem * | item | |||
) | [static] |
Definition at line 1608 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 1704 of file lltooldraganddrop.cpp.
References LLViewerWindow::alertXml(), LLInventoryModel::collectDescendentsIf(), commitGiveInventoryCategory(), LLDynamicArray< Type, BlockSize >::count(), 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().
Definition at line 1774 of file lltooldraganddrop.cpp.
References LLViewerWindow::alertXml(), LLInventoryModel::collectDescendentsIf(), commitGiveInventoryCategory(), count, LLInventoryModel::deleteObject(), LLInventoryModel::EXCLUDE_TRASH, LLInventoryModel::getCategory(), LLInventoryObject::getUUID(), gInventory, gViewerWindow, i, LLGiveInventoryInfo::mInventoryObjectID, LLGiveInventoryInfo::mToAgentID, LLInventoryModel::notifyObservers(), NULL, and S32.
Referenced by giveInventoryCategory().
Definition at line 1634 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::handleDeselect | ( | ) | [virtual] |
Reimplemented from LLTool.
Definition at line 872 of file lltooldraganddrop.cpp.
References mToolTipMsg.
BOOL LLToolDragAndDrop::handleDropTextureProtections | ( | LLViewerObject * | hit_obj, | |
LLInventoryItem * | item, | |||
LLToolDragAndDrop::ESource | source, | |||
const LLUUID & | src_id | |||
) | [static, protected] |
Definition at line 1189 of file lltooldraganddrop.cpp.
References ACCEPT_YES_COPY_SINGLE, LLPermissions::allowOperationBy(), LLInventoryModel::deleteObject(), FALSE, LLViewerObjectList::findObject(), gAgent, LLInventoryItem::getAssetUUID(), LLAgent::getID(), LLViewerObject::getInventoryItemByAsset(), LLInventoryItem::getPermissions(), LLInventoryObject::getUUID(), gInventory, gObjectList, llendl, llwarns, LLInventoryModel::notifyObservers(), PERM_COPY, PERM_TRANSFER, LLViewerObject::removeInventory(), SOURCE_AGENT, SOURCE_LIBRARY, SOURCE_WORLD, TASK_INVENTORY_ASSET_KEY, TRUE, LLViewerObject::updateInventory(), and willObjectAcceptInventory().
Referenced by dropTextureAllFaces(), and dropTextureOneFace().
Reimplemented from LLTool.
Definition at line 796 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 849 of file lltooldraganddrop.cpp.
References endDrag(), FALSE, KEY_ESCAPE, and TRUE.
Reimplemented from LLTool.
Definition at line 785 of file lltooldraganddrop.cpp.
References ACCEPT_NO, dragOrDrop(), endDrag(), LLTool::hasMouseCapture(), and TRUE.
BOOL LLToolDragAndDrop::handleToolTip | ( | S32 | x, | |
S32 | y, | |||
LLString & | msg, | |||
LLRect * | sticky_rect_screen | |||
) | [virtual] |
Reimplemented from LLTool.
Definition at line 861 of file lltooldraganddrop.cpp.
References FALSE, mToolTipMsg, and TRUE.
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 1908 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 1951 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().
Definition at line 627 of file lltooldraganddrop.cpp.
References llabs(), mDragStartX, mDragStartY, and S32.
Referenced by LLViewerTextEditor::handleHover(), LLPreview::handleHover(), and LLFolderViewItem::handleHover().
LLInventoryObject * LLToolDragAndDrop::locateInventory | ( | LLViewerInventoryItem *& | item, | |
LLViewerInventoryCategory *& | cat | |||
) | [protected] |
Definition at line 2881 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::onMouseCaptureLost | ( | ) | [virtual] |
Reimplemented from LLTool.
Definition at line 774 of file lltooldraganddrop.cpp.
References LLToolMgr::clearTransientTool(), gToolMgr, mCargoIDs, mCargoTypes, mObjectID, mSource, mSourceID, LLUUID::setNull(), and SOURCE_AGENT.
Definition at line 1043 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(), LLViewerWindow::getWindow(), gLastHitLand, gLastHitNonFloraObjectFace, gLastHitObjectOffset, gLastHitPosGlobal, gSelectMgr, gToolDragAndDrop, 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, LLWindow::setCursor(), target, 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().
Definition at line 621 of file lltooldraganddrop.cpp.
References mDragStartX, and mDragStartY.
Referenced by LLViewerTextEditor::handleMouseDown(), LLPreview::handleMouseDown(), and LLFolderViewItem::handleMouseDown().
EAcceptance LLToolDragAndDrop::willObjectAcceptInventory | ( | LLViewerObject * | obj, | |
LLInventoryItem * | item | |||
) | [static, protected] |
Definition at line 1995 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().
std::vector<LLUUID> LLToolDragAndDrop::mCargoIDs [protected] |
Definition at line 118 of file lltooldraganddrop.h.
Referenced by beginDrag(), beginMultiDrag(), dragOrDrop(), handleHover(), locateInventory(), onMouseCaptureLost(), and pickCallback().
std::vector<EDragAndDropType> LLToolDragAndDrop::mCargoTypes [protected] |
Definition at line 116 of file lltooldraganddrop.h.
Referenced by beginDrag(), beginMultiDrag(), dragOrDrop(), locateInventory(), onMouseCaptureLost(), and pickCallback().
S32 LLToolDragAndDrop::mCurItemIndex [protected] |
Definition at line 129 of file lltooldraganddrop.h.
Referenced by dragOrDrop(), locateInventory(), and pickCallback().
ECursorType LLToolDragAndDrop::mCursor [protected] |
Definition at line 126 of file lltooldraganddrop.h.
Referenced by beginDrag(), beginMultiDrag(), handleHover(), and pickCallback().
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().
BOOL LLToolDragAndDrop::mDrop [protected] |
Definition at line 128 of file lltooldraganddrop.h.
Referenced by dragOrDrop3D(), and pickCallback().
EAcceptance LLToolDragAndDrop::mLastAccept [protected] |
Definition at line 127 of file lltooldraganddrop.h.
Referenced by dragOrDrop(), dragOrDrop3D(), getLastAccept(), and pickCallback().
LLVector3d LLToolDragAndDrop::mLastCameraPos [protected] |
LLVector3d LLToolDragAndDrop::mLastHitPos [protected] |
LLUUID LLToolDragAndDrop::mObjectID [protected] |
Definition at line 121 of file lltooldraganddrop.h.
Referenced by beginDrag(), dropObject(), getObjectID(), and onMouseCaptureLost().
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().
LLString LLToolDragAndDrop::mToolTipMsg [protected] |
Definition at line 130 of file lltooldraganddrop.h.
Referenced by dragOrDrop(), handleDeselect(), and handleToolTip().
LLToolDragAndDrop::dragOrDrop3dImpl LLToolDragAndDrop::sDragAndDrop3d [static, protected] |
Definition at line 134 of file lltooldraganddrop.h.