From 17b42d5c5e0577cfcb59dc8972ddee602938d419 Mon Sep 17 00:00:00 2001 From: Yuri Chebotarev <ychebotarev@productengine.com> Date: Thu, 6 May 2010 19:52:56 +0300 Subject: EXT-6102 FIXED Add custom view for world rect with special reshape processing reviwed Mike Antipov at https://codereview.productengine.com/secondlife/r/357/ --HG-- branch : product-engine --- indra/newview/llworldview.cpp | 61 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 indra/newview/llworldview.cpp (limited to 'indra/newview/llworldview.cpp') diff --git a/indra/newview/llworldview.cpp b/indra/newview/llworldview.cpp new file mode 100644 index 0000000000..ca6111fdae --- /dev/null +++ b/indra/newview/llworldview.cpp @@ -0,0 +1,61 @@ +/** + * @file llworldview.cpp + * @brief LLWorldView class implementation + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llworldview.h" + +#include "llviewercontrol.h" +#include "llsidetray.h" +///////////////////////////////////////////////////// +// LLFloaterView + +static LLDefaultChildRegistry::Register<LLWorldView> r("world_view"); + +LLWorldView::LLWorldView(const Params& p) +: LLUICtrl (p) +{ +} + +void LLWorldView::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + if (FALSE == gSavedSettings.getBOOL("SidebarCameraMovement") ) + { + LLView* main_view = LLUI::getRootView()->findChild<LLView>("main_view"); + if(main_view) + { + width = main_view->getRect().getWidth(); + } + } + + LLUICtrl::reshape(width, height, called_from_parent); +} -- cgit v1.2.3 From de0773fcf73b9a1889366d3c3608e5775f7bb89d Mon Sep 17 00:00:00 2001 From: Tofu Linden <tofu.linden@lindenlab.com> Date: Thu, 6 May 2010 20:54:46 +0100 Subject: gah, dos2unix this file --- indra/newview/llworldview.cpp | 76 +++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 38 deletions(-) (limited to 'indra/newview/llworldview.cpp') diff --git a/indra/newview/llworldview.cpp b/indra/newview/llworldview.cpp index ca6111fdae..665cc74a87 100644 --- a/indra/newview/llworldview.cpp +++ b/indra/newview/llworldview.cpp @@ -1,41 +1,41 @@ -/** - * @file llworldview.cpp - * @brief LLWorldView class implementation - * - * $LicenseInfo:firstyear=2001&license=viewergpl$ - * - * Copyright (c) 2001-2009, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at - * http://secondlifegrid.net/programs/open_source/licensing/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llworldview.h" - -#include "llviewercontrol.h" -#include "llsidetray.h" +/** + * @file llworldview.cpp + * @brief LLWorldView class implementation + * + * $LicenseInfo:firstyear=2001&license=viewergpl$ + * + * Copyright (c) 2001-2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llworldview.h" + +#include "llviewercontrol.h" +#include "llsidetray.h" ///////////////////////////////////////////////////// // LLFloaterView -- cgit v1.2.3 From daa8d2b823fa0ca2a084bfbb38a7ee04720e6829 Mon Sep 17 00:00:00 2001 From: Yuri Chebotarev <ychebotarev@productengine.com> Date: Wed, 26 May 2010 11:40:01 +0300 Subject: EXT-7434 FIX Worldview rect wasn't updated when "SidebarCameraMovement" variable was changes. reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/443/ --HG-- branch : product-engine --- indra/newview/llworldview.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indra/newview/llworldview.cpp') diff --git a/indra/newview/llworldview.cpp b/indra/newview/llworldview.cpp index 665cc74a87..6336f8895a 100644 --- a/indra/newview/llworldview.cpp +++ b/indra/newview/llworldview.cpp @@ -44,6 +44,7 @@ static LLDefaultChildRegistry::Register<LLWorldView> r("world_view"); LLWorldView::LLWorldView(const Params& p) : LLUICtrl (p) { + gSavedSettings.getControl("SidebarCameraMovement")->getSignal()->connect(boost::bind(&LLWorldView::toggleSidebarCameraMovement, this, _2)); } void LLWorldView::reshape(S32 width, S32 height, BOOL called_from_parent) @@ -59,3 +60,8 @@ void LLWorldView::reshape(S32 width, S32 height, BOOL called_from_parent) LLUICtrl::reshape(width, height, called_from_parent); } +void LLWorldView::toggleSidebarCameraMovement(const LLSD::Boolean& new_visibility) +{ + reshape(getParent()->getRect().getWidth(),getRect().getHeight()); +} + -- cgit v1.2.3 From f33fdbf0ef25c485bdd09faaf1177d2b2b1a7694 Mon Sep 17 00:00:00 2001 From: Richard Nelson <none@none> Date: Wed, 26 May 2010 19:36:15 -0700 Subject: moved SidebarCameraMovement logic out of special widget to camera setup code --- indra/newview/llworldview.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'indra/newview/llworldview.cpp') diff --git a/indra/newview/llworldview.cpp b/indra/newview/llworldview.cpp index 665cc74a87..7261e63147 100644 --- a/indra/newview/llworldview.cpp +++ b/indra/newview/llworldview.cpp @@ -48,14 +48,14 @@ LLWorldView::LLWorldView(const Params& p) void LLWorldView::reshape(S32 width, S32 height, BOOL called_from_parent) { - if (FALSE == gSavedSettings.getBOOL("SidebarCameraMovement") ) - { - LLView* main_view = LLUI::getRootView()->findChild<LLView>("main_view"); - if(main_view) - { - width = main_view->getRect().getWidth(); - } - } + //if (FALSE == gSavedSettings.getBOOL("SidebarCameraMovement") ) + //{ + // LLView* main_view = LLUI::getRootView()->findChild<LLView>("main_view"); + // if(main_view) + // { + // width = main_view->getRect().getWidth(); + // } + //} LLUICtrl::reshape(width, height, called_from_parent); } -- cgit v1.2.3