LLToolDragAndDrop Class Reference

#include <lltooldraganddrop.h>

Inheritance diagram for LLToolDragAndDrop:

Inheritance graph
[legend]
Collaboration diagram for LLToolDragAndDrop:

Collaboration graph
[legend]
List of all members.

Public Types

 SOURCE_AGENT
 SOURCE_WORLD
 SOURCE_NOTECARD
 SOURCE_LIBRARY
enum  ESource { SOURCE_AGENT, SOURCE_WORLD, SOURCE_NOTECARD, SOURCE_LIBRARY }

Public Member Functions

 LLToolDragAndDrop ()
virtual BOOL handleMouseUp (S32 x, S32 y, MASK mask)
virtual BOOL handleHover (S32 x, S32 y, MASK mask)
virtual BOOL handleKey (KEY key, MASK mask)
virtual BOOL handleToolTip (S32 x, S32 y, LLString &msg, LLRect *sticky_rect_screen)
virtual void onMouseCaptureLost ()
virtual void handleDeselect ()
void setDragStart (S32 x, S32 y)
BOOL isOverThreshold (S32 x, S32 y)
void beginDrag (EDragAndDropType type, const LLUUID &cargo_id, ESource source, const LLUUID &source_id=LLUUID::null, const LLUUID &object_id=LLUUID::null)
void beginMultiDrag (const std::vector< EDragAndDropType > types, const std::vector< LLUUID > &cargo_ids, ESource source, const LLUUID &source_id=LLUUID::null)
void endDrag ()
ESource getSource () const
const LLUUIDgetSourceID () const
const LLUUIDgetObjectID () const
EAcceptance getLastAccept ()
BOOL dadUpdateInventory (LLViewerObject *obj, BOOL drop)
BOOL dadUpdateInventoryCategory (LLViewerObject *obj, BOOL drop)

Static Public Member Functions

static BOOL isInventoryDropAcceptable (LLViewerObject *obj, LLInventoryItem *item)
static BOOL isInventoryGiveAcceptable (LLInventoryItem *item)
static BOOL isInventoryGroupGiveAcceptable (LLInventoryItem *item)
static void dropScript (LLViewerObject *hit_obj, LLInventoryItem *item, BOOL active, ESource source, const LLUUID &src_id)
static void dropTextureOneFace (LLViewerObject *hit_obj, S32 hit_face, LLInventoryItem *item, ESource source, const LLUUID &src_id)
static void dropTextureAllFaces (LLViewerObject *hit_obj, LLInventoryItem *item, ESource source, const LLUUID &src_id)
static void dropInventory (LLViewerObject *hit_obj, LLInventoryItem *item, ESource source, const LLUUID &src_id)
static void giveInventory (const LLUUID &to_agent, LLInventoryItem *item)
static void giveInventoryCategory (const LLUUID &to_agent, LLInventoryCategory *item)

Protected Types

typedef EAcceptance(LLToolDragAndDrop::*) dragOrDrop3dImpl (LLViewerObject *, S32, MASK, BOOL)
 DT_NONE = 0
 DT_SELF = 1
 DT_AVATAR = 2
 DT_OBJECT = 3
 DT_LAND = 4
 DT_COUNT = 5
enum  EDropTarget {
  DT_NONE = 0, DT_SELF = 1, DT_AVATAR = 2, DT_OBJECT = 3,
  DT_LAND = 4, DT_COUNT = 5
}

Protected Member Functions

