From 71d28bdbf0baab9302c8f458e3bdbcfc60d656d4 Mon Sep 17 00:00:00 2001 From: Steven Bennetts Date: Wed, 17 Jan 2007 23:02:00 +0000 Subject: merge release@56803 release-candidate@56833 --- indra/newview/lltoolcomp.cpp | 69 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 63 insertions(+), 6 deletions(-) (limited to 'indra/newview/lltoolcomp.cpp') diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp index f295c66ee1..945a172b1c 100644 --- a/indra/newview/lltoolcomp.cpp +++ b/indra/newview/lltoolcomp.cpp @@ -39,6 +39,7 @@ const S32 BUTTON_WIDTH_BIG = 48; const S32 HPAD = 4; // Globals +LLToolCompInspect *gToolInspect = NULL; LLToolCompTranslate *gToolTranslate = NULL; LLToolCompScale *gToolStretch = NULL; LLToolCompRotate *gToolRotate = NULL; @@ -47,6 +48,7 @@ LLToolCompGun *gToolGun = NULL; extern LLControlGroup gSavedSettings; + //----------------------------------------------------------------------- // LLToolComposite @@ -108,6 +110,64 @@ void LLToolComposite::handleSelect() mSelected = TRUE; } +//---------------------------------------------------------------------------- +// LLToolCompInspect +//---------------------------------------------------------------------------- + +LLToolCompInspect::LLToolCompInspect() +: LLToolComposite("Inspect") +{ + mSelectRect = new LLToolSelectRect(this); + mDefault = mSelectRect; +} + + +LLToolCompInspect::~LLToolCompInspect() +{ + delete mSelectRect; + mSelectRect = NULL; +} + +BOOL LLToolCompInspect::handleMouseDown(S32 x, S32 y, MASK mask) +{ + mMouseDown = TRUE; + gViewerWindow->hitObjectOrLandGlobalAsync(x, y, mask, pickCallback); + return TRUE; +} + +void LLToolCompInspect::pickCallback(S32 x, S32 y, MASK mask) +{ + LLViewerObject* hit_obj = gViewerWindow->lastObjectHit(); + + if (!gToolInspect->mMouseDown) + { + // fast click on object, but mouse is already up...just do select + gToolInspect->mSelectRect->handleObjectSelection(hit_obj, mask, !gSavedSettings.getBOOL("SelectLinkedSet"), FALSE); + return; + } + + if( hit_obj ) + { + if (gSelectMgr->getObjectCount()) + { + gEditMenuHandler = gSelectMgr; + } + gToolInspect->setCurrentTool( gToolInspect->mSelectRect ); + gToolInspect->mSelectRect->handleMouseDown( x, y, mask ); + + } + else + { + gToolInspect->setCurrentTool( gToolInspect->mSelectRect ); + gToolInspect->mSelectRect->handleMouseDown( x, y, mask); + } +} + +BOOL LLToolCompInspect::handleDoubleClick(S32 x, S32 y, MASK mask) +{ + return TRUE; +} + //---------------------------------------------------------------------------- // LLToolCompTranslate //---------------------------------------------------------------------------- @@ -202,12 +262,9 @@ BOOL LLToolCompTranslate::handleDoubleClick(S32 x, S32 y, MASK mask) gFloaterTools->showPanel(LLFloaterTools::PANEL_CONTENTS); return TRUE; } - else - { - // Nothing selected means the first mouse click was probably - // bad, so try again. - return FALSE; - } + // Nothing selected means the first mouse click was probably + // bad, so try again. + return FALSE; } -- cgit v1.2.3