diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/CMakeLists.txt | 4 | ||||
| -rwxr-xr-x | indra/newview/llagent.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindingconsole.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llpanelnavmeshrebake.h | 97 | ||||
| -rw-r--r-- | indra/newview/llpanelpathfindingrebakenavmesh.cpp (renamed from indra/newview/llpanelnavmeshrebake.cpp) | 101 | ||||
| -rw-r--r-- | indra/newview/llpanelpathfindingrebakenavmesh.h | 96 | ||||
| -rw-r--r-- | indra/newview/llpathfindingmanager.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 4 | 
8 files changed, 154 insertions, 156 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index a78c9931e5..c91d276c8f 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -382,13 +382,13 @@ set(viewer_SOURCE_FILES      llpanelmediasettingspermissions.cpp      llpanelmediasettingssecurity.cpp      llpanelme.cpp -    llpanelnavmeshrebake.cpp      llpanelnearbymedia.cpp      llpanelobject.cpp      llpanelobjectinventory.cpp      llpanelonlinestatus.cpp      llpaneloutfitedit.cpp      llpaneloutfitsinventory.cpp +    llpanelpathfindingrebakenavmesh.cpp      llpanelpeople.cpp      llpanelpeoplemenus.cpp      llpanelpermissions.cpp @@ -950,13 +950,13 @@ set(viewer_HEADER_FILES      llpanelmediasettingspermissions.h      llpanelmediasettingssecurity.h      llpanelme.h -    llpanelnavmeshrebake.h      llpanelnearbymedia.h      llpanelobject.h      llpanelobjectinventory.h      llpanelonlinestatus.h      llpaneloutfitedit.h      llpaneloutfitsinventory.h +    llpanelpathfindingrebakenavmesh.h      llpanelpeople.h      llpanelpeoplemenus.h      llpanelpermissions.h diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index e66df99d76..cf6b0e1562 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -56,7 +56,7 @@  #include "llnavigationbar.h" // to show/hide navigation bar when changing mouse look state  #include "llnearbychatbar.h"  #include "llnotificationsutil.h" -#include "llpanelnavmeshrebake.h" +#include "llpanelpathfindingrebakenavmesh.h"  #include "llpaneltopinfobar.h"  #include "llparcel.h"  #include "llrendersphere.h" @@ -1871,7 +1871,7 @@ void LLAgent::endAnimationUpdateUI()  		LLChicletBar::getInstance()->setVisible(TRUE);  		LLPanelStandStopFlying::getInstance()->setVisible(TRUE); -		LLPanelNavMeshRebake::getInstance()->setVisible(TRUE); +		LLPanelPathfindingRebakeNavmesh::getInstance()->setVisible(TRUE);  		LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset); @@ -1981,7 +1981,7 @@ void LLAgent::endAnimationUpdateUI()  		LLChicletBar::getInstance()->setVisible(FALSE);  		LLPanelStandStopFlying::getInstance()->setVisible(FALSE); -		LLPanelNavMeshRebake::getInstance()->setVisible(FALSE); +		LLPanelPathfindingRebakeNavmesh::getInstance()->setVisible(FALSE);  		// clear out camera lag effect  		gAgentCamera.clearCameraLag(); diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index ab5775de06..0bd5dc0263 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -54,7 +54,6 @@  #include "pipeline.h"  #include "llpathinglib.h"  #include "llviewerparcelmgr.h" -#include "llpanelnavmeshrebake.h"  #define XUI_RENDER_HEATMAP_NONE 0  #define XUI_RENDER_HEATMAP_A 1 diff --git a/indra/newview/llpanelnavmeshrebake.h b/indra/newview/llpanelnavmeshrebake.h deleted file mode 100644 index ecd5ad2111..0000000000 --- a/indra/newview/llpanelnavmeshrebake.h +++ /dev/null @@ -1,97 +0,0 @@ -/** - * @file llpanelenavmeshrebake.h - * @author prep - * @brief handles the buttons for navmesh rebaking - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifndef LL_NAVMESHREBAKE_H -#define LL_NAVMESHREBAKE_H - -#include <boost/bind.hpp> -#include <boost/signals2.hpp> - -#include "llhandle.h" -#include "llpanel.h" -#include "llpathfindingmanager.h" -#include "llpathfindingnavmesh.h" - -class LLButton; -class LLPathfindingNavMeshStatus; -class LLView; - -class LLPanelNavMeshRebake : public LLPanel -{ - -	LOG_CLASS(LLPanelNavMeshRebake); - -public: -	static LLPanelNavMeshRebake* getInstance(); - -	virtual BOOL postBuild(); - -	virtual void draw(); -	virtual BOOL handleToolTip( S32 x, S32 y, MASK mask ); - -protected: - -private: -	typedef enum -	{ -		kRebakeNavMesh_Available, -		kRebakeNavMesh_RequestSent, -		kRebakeNavMesh_NotAvailable, -		kRebakeNavMesh_Default = kRebakeNavMesh_NotAvailable -	} ERebakeNavMeshMode; - -	LLPanelNavMeshRebake(); -	virtual ~LLPanelNavMeshRebake(); - -	static LLPanelNavMeshRebake* getPanel(); - -	void setMode(ERebakeNavMeshMode pRebakeNavMeshMode); -	 -	void onNavMeshRebakeClick(); - -	void handleAgentState(BOOL pCanRebakeRegion); -	void handleRebakeNavMeshResponse(bool pResponseStatus); -	void handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus); -	void handleRegionBoundaryCrossed(); - -	void createNavMeshStatusListenerForCurrentRegion(); - -	bool doDraw() const; -	void updatePosition(); - -	BOOL                                     mCanRebakeRegion; -	ERebakeNavMeshMode                       mRebakeNavMeshMode; -	 -	LLButton*                                mNavMeshRebakeButton; -	LLButton*                                mNavMeshBakingButton; - -	LLPathfindingNavMesh::navmesh_slot_t     mNavMeshSlot; -	boost::signals2::connection              mRegionCrossingSlot; -	LLPathfindingManager::agent_state_slot_t mAgentStateSlot; -}; - -#endif //LL_NAVMESHREBAKE_H diff --git a/indra/newview/llpanelnavmeshrebake.cpp b/indra/newview/llpanelpathfindingrebakenavmesh.cpp index ecd90d9f46..4f7b3aa330 100644 --- a/indra/newview/llpanelnavmeshrebake.cpp +++ b/indra/newview/llpanelpathfindingrebakenavmesh.cpp @@ -1,33 +1,34 @@ -/** - * @file LLPanelNavMeshRebake.cpp - * @author prep - * @brief handles the buttons for navmesh rebaking - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ +/**  +* @file llpanelpathfindingrebakenavmesh.cpp +* @brief Implementation of llpanelpathfindingrebakenavmesh +* @author Prep@lindenlab.com +* +* $LicenseInfo:firstyear=2012&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2012, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA +* $/LicenseInfo$ +*/ +  #include "llviewerprecompiledheaders.h" -#include "llpanelnavmeshrebake.h" +#include "llpanelpathfindingrebakenavmesh.h"  #include <boost/bind.hpp>  #include <boost/signals2.hpp> @@ -50,18 +51,18 @@  #include "llviewercontrol.h"  #include "llviewerregion.h" -LLPanelNavMeshRebake* LLPanelNavMeshRebake::getInstance() +LLPanelPathfindingRebakeNavmesh* LLPanelPathfindingRebakeNavmesh::getInstance()  { -	static LLPanelNavMeshRebake* panel = getPanel(); +	static LLPanelPathfindingRebakeNavmesh* panel = getPanel();  	return panel;  } -BOOL LLPanelNavMeshRebake::postBuild() +BOOL LLPanelPathfindingRebakeNavmesh::postBuild()  {  	//Rebake initiated  	mNavMeshRebakeButton = findChild<LLButton>("navmesh_btn");  	llassert(mNavMeshRebakeButton != NULL); -	mNavMeshRebakeButton->setCommitCallback(boost::bind(&LLPanelNavMeshRebake::onNavMeshRebakeClick, this)); +	mNavMeshRebakeButton->setCommitCallback(boost::bind(&LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick, this));  	LLHints::registerHintTarget("navmesh_btn", mNavMeshRebakeButton->getHandle());  	//Baking... @@ -75,19 +76,19 @@ BOOL LLPanelNavMeshRebake::postBuild()  	if ( !mRegionCrossingSlot.connected() )  	{ -		mRegionCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLPanelNavMeshRebake::handleRegionBoundaryCrossed, this)); +		mRegionCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLPanelPathfindingRebakeNavmesh::handleRegionBoundaryCrossed, this));  	}  	if (!mAgentStateSlot.connected())  	{ -		mAgentStateSlot = LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLPanelNavMeshRebake::handleAgentState, this, _1)); +		mAgentStateSlot = LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLPanelPathfindingRebakeNavmesh::handleAgentState, this, _1));  	}  	LLPathfindingManager::getInstance()->requestGetAgentState();  	return LLPanel::postBuild();  } -void LLPanelNavMeshRebake::draw() +void LLPanelPathfindingRebakeNavmesh::draw()  {  	if (doDraw())  	{ @@ -96,7 +97,7 @@ void LLPanelNavMeshRebake::draw()  	}  } -BOOL LLPanelNavMeshRebake::handleToolTip( S32 x, S32 y, MASK mask ) +BOOL LLPanelPathfindingRebakeNavmesh::handleToolTip( S32 x, S32 y, MASK mask )  {  	LLToolTipMgr::instance().unblockToolTips(); @@ -108,7 +109,7 @@ BOOL LLPanelNavMeshRebake::handleToolTip( S32 x, S32 y, MASK mask )  	return LLPanel::handleToolTip(x, y, mask);  } -LLPanelNavMeshRebake::LLPanelNavMeshRebake()  +LLPanelPathfindingRebakeNavmesh::LLPanelPathfindingRebakeNavmesh()   	: mCanRebakeRegion(FALSE),  	mRebakeNavMeshMode(kRebakeNavMesh_Default),  	mNavMeshRebakeButton(NULL), @@ -123,18 +124,18 @@ LLPanelNavMeshRebake::LLPanelNavMeshRebake()  	b=false;  } -LLPanelNavMeshRebake::~LLPanelNavMeshRebake()  +LLPanelPathfindingRebakeNavmesh::~LLPanelPathfindingRebakeNavmesh()   {  } -LLPanelNavMeshRebake* LLPanelNavMeshRebake::getPanel() +LLPanelPathfindingRebakeNavmesh* LLPanelPathfindingRebakeNavmesh::getPanel()  { -	LLPanelNavMeshRebake* panel = new LLPanelNavMeshRebake(); +	LLPanelPathfindingRebakeNavmesh* panel = new LLPanelPathfindingRebakeNavmesh();  	panel->buildFromFile("panel_navmesh_rebake.xml");  	return panel;  } -void LLPanelNavMeshRebake::setMode(ERebakeNavMeshMode pRebakeNavMeshMode) +void LLPanelPathfindingRebakeNavmesh::setMode(ERebakeNavMeshMode pRebakeNavMeshMode)  {  	if (pRebakeNavMeshMode == kRebakeNavMesh_Available)  	{ @@ -145,23 +146,23 @@ void LLPanelNavMeshRebake::setMode(ERebakeNavMeshMode pRebakeNavMeshMode)  	mRebakeNavMeshMode = pRebakeNavMeshMode;  } -void LLPanelNavMeshRebake::onNavMeshRebakeClick() +void LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick()  {  	setMode(kRebakeNavMesh_RequestSent); -	LLPathfindingManager::getInstance()->requestRebakeNavMesh(boost::bind(&LLPanelNavMeshRebake::handleRebakeNavMeshResponse, this, _1)); +	LLPathfindingManager::getInstance()->requestRebakeNavMesh(boost::bind(&LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse, this, _1));  } -void LLPanelNavMeshRebake::handleAgentState(BOOL pCanRebakeRegion) +void LLPanelPathfindingRebakeNavmesh::handleAgentState(BOOL pCanRebakeRegion)  {  	mCanRebakeRegion = pCanRebakeRegion;  } -void LLPanelNavMeshRebake::handleRebakeNavMeshResponse(bool pResponseStatus) +void LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse(bool pResponseStatus)  {  	setMode(pResponseStatus ? kRebakeNavMesh_NotAvailable : kRebakeNavMesh_Available);  } -void LLPanelNavMeshRebake::handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus) +void LLPanelPathfindingRebakeNavmesh::handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus)  {  	ERebakeNavMeshMode rebakeNavMeshMode = kRebakeNavMesh_Default;  	if (pNavMeshStatus.isValid()) @@ -186,13 +187,13 @@ void LLPanelNavMeshRebake::handleNavMeshStatus(const LLPathfindingNavMeshStatus  	setMode(rebakeNavMeshMode);  } -void LLPanelNavMeshRebake::handleRegionBoundaryCrossed() +void LLPanelPathfindingRebakeNavmesh::handleRegionBoundaryCrossed()  {  	createNavMeshStatusListenerForCurrentRegion();  	LLPathfindingManager::getInstance()->requestGetAgentState();  } -void LLPanelNavMeshRebake::createNavMeshStatusListenerForCurrentRegion() +void LLPanelPathfindingRebakeNavmesh::createNavMeshStatusListenerForCurrentRegion()  {  	if (mNavMeshSlot.connected())  	{ @@ -203,17 +204,17 @@ void LLPanelNavMeshRebake::createNavMeshStatusListenerForCurrentRegion()  	LLViewerRegion *currentRegion = gAgent.getRegion();  	if (currentRegion != NULL)  	{ -		mNavMeshSlot = LLPathfindingManager::getInstance()->registerNavMeshListenerForRegion(currentRegion, boost::bind(&LLPanelNavMeshRebake::handleNavMeshStatus, this, _2)); +		mNavMeshSlot = LLPathfindingManager::getInstance()->registerNavMeshListenerForRegion(currentRegion, boost::bind(&LLPanelPathfindingRebakeNavmesh::handleNavMeshStatus, this, _2));  		LLPathfindingManager::getInstance()->requestGetNavMeshForRegion(currentRegion, true);  	}  } -bool LLPanelNavMeshRebake::doDraw() const +bool LLPanelPathfindingRebakeNavmesh::doDraw() const  {  	return ((mCanRebakeRegion || gSavedSettings.getBOOL("PathfindingEnableAlwaysAllowRebakeNavMesh")) && (mRebakeNavMeshMode != kRebakeNavMesh_NotAvailable));  } -void LLPanelNavMeshRebake::updatePosition() +void LLPanelPathfindingRebakeNavmesh::updatePosition()  {  	S32 y_pos = 0;  	S32 bottom_tb_center = 0; diff --git a/indra/newview/llpanelpathfindingrebakenavmesh.h b/indra/newview/llpanelpathfindingrebakenavmesh.h new file mode 100644 index 0000000000..f81c030c35 --- /dev/null +++ b/indra/newview/llpanelpathfindingrebakenavmesh.h @@ -0,0 +1,96 @@ +/**  +* @file   llpanelpathfindingrebakenavmesh.h +* @brief  Header file for llpanelpathfindingrebakenavmesh +* @author Prep@lindenlab.com +* +* $LicenseInfo:firstyear=2012&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2012, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA +* $/LicenseInfo$ +*/ +#ifndef LL_LLPANELPATHFINDINGREBAKENAVMESH_H +#define LL_LLPANELPATHFINDINGREBAKENAVMESH_H + +#include <boost/bind.hpp> +#include <boost/signals2.hpp> + +#include "llhandle.h" +#include "llpanel.h" +#include "llpathfindingmanager.h" +#include "llpathfindingnavmesh.h" + +class LLButton; +class LLPathfindingNavMeshStatus; +class LLView; + +class LLPanelPathfindingRebakeNavmesh : public LLPanel +{ + +	LOG_CLASS(LLPanelPathfindingRebakeNavmesh); + +public: +	static LLPanelPathfindingRebakeNavmesh* getInstance(); + +	virtual BOOL postBuild(); + +	virtual void draw(); +	virtual BOOL handleToolTip( S32 x, S32 y, MASK mask ); + +protected: + +private: +	typedef enum +	{ +		kRebakeNavMesh_Available, +		kRebakeNavMesh_RequestSent, +		kRebakeNavMesh_NotAvailable, +		kRebakeNavMesh_Default = kRebakeNavMesh_NotAvailable +	} ERebakeNavMeshMode; + +	LLPanelPathfindingRebakeNavmesh(); +	virtual ~LLPanelPathfindingRebakeNavmesh(); + +	static LLPanelPathfindingRebakeNavmesh* getPanel(); + +	void setMode(ERebakeNavMeshMode pRebakeNavMeshMode); +	 +	void onNavMeshRebakeClick(); + +	void handleAgentState(BOOL pCanRebakeRegion); +	void handleRebakeNavMeshResponse(bool pResponseStatus); +	void handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus); +	void handleRegionBoundaryCrossed(); + +	void createNavMeshStatusListenerForCurrentRegion(); + +	bool doDraw() const; +	void updatePosition(); + +	BOOL                                     mCanRebakeRegion; +	ERebakeNavMeshMode                       mRebakeNavMeshMode; +	 +	LLButton*                                mNavMeshRebakeButton; +	LLButton*                                mNavMeshBakingButton; + +	LLPathfindingNavMesh::navmesh_slot_t     mNavMeshSlot; +	boost::signals2::connection              mRegionCrossingSlot; +	LLPathfindingManager::agent_state_slot_t mAgentStateSlot; +}; + +#endif // LL_LLPANELPATHFINDINGREBAKENAVMESH_H diff --git a/indra/newview/llpathfindingmanager.cpp b/indra/newview/llpathfindingmanager.cpp index 019ddbfe96..90199a9cae 100644 --- a/indra/newview/llpathfindingmanager.cpp +++ b/indra/newview/llpathfindingmanager.cpp @@ -53,7 +53,6 @@  #include "lluuid.h"  #include "llviewerregion.h"  #include "llweb.h" -#include "llpanelnavmeshrebake.h"  #include "llenvmanager.h"  #define CAP_SERVICE_RETRIEVE_NAVMESH        "RetrieveNavMeshSrc" diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 427afb96bc..5315568667 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -126,7 +126,7 @@  #include "llmorphview.h"  #include "llmoveview.h"  #include "llnavigationbar.h" -#include "llpanelnavmeshrebake.h" +#include "llpanelpathfindingrebakenavmesh.h"  #include "llpaneltopinfobar.h"  #include "llpopupview.h"  #include "llpreviewtexture.h" @@ -1929,7 +1929,7 @@ void LLViewerWindow::initWorldUI()  	LLPanelStandStopFlying* panel_stand_stop_flying	= LLPanelStandStopFlying::getInstance();  	panel_ssf_container->addChild(panel_stand_stop_flying); -	LLPanelNavMeshRebake *panel_rebake_navmesh = LLPanelNavMeshRebake::getInstance(); +	LLPanelPathfindingRebakeNavmesh *panel_rebake_navmesh = LLPanelPathfindingRebakeNavmesh::getInstance();  	panel_ssf_container->addChild(panel_rebake_navmesh);  	panel_ssf_container->setVisible(TRUE);  | 