void dragOrDrop (S32 x, S32 y, MASK mask, BOOL drop, EAcceptance *acceptance)
void dragOrDrop3D (S32 x, S32 y, MASK mask, BOOL drop, EAcceptance *acceptance)
EAcceptance dad3dNULL (LLViewerObject *, S32, MASK, BOOL)
EAcceptance dad3dRezObjectOnLand (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dRezObjectOnObject (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dRezScript (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dTextureObject (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dWearItem (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dWearCategory (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dUpdateInventory (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dUpdateInventoryCategory (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dGiveInventoryObject (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dGiveInventory (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dGiveInventoryCategory (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dRezFromObjectOnLand (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dRezFromObjectOnObject (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dRezAttachmentFromInv (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dCategoryOnLand (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dAssetOnLand (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
EAcceptance dad3dActivateGesture (LLViewerObject *obj, S32 face, MASK mask, BOOL drop)
LLInventoryObjectlocateInventory (LLViewerInventoryItem *&item, LLViewerInventoryCategory *&cat)
void createContainer (LLViewerInventoryItem::item_array_t &items, const char *preferred_name)
void dropObject (LLViewerObject *raycast_target, BOOL bypass_sim_raycast, BOOL from_task_inventory, BOOL remove_from_inventory)

Static Protected Member Functions

static void pickCallback (S32 x, S32 y, MASK mask)
static EAcceptance willObjectAcceptInventory (LLViewerObject *obj, LLInventoryItem *item)
static BOOL handleDropTextureProtections (LLViewerObject *hit_obj, LLInventoryItem *item, LLToolDragAndDrop::ESource source, const LLUUID &src_id)
static void handleCopyProtectedItem (S32 option, void *data)
static void commitGiveInventoryItem (const LLUUID &to_agent, LLInventoryItem *item)
static void handleCopyProtectedCategory (S32 option, void *data)
static void commitGiveInventoryCategory (const LLUUID &to_agent, LLInventoryCategory *cat)

Protected Attributes

S32 mDragStartX
S32 mDragStartY
std::vector< EDragAndDropTypemCargoTypes
std::vector< LLUUIDmCargoIDs
ESource mSource
LLUUID mSourceID
LLUUID mObjectID
LLVector3d mLastCameraPos
LLVector3d mLastHitPos
ECursorType mCursor
EAcceptance mLastAccept
BOOL mDrop
S32 mCurItemIndex
LLString mToolTipMsg

Static Protected Attributes

static dragOrDrop3dImpl sDragAndDrop3d [DAD_COUNT][DT_COUNT]

Detailed Description

Definition at line 49 of file lltooldraganddrop.h.


Member Typedef Documentation

typedef EAcceptance(LLToolDragAndDrop::*) LLToolDragAndDrop::dragOrDrop3dImpl(LLViewerObject *, S32, MASK, BOOL) [protected]

Definition at line 103 of file lltooldraganddrop.h.


Member Enumeration Documentation

enum LLToolDragAndDrop::EDropTarget [protected]

Enumerator:
DT_NONE 
DT_SELF 
DT_AVATAR 
DT_OBJECT 
DT_LAND 
DT_COUNT 

Definition at line 89 of file lltooldraganddrop.h.

enum LLToolDragAndDrop::ESource

Enumerator:
SOURCE_AGENT 
SOURCE_WORLD 
SOURCE_NOTECARD 
SOURCE_LIBRARY 

Definition at line 65 of file lltooldraganddrop.h.


Constructor & Destructor Documentation

LLToolDragAndDrop::LLToolDragAndDrop (  ) 

Definition at line 603 of file lltooldraganddrop.cpp.


Member Function Documentation

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]

Definition at line 2994 of file lltooldraganddrop.cpp.

References llendl, and llwarns.

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]

Definition at line 2850 of file lltooldraganddrop.cpp.

References ACCEPT_NO.

EAcceptance LLToolDragAndDrop::dad3dCategoryOnLand ( LLViewerObject obj,
S32  face,
MASK  mask,
BOOL  drop 
) [protected]

Definition at line 2812 of file lltooldraganddrop.cpp.

References ACCEPT_NO.

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.

References ACCEPT_NO, lldebugs, and llendl.

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().

void LLToolDragAndDrop::handleCopyProtectedCategory ( S32  option,
void data 
) [static, protected]

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().

void LLToolDragAndDrop::handleCopyProtectedItem ( S32  option,
void data 
) [static, protected]

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().

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

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().

BOOL LLToolDragAndDrop::handleKey ( KEY  key,
MASK  mask 
) [virtual]

Reimplemented from LLTool.

Definition at line 849 of file lltooldraganddrop.cpp.

References endDrag(), FALSE, KEY_ESCAPE, and TRUE.

BOOL LLToolDragAndDrop::handleMouseUp ( S32  x,
S32  y,
MASK  mask 
) [virtual]

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().

BOOL LLToolDragAndDrop::isOverThreshold ( S32  x,
S32  y 
)

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.

void LLToolDragAndDrop::pickCallback ( S32  x,
S32  y,
MASK  mask 
) [static, protected]

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().

void LLToolDragAndDrop::setDragStart ( S32  x,
S32  y 
)

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().


Member Data Documentation

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]

Definition at line 123 of file lltooldraganddrop.h.

Referenced by dropObject(), and pickCallback().

LLVector3d LLToolDragAndDrop::mLastHitPos [protected]

Definition at line 124 of file lltooldraganddrop.h.

Referenced by dropObject(), and pickCallback().

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.


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