diff options
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.cpp | 57 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.h | 6 | ||||
-rw-r--r-- | indra/newview/llpathfindingmanager.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llpathfindingmanager.h | 2 | ||||
-rw-r--r-- | indra/newview/llviewermenu.cpp | 9 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_pathfinding_console.xml | 390 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/menu_viewer.xml | 4 |
7 files changed, 216 insertions, 257 deletions
diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index 89aba6654d..047559fa5d 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -65,6 +65,9 @@ #define XUI_CHARACTER_TYPE_C 3 #define XUI_CHARACTER_TYPE_D 4 +#define XUI_VIEW_TAB_INDEX 0 +#define XUI_TEST_TAB_INDEX 1 + #define SET_SHAPE_RENDER_FLAG(_flag,_type) _flag |= (1U << _type) #define CONTROL_NAME_RETRIEVE_NEIGHBOR "RetrieveNeighboringRegion" @@ -92,6 +95,13 @@ extern LLPipeline gPipeline; BOOL LLFloaterPathfindingConsole::postBuild() { + mViewTestTabContainer = findChild<LLTabContainer>("view_test_tab_container"); + llassert(mViewTestTabContainer != NULL); + mViewTestTabContainer->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onTabSwitch, this)); + + mViewTab = findChild<LLPanel>("view_panel"); + llassert(mViewTab != NULL); + mShowLabel = findChild<LLTextBase>("show_label"); llassert(mShowLabel != NULL); @@ -132,10 +142,6 @@ BOOL LLFloaterPathfindingConsole::postBuild() mShowXRayCheckBox = findChild<LLCheckBoxCtrl>("show_xray"); llassert(mShowXRayCheckBox != NULL); - mViewCharactersButton = findChild<LLButton>("view_characters_floater"); - llassert(mViewCharactersButton != NULL); - mViewCharactersButton->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onViewCharactersClicked, this)); - mTestTab = findChild<LLPanel>("test_panel"); llassert(mTestTab != NULL); @@ -229,7 +235,10 @@ void LLFloaterPathfindingConsole::onOpen(const LLSD& pKey) setDefaultInputs(); updatePathTestStatus(); - switchIntoTestPathMode(); + if (mViewTestTabContainer->getCurrentPanelIndex() == XUI_TEST_TAB_INDEX) + { + switchIntoTestPathMode(); + } } void LLFloaterPathfindingConsole::onClose(bool pIsAppQuitting) @@ -438,11 +447,13 @@ void LLFloaterPathfindingConsole::setRenderHeatmapType(LLPathingLib::LLPLCharact LLFloaterPathfindingConsole::LLFloaterPathfindingConsole(const LLSD& pSeed) : LLFloater(pSeed), mSelfHandle(), - mShowLabel(), + mViewTestTabContainer(NULL), + mViewTab(NULL), + mShowLabel(NULL), mShowWorldCheckBox(NULL), mShowWorldMovablesOnlyCheckBox(NULL), mShowNavMeshCheckBox(NULL), - mShowNavMeshWalkabilityLabel(), + mShowNavMeshWalkabilityLabel(NULL), mShowNavMeshWalkabilityComboBox(NULL), mShowWalkablesCheckBox(NULL), mShowStaticObstaclesCheckBox(NULL), @@ -452,7 +463,6 @@ LLFloaterPathfindingConsole::LLFloaterPathfindingConsole(const LLSD& pSeed) mShowXRayCheckBox(NULL), mPathfindingViewerStatus(NULL), mPathfindingSimulatorStatus(NULL), - mViewCharactersButton(NULL), mTestTab(NULL), mCtrlClickLabel(), mShiftClickLabel(), @@ -494,6 +504,18 @@ LLFloaterPathfindingConsole::~LLFloaterPathfindingConsole() { } +void LLFloaterPathfindingConsole::onTabSwitch() +{ + if (mViewTestTabContainer->getCurrentPanelIndex() == XUI_TEST_TAB_INDEX) + { + switchIntoTestPathMode(); + } + else + { + switchOutOfTestPathMode(); + } +} + void LLFloaterPathfindingConsole::onShowWorldSet() { setWorldRenderState(); @@ -515,11 +537,6 @@ void LLFloaterPathfindingConsole::onShowWalkabilitySet() LLPathingLib::getInstance()->setNavMeshMaterialType(getRenderHeatmapType()); } -void LLFloaterPathfindingConsole::onViewCharactersClicked() -{ - LLFloaterPathfindingCharacters::openCharactersViewer(); -} - void LLFloaterPathfindingConsole::onCharacterWidthSet() { updateCharacterWidth(); @@ -615,6 +632,7 @@ void LLFloaterPathfindingConsole::onPathEvent() void LLFloaterPathfindingConsole::setDefaultInputs() { + mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); setRenderWorld(TRUE); setRenderNavMesh(FALSE); setRenderWalkables(FALSE); @@ -637,7 +655,7 @@ void LLFloaterPathfindingConsole::setWorldRenderState() { BOOL renderWorld = isRenderWorld(); - mShowWorldMovablesOnlyCheckBox->setEnabled(renderWorld); + mShowWorldMovablesOnlyCheckBox->setEnabled(renderWorld && mShowWorldCheckBox->getEnabled()); if (!renderWorld) { mShowWorldMovablesOnlyCheckBox->set(FALSE); @@ -671,6 +689,8 @@ void LLFloaterPathfindingConsole::updateControlsOnConsoleState() case kConsoleStateUnknown : case kConsoleStateRegionNotEnabled : case kConsoleStateRegionLoading : + mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); + mViewTab->setEnabled(FALSE); mShowLabel->setEnabled(FALSE); mShowWorldCheckBox->setEnabled(FALSE); mShowWorldMovablesOnlyCheckBox->setEnabled(FALSE); @@ -683,7 +703,6 @@ void LLFloaterPathfindingConsole::updateControlsOnConsoleState() mShowExclusionVolumesCheckBox->setEnabled(FALSE); mShowRenderWaterPlaneCheckBox->setEnabled(FALSE); mShowXRayCheckBox->setEnabled(FALSE); - mViewCharactersButton->setEnabled(FALSE); mTestTab->setEnabled(FALSE); mCtrlClickLabel->setEnabled(FALSE); mShiftClickLabel->setEnabled(FALSE); @@ -696,6 +715,8 @@ void LLFloaterPathfindingConsole::updateControlsOnConsoleState() clearPath(); break; case kConsoleStateLibraryNotImplemented : + mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); + mViewTab->setEnabled(FALSE); mShowLabel->setEnabled(FALSE); mShowWorldCheckBox->setEnabled(FALSE); mShowWorldMovablesOnlyCheckBox->setEnabled(FALSE); @@ -708,7 +729,6 @@ void LLFloaterPathfindingConsole::updateControlsOnConsoleState() mShowExclusionVolumesCheckBox->setEnabled(FALSE); mShowRenderWaterPlaneCheckBox->setEnabled(FALSE); mShowXRayCheckBox->setEnabled(FALSE); - mViewCharactersButton->setEnabled(TRUE); mTestTab->setEnabled(FALSE); mCtrlClickLabel->setEnabled(FALSE); mShiftClickLabel->setEnabled(FALSE); @@ -723,6 +743,8 @@ void LLFloaterPathfindingConsole::updateControlsOnConsoleState() case kConsoleStateCheckingVersion : case kConsoleStateDownloading : case kConsoleStateError : + mViewTestTabContainer->selectTab(XUI_VIEW_TAB_INDEX); + mViewTab->setEnabled(FALSE); mShowLabel->setEnabled(FALSE); mShowWorldCheckBox->setEnabled(FALSE); mShowWorldMovablesOnlyCheckBox->setEnabled(FALSE); @@ -735,7 +757,6 @@ void LLFloaterPathfindingConsole::updateControlsOnConsoleState() mShowExclusionVolumesCheckBox->setEnabled(FALSE); mShowRenderWaterPlaneCheckBox->setEnabled(FALSE); mShowXRayCheckBox->setEnabled(FALSE); - mViewCharactersButton->setEnabled(TRUE); mTestTab->setEnabled(FALSE); mCtrlClickLabel->setEnabled(FALSE); mShiftClickLabel->setEnabled(FALSE); @@ -748,6 +769,7 @@ void LLFloaterPathfindingConsole::updateControlsOnConsoleState() clearPath(); break; case kConsoleStateHasNavMesh : + mViewTab->setEnabled(TRUE); mShowLabel->setEnabled(TRUE); mShowWorldCheckBox->setEnabled(TRUE); setWorldRenderState(); @@ -759,7 +781,6 @@ void LLFloaterPathfindingConsole::updateControlsOnConsoleState() mShowExclusionVolumesCheckBox->setEnabled(TRUE); mShowRenderWaterPlaneCheckBox->setEnabled(TRUE); mShowXRayCheckBox->setEnabled(TRUE); - mViewCharactersButton->setEnabled(TRUE); mTestTab->setEnabled(TRUE); mCtrlClickLabel->setEnabled(TRUE); mShiftClickLabel->setEnabled(TRUE); diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h index 2529b241bf..238dfeb2a0 100644 --- a/indra/newview/llfloaterpathfindingconsole.h +++ b/indra/newview/llfloaterpathfindingconsole.h @@ -42,6 +42,7 @@ class LLSliderCtrl; class LLLineEditor; class LLTextBase; class LLCheckBoxCtrl; +class LLTabContainer; class LLComboBox; class LLButton; class LLToolset; @@ -113,11 +114,11 @@ private: LLFloaterPathfindingConsole(const LLSD& pSeed); virtual ~LLFloaterPathfindingConsole(); + void onTabSwitch(); void onShowWorldSet(); void onShowWorldMovablesOnlySet(); void onShowNavMeshSet(); void onShowWalkabilitySet(); - void onViewCharactersClicked(); void onCharacterWidthSet(); void onCharacterTypeSwitch(); void onClearPathClicked(); @@ -153,6 +154,8 @@ private: void cleanupRenderableRestoreItems(); LLRootHandle<LLFloaterPathfindingConsole> mSelfHandle; + LLTabContainer *mViewTestTabContainer; + LLPanel *mViewTab; LLTextBase *mShowLabel; LLCheckBoxCtrl *mShowWorldCheckBox; LLCheckBoxCtrl *mShowWorldMovablesOnlyCheckBox; @@ -167,7 +170,6 @@ private: LLCheckBoxCtrl *mShowXRayCheckBox; LLTextBase *mPathfindingViewerStatus; LLTextBase *mPathfindingSimulatorStatus; - LLButton *mViewCharactersButton; LLPanel *mTestTab; LLTextBase *mCtrlClickLabel; LLTextBase *mShiftClickLabel; diff --git a/indra/newview/llpathfindingmanager.cpp b/indra/newview/llpathfindingmanager.cpp index 44a491b0b5..44dab04583 100644 --- a/indra/newview/llpathfindingmanager.cpp +++ b/indra/newview/llpathfindingmanager.cpp @@ -322,11 +322,6 @@ bool LLPathfindingManager::isPathfindingEnabledForRegion(LLViewerRegion *pRegion return !retrieveNavMeshURL.empty(); } -bool LLPathfindingManager::isPathfindingDebugEnabled() const -{ - return (LLPathingLib::getInstance() != NULL); -} - bool LLPathfindingManager::isAllowViewTerrainProperties() const { LLViewerRegion* region = getCurrentRegion(); diff --git a/indra/newview/llpathfindingmanager.h b/indra/newview/llpathfindingmanager.h index 38e100f74b..5fa2b94def 100644 --- a/indra/newview/llpathfindingmanager.h +++ b/indra/newview/llpathfindingmanager.h @@ -70,8 +70,6 @@ public: bool isPathfindingEnabledForCurrentRegion() const; bool isPathfindingEnabledForRegion(LLViewerRegion *pRegion) const; - bool isPathfindingDebugEnabled() const; - bool isAllowViewTerrainProperties() const; LLPathfindingNavMesh::navmesh_slot_t registerNavMeshListenerForRegion(LLViewerRegion *pRegion, LLPathfindingNavMesh::navmesh_callback_t pNavMeshCallback); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 69421d240b..d244b19b4f 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -4806,14 +4806,6 @@ class LLToolsEnablePathfinding : public view_listener_t } }; -class LLToolsEnablePathfindingDebug : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - return (LLPathfindingManager::getInstance() != NULL) && LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion() && LLPathfindingManager::getInstance()->isPathfindingDebugEnabled(); - } -}; - // Round the position of all root objects to the grid class LLToolsSnapObjectXY : public view_listener_t { @@ -8209,7 +8201,6 @@ void initialize_menus() view_listener_t::addMenu(new LLToolsEnableSaveToObjectInventory(), "Tools.EnableSaveToObjectInventory"); view_listener_t::addMenu(new LLToolsEnablePathfinding(), "Tools.EnablePathfinding"); - view_listener_t::addMenu(new LLToolsEnablePathfindingDebug(), "Tools.EnablePathfindingDebug"); // Help menu // most items use the ShowFloater method diff --git a/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml b/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml index 59b816b0e1..3bcbbf342c 100644 --- a/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml +++ b/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml @@ -2,15 +2,15 @@ <floater open_positioning="cascading" can_tear_off="false" - height="446" + height="498" layout="topleft" name="floater_pathfinding_console" help_topic="floater_pathfinding_console" reuse_instance="true" save_rect="true" single_instance="true" - title="Pathfinding debug" - width="456"> + title="Pathfinding view" + width="240"> <floater.string name="navmesh_viewer_status_unknown"></floater.string> <floater.string name="navmesh_viewer_status_library_not_implemented">Cannot find pathing library implementation.</floater.string> <floater.string name="navmesh_viewer_status_region_not_enabled">This region is not enabled for pathfinding.</floater.string> @@ -41,10 +41,10 @@ bevel_style="none" follows="left|top" layout="topleft" - left="14" - top_pad="15" - height="68" - width="200"> + left="12" + top_pad="10" + height="61" + width="214"> <text height="13" word_wrap="true" @@ -55,7 +55,7 @@ layout="topleft" left="0" top_pad="0" - width="200"> + width="214"> Viewer status </text> <text @@ -70,174 +70,201 @@ left="0" name="pathfinding_viewer_status" top_pad="8" - width="200"> + width="214"> </text> </panel> - <view_border - bevel_style="none" - follows="top|left" - layout="topleft" - left="14" - height="0" - width="200" - top_pad="0" - visible="true" /> <panel border="false" bevel_style="none" follows="left|top" layout="topleft" - height="297" - width="200"> + left="12" + height="66" + width="214"> <text height="13" word_wrap="true" use_ellipses="false" type="string" text_color="LabelTextColor" - text_readonly_color="LabelDisabledColor" - name="show_label" length="1" - follows="left|top" - layout="topleft" - top_pad="9" - width="200"> - Show: - </text> - <check_box - height="19" - label="World" - layout="topleft" - name="show_world" - top_pad="4" - width="90" /> - <check_box - height="19" - label="Movables only" layout="topleft" - left="20" - name="show_world_movables_only" - top_pad="4" - width="90" /> - <check_box - height="19" - label="Navmesh" left="0" - layout="topleft" - name="show_navmesh" - top_pad="7" - width="90" /> + top_pad="5" + width="214"> + Simulator status + </text> <text - height="13" + height="40" word_wrap="true" use_ellipses="false" type="string" - text_color="LabelTextColor" - text_readonly_color="LabelDisabledColor" - name="show_walkability_label" + text_color="PathfindingGoodColor" length="1" follows="left|top" layout="topleft" - left="20" - width="180"> - Show walkability map: - </text> - <combo_box - height="19" - layout="topleft" - left="20" - name="show_heatmap_mode" - top_pad="8" - width="156"> - <combo_box.item - label="Do not show" - name="show_heatmap_mode_none" - value="0" /> - <combo_box.item - label="Character type A" - name="show_heatmap_mode_a" - value="1" /> - <combo_box.item - label="Character type B" - name="show_heatmap_mode_b" - value="2" /> - <combo_box.item - label="Character type C" - name="show_heatmap_mode_c" - value="3" /> - <combo_box.item - label="Character type D" - name="show_heatmap_mode_d" - value="4" /> - </combo_box> - <check_box - height="19" - label="Walkables" - layout="topleft" left="0" - name="show_walkables" - top_pad="10" - width="90" /> - <check_box - height="19" - label="Material volumes" - layout="topleft" - name="show_material_volumes" - top_pad="4" - width="90" /> - <check_box - height="19" - label="Static obstacles" - layout="topleft" - name="show_static_obstacles" - top_pad="4" - width="90" /> - <check_box - height="19" - label="Exclusion volumes" - layout="topleft" - name="show_exclusion_volumes" - top_pad="4" - width="90" /> - <check_box - height="19" - label="Water plane" - layout="topleft" - name="show_water_plane" - top_pad="4" - width="90" /> - <check_box - height="19" - label="With X-ray vision" - layout="topleft" - name="show_xray" - top_pad="4" - width="90" /> + name="pathfinding_simulator_status" + top_pad="8" + width="214"> + </text> </panel> <view_border bevel_style="none" follows="top|left" layout="topleft" - left="230" - top="35" - height="247" - width="214" + left="12" + top="179" + height="305" + width="213" visible="true" /> <tab_container follows="left|top" layout="topleft" tab_position="top" - name="edit_test_tab_container" - left="227" - top="14" - height="268" - width="218"> + name="view_test_tab_container" + left="12" + top="157" + height="328" + width="214"> + <panel + border="false" + bevel_style="none" + follows="left|top" + layout="topleft" + name="view_panel" + label="View"> + <text + height="13" + word_wrap="true" + use_ellipses="false" + type="string" + text_color="LabelTextColor" + text_readonly_color="LabelDisabledColor" + name="show_label" + length="1" + follows="left|top" + layout="topleft" + top_pad="20" + left="12" + width="200"> + Show: + </text> + <check_box + height="19" + label="World" + layout="topleft" + name="show_world" + top_pad="4" + width="90" /> + <check_box + height="19" + label="Movables only" + layout="topleft" + left="32" + name="show_world_movables_only" + top_pad="4" + width="90" /> + <check_box + height="19" + label="Navmesh" + left="12" + layout="topleft" + name="show_navmesh" + top_pad="7" + width="90" /> + <text + height="13" + word_wrap="true" + use_ellipses="false" + type="string" + text_color="LabelTextColor" + text_readonly_color="LabelDisabledColor" + name="show_walkability_label" + length="1" + follows="left|top" + layout="topleft" + left="32" + width="180"> + Show walkability map: + </text> + <combo_box + height="19" + layout="topleft" + left="32" + name="show_heatmap_mode" + top_pad="8" + width="156"> + <combo_box.item + label="Do not show" + name="show_heatmap_mode_none" + value="0" /> + <combo_box.item + label="Character type A" + name="show_heatmap_mode_a" + value="1" /> + <combo_box.item + label="Character type B" + name="show_heatmap_mode_b" + value="2" /> + <combo_box.item + label="Character type C" + name="show_heatmap_mode_c" + value="3" /> + <combo_box.item + label="Character type D" + name="show_heatmap_mode_d" + value="4" /> + </combo_box> + <check_box + height="19" + label="Walkables" + layout="topleft" + left="12" + name="show_walkables" + top_pad="10" + width="90" /> + <check_box + height="19" + label="Material volumes" + layout="topleft" + name="show_material_volumes" + top_pad="4" + width="90" /> + <check_box + height="19" + label="Static obstacles" + layout="topleft" + name="show_static_obstacles" + top_pad="4" + width="90" /> + <check_box + height="19" + label="Exclusion volumes" + layout="topleft" + name="show_exclusion_volumes" + top_pad="4" + width="90" /> + <check_box + height="19" + label="Water plane" + layout="topleft" + name="show_water_plane" + top_pad="4" + width="90" /> + <check_box + height="19" + label="With X-ray vision" + layout="topleft" + name="show_xray" + top_pad="4" + width="90" /> + </panel> <panel border="false" bevel_style="none" follows="left|top" layout="topleft" - left="1" name="test_panel" label="Test path"> <text @@ -249,11 +276,11 @@ text_readonly_color="LabelDisabledColor" name="ctrl_click_label" length="1" - left="16" + left="12" follows="left|top" layout="topleft" - top_pad="12" - width="190"> + top_pad="20" + width="202"> Ctrl-click to select start point. </text> <text @@ -268,7 +295,7 @@ follows="left|top" layout="topleft" top_pad="5" - width="190"> + width="202"> Shift-click to select end point. </text> <view_border @@ -291,7 +318,7 @@ follows="left|top" layout="topleft" top_pad="14" - width="190"> + width="202"> Character width </text> <slider @@ -335,7 +362,7 @@ layout="topleft" left_pad="-165" top_pad="13" - width="190"> + width="202"> Character type </text> <combo_box @@ -377,7 +404,7 @@ layout="topleft" name="path_test_status" top_pad="11" - width="190"> + width="202"> </text> <button follows="left|top" @@ -389,79 +416,4 @@ width="96"/> </panel> </tab_container> - <panel - border="false" - bevel_style="none" - follows="left|top" - layout="topleft" - left="246" - height="73" - width="200"> - <text - height="13" - word_wrap="true" - use_ellipses="false" - type="string" - text_color="LabelTextColor" - length="1" - layout="topleft" - left="0" - top_pad="5" - width="200"> - Simulator status - </text> - <text - height="40" - word_wrap="true" - use_ellipses="false" - type="string" - text_color="LabelTextColor" - length="1" - follows="left|top" - layout="topleft" - left="0" - name="pathfinding_simulator_status" - top_pad="8" - width="200"> - </text> - </panel> - <view_border - bevel_style="none" - follows="top|left" - layout="topleft" - height="0" - left="14" - width="430" - top_pad="25" - visible="true" /> - <panel - border="false" - bevel_style="none" - follows="left|top" - layout="topleft" - height="40" - top_pad="0" - width="400"> - <text - height="13" - word_wrap="true" - use_ellipses="false" - type="string" - text_color="LabelTextColor" - length="1" - layout="topleft" - top_pad="18" - width="250"> - Lost characters? Bad performance? - </text> - <button - follows="left|top" - height="21" - label="Characters..." - layout="topleft" - name="view_characters_floater" - left_pad="0" - top_pad="-17" - width="96"/> - </panel> </floater> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index ecc96ab402..32ba7a5342 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -961,13 +961,13 @@ function="Tools.EnablePathfinding" /> </menu_item_call> <menu_item_call - label="Pathfinding debug..." + label="View..." name="pathfinding_console_menu_item"> <menu_item_call.on_click function="Floater.ToggleOrBringToFront" parameter="pathfinding_console" /> <menu_item_call.on_enable - function="Tools.EnablePathfindingDebug" /> + function="Tools.EnablePathfinding" /> </menu_item_call> </menu> |