diff options
| author | Oz Linden <oz@lindenlab.com> | 2013-01-04 10:23:22 -0500 | 
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2013-01-04 10:23:22 -0500 | 
| commit | b75fc0af897124a05ab3842bdfc60f428d22e051 (patch) | |
| tree | 3cce57b84110720ea15f370b496d1bc6340a154f /indra/newview/llviewermenu.cpp | |
| parent | 584b615c3444fdeaa0d41f1d9e839edf1518a310 (diff) | |
| parent | def472b45cb17dd125f802dc3be85450135537a8 (diff) | |
merge up to 3.4.4 beta
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
| -rw-r--r-- | indra/newview/llviewermenu.cpp | 34 | 
1 files changed, 34 insertions, 0 deletions
| diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index d11e7e32c7..5a8ef00b1f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -83,6 +83,7 @@  #include "llinventoryfunctions.h"  #include "llpanellogin.h"  #include "llpanelblockedlist.h" +#include "llmenuoptionpathfindingrebakenavmesh.h"  #include "llmoveview.h"  #include "llparcel.h"  #include "llrootview.h" @@ -4876,6 +4877,37 @@ class LLToolsEnablePathfindingView : public view_listener_t  	}  }; +class LLToolsDoPathfindingRebakeRegion : public view_listener_t +{ +	bool handleEvent(const LLSD& userdata) +	{ +		bool hasPathfinding = (LLPathfindingManager::getInstance() != NULL); + +		if (hasPathfinding) +		{ +			LLMenuOptionPathfindingRebakeNavmesh::getInstance()->sendRequestRebakeNavmesh(); +		} + +		return hasPathfinding; +	} +}; + +class LLToolsEnablePathfindingRebakeRegion : public view_listener_t +{ +	bool handleEvent(const LLSD& userdata) +	{ +		bool returnValue = false; + +		if (LLPathfindingManager::getInstance() != NULL) +		{ +			LLMenuOptionPathfindingRebakeNavmesh *rebakeInstance = LLMenuOptionPathfindingRebakeNavmesh::getInstance(); +			returnValue = (rebakeInstance->canRebakeRegion() && +				(rebakeInstance->getMode() == LLMenuOptionPathfindingRebakeNavmesh::kRebakeNavMesh_Available)); +		} +		return returnValue; +	} +}; +  // Round the position of all root objects to the grid  class LLToolsSnapObjectXY : public view_listener_t  { @@ -8359,6 +8391,8 @@ void initialize_menus()  	view_listener_t::addMenu(new LLToolsEnablePathfinding(), "Tools.EnablePathfinding");  	view_listener_t::addMenu(new LLToolsEnablePathfindingView(), "Tools.EnablePathfindingView"); +	view_listener_t::addMenu(new LLToolsDoPathfindingRebakeRegion(), "Tools.DoPathfindingRebakeRegion"); +	view_listener_t::addMenu(new LLToolsEnablePathfindingRebakeRegion(), "Tools.EnablePathfindingRebakeRegion");  	// Help menu  	// most items use the ShowFloater method | 
