diff options
author | Todd Stinson <stinson@lindenlab.com> | 2012-02-14 19:33:33 -0800 |
---|---|---|
committer | Todd Stinson <stinson@lindenlab.com> | 2012-02-14 19:33:33 -0800 |
commit | 8cd7bb47c2d9c833129b76cdc09d69aa35654fa5 (patch) | |
tree | fa53068d025be7b8a9bb796f8478d4268eda91f1 /indra | |
parent | d4f02b1cadd9ae825c281b4f0da3c90807b90dd3 (diff) |
PATH-297: Initial layout and basic implementation for the pathfinding basic floater.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/newview/app_settings/commands.xml | 10 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingbasic.cpp | 64 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingbasic.h | 57 | ||||
-rw-r--r-- | indra/newview/llviewerfloaterreg.cpp | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/textures/textures.xml | 1 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_pathfinding_basic.xml | 58 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_pathfinding_console.xml | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/menu_viewer.xml | 14 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/strings.xml | 2 |
10 files changed, 204 insertions, 8 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 45688a1724..9772832474 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -218,6 +218,7 @@ set(viewer_SOURCE_FILES llfloaterobjectweights.cpp llfloateropenobject.cpp llfloateroutbox.cpp + llfloaterpathfindingbasic.cpp llfloaterpathfindingcharacters.cpp llfloaterpathfindingconsole.cpp llfloaterpathfindinglinksets.cpp @@ -781,6 +782,7 @@ set(viewer_HEADER_FILES llfloaterobjectweights.h llfloateropenobject.h llfloateroutbox.h + llfloaterpathfindingbasic.h llfloaterpathfindingcharacters.h llfloaterpathfindingconsole.h llfloaterpathfindinglinksets.h diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index e8454f6dad..d3253bc381 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -155,6 +155,16 @@ is_running_function="Floater.IsOpen" is_running_parameters="people" /> + <command name="pathfinding_basic" + available_in_toybox="false" + icon="Command_PF_Basic_Icon" + label_ref="Command_PF_Basic_Label" + tooltip_ref="Command_PF_Basic_Tooltip" + execute_function="Floater.ToggleOrBringToFront" + execute_parameters="pathfinding_basic" + is_running_function="Floater.IsOpen" + is_running_parameters="pathfinding_basic" + /> <command name="pathfinding_console" available_in_toybox="false" icon="Command_Pathfinding_Icon" diff --git a/indra/newview/llfloaterpathfindingbasic.cpp b/indra/newview/llfloaterpathfindingbasic.cpp new file mode 100644 index 0000000000..a875cae883 --- /dev/null +++ b/indra/newview/llfloaterpathfindingbasic.cpp @@ -0,0 +1,64 @@ +/**
+* @file llfloaterpathfindingbasic.cpp
+* @author William Todd Stinson
+* @brief "Pathfinding basic" floater, allowing for basic freezing and unfreezing of the pathfinding avator mode.
+*
+* $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$
+*/
+
+#include "llviewerprecompiledheaders.h"
+#include "llfloaterpathfindingbasic.h"
+
+#include "llsd.h"
+#include "llagent.h"
+
+//---------------------------------------------------------------------------
+// LLFloaterPathfindingBasic
+//---------------------------------------------------------------------------
+
+BOOL LLFloaterPathfindingBasic::postBuild()
+{
+ childSetAction("enter_unfrozen_mode", boost::bind(&LLFloaterPathfindingBasic::onUnfreezeClicked, this));
+ childSetAction("enter_frozen_mode", boost::bind(&LLFloaterPathfindingBasic::onFreezeClicked, this));
+
+ return LLFloater::postBuild();
+}
+
+
+LLFloaterPathfindingBasic::LLFloaterPathfindingBasic(const LLSD& pSeed)
+ : LLFloater(pSeed)
+{
+}
+
+LLFloaterPathfindingBasic::~LLFloaterPathfindingBasic()
+{
+}
+
+void LLFloaterPathfindingBasic::onUnfreezeClicked()
+{
+ llwarns << "functionality has not yet been implemented to set unfrozen state" << llendl;
+}
+
+void LLFloaterPathfindingBasic::onFreezeClicked()
+{
+ llwarns << "functionality has not yet been implemented to set frozen state" << llendl;
+}
diff --git a/indra/newview/llfloaterpathfindingbasic.h b/indra/newview/llfloaterpathfindingbasic.h new file mode 100644 index 0000000000..888d06c521 --- /dev/null +++ b/indra/newview/llfloaterpathfindingbasic.h @@ -0,0 +1,57 @@ +/** + * @file llfloaterpathfindingbasic.h + * @author William Todd Stinson + * @brief "Pathfinding basic" floater, allowing for basic freezing and unfreezing of the pathfinding avator mode. + * + * $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_LLFLOATERPATHFINDINGBASIC_H +#define LL_LLFLOATERPATHFINDINGBASIC_H + +#include "llfloater.h" +#include "llhandle.h" + +class LLSD; + +class LLFloaterPathfindingBasic +: public LLFloater +{ + friend class LLFloaterReg; + +public: + + virtual BOOL postBuild(); + +protected: + +private: + // Does its own instance management, so clients not allowed + // to allocate or destroy. + LLFloaterPathfindingBasic(const LLSD& pSeed); + virtual ~LLFloaterPathfindingBasic(); + + void onUnfreezeClicked(); + void onFreezeClicked(); +}; + +#endif // LL_LLFLOATERPATHFINDINGBASIC_H diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 5b6b07a49a..d396219bf8 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -84,6 +84,7 @@ #include "llfloaterobjectweights.h" #include "llfloateropenobject.h" #include "llfloateroutbox.h" +#include "llfloaterpathfindingbasic.h" #include "llfloaterpathfindingcharacters.h" #include "llfloaterpathfindinglinksets.h" #include "llfloaterpathfindingconsole.h" @@ -246,6 +247,7 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("outgoing_call", "floater_outgoing_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLOutgoingCallDialog>); LLFloaterPayUtil::registerFloater(); + LLFloaterReg::add("pathfinding_basic", "floater_pathfinding_basic.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPathfindingBasic>); LLFloaterReg::add("pathfinding_characters", "floater_pathfinding_characters.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPathfindingCharacters>); LLFloaterReg::add("pathfinding_linksets", "floater_pathfinding_linksets.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPathfindingLinksets>); LLFloaterReg::add("pathfinding_console", "floater_pathfinding_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterPathfindingConsole>); diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 5eea581987..ee8b7ba082 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -140,6 +140,7 @@ with the same filename but different name <texture name="Command_Outbox_Icon" file_name="toolbar_icons/outbox.png" preload="true" /> <texture name="Command_Pathfinding_Icon" file_name="toolbar_icons/land.png" preload="true" /> <texture name="Command_People_Icon" file_name="toolbar_icons/people.png" preload="true" /> + <texture name="Command_PF_Basic_Icon" file_name="toolbar_icons/land.png" preload="true" /> <texture name="Command_PF_Characters_Icon" file_name="toolbar_icons/land.png" preload="true" /> <texture name="Command_PF_Linksets_Icon" file_name="toolbar_icons/land.png" preload="true" /> <texture name="Command_Picks_Icon" file_name="toolbar_icons/picks.png" preload="true" /> diff --git a/indra/newview/skins/default/xui/en/floater_pathfinding_basic.xml b/indra/newview/skins/default/xui/en/floater_pathfinding_basic.xml new file mode 100644 index 0000000000..e21b6c842f --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_pathfinding_basic.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + open_positioning="cascading" + can_tear_off="false" + height="204" + layout="topleft" + name="floater_pathfinding_basic" + help_topic="floater_pathfinding_basic" + reuse_instance="false" + save_rect="false" + single_instance="true" + title="Basic pathfinding setup" + width="312"> + <text + height="13" + word_wrap="true" + use_ellipses="false" + type="string" + text_color="LabelTextColor" + length="1" + follows="left|top" + layout="topleft" + left="15" + top="15" + width="289"> + Permit object / terrain changes: + </text> + <button + follows="left|top" + height="22" + label="Unfreeze" + layout="topleft" + name="enter_unfrozen_mode" + width="116"/> + <text + height="82" + word_wrap="true" + use_ellipses="false" + type="string" + text_color="LabelTextColor" + length="1" + follows="left|top" + layout="topleft" + line_spacing.multiple="1.5" + left="15" + top_pad="23" + width="289"> + In unfrozen mode, you can move and make changes to objects and terrain. When you are finished, click the Freeze button. It may require a few minutes to process your changes. + </text> + <button + follows="left|top" + height="22" + label="Freeze" + layout="topleft" + name="enter_frozen_mode" + top_pad="0" + width="116"/> +</floater> 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 5aa53d0f93..3fe3dfe963 100644 --- a/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml +++ b/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml @@ -9,7 +9,7 @@ reuse_instance="true" save_rect="true" single_instance="true" - title="Pathfinding" + title="Pathfinding edit / test" width="455"> <floater.string name="navmesh_fetch_initial"></floater.string> <floater.string name="navmesh_fetch_inprogress">Downloading the navmesh ...</floater.string> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 47d6f36e1b..c4a95ce25e 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -934,21 +934,21 @@ <menu create_jump_keys="true" label="Pathfinding" - name="Pathfindubg" + name="Pathfinding" tear_off="false"> <menu_item_call - label="Edit/Test..." - name="pathfinding_console_menu_item"> + label="Basic setup..." + name="pathfinding_basic_menu_item"> <menu_item_call.on_click function="Floater.ToggleOrBringToFront" - parameter="pathfinding_console" /> + parameter="pathfinding_basic" /> </menu_item_call> <menu_item_call - label="Characters..." - name="pathfinding_characters_menu_item"> + label="Edit / test..." + name="pathfinding_console_menu_item"> <menu_item_call.on_click function="Floater.ToggleOrBringToFront" - parameter="pathfinding_characters" /> + parameter="pathfinding_console" /> </menu_item_call> </menu> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 793893f540..02a07c9f02 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3696,6 +3696,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_Outbox_Label">Merchant outbox</string> <string name="Command_Pathfinding_Label">Pathfinding</string> <string name="Command_People_Label">People</string> + <string name="Command_PF_Basic_Label">Pathfinding Basic</string> <string name="Command_PF_Characters_Label">Pathfinding Characters</string> <string name="Command_PF_Linksets_Label">Pathfinding Linksets</string> <string name="Command_Picks_Label">Picks</string> @@ -3725,6 +3726,7 @@ Try enclosing path to the editor with double quotes. <string name="Command_Outbox_Tooltip">Transfer items to your marketplace for sale</string> <string name="Command_Pathfinding_Tooltip">Information about pathfinding</string> <string name="Command_People_Tooltip">Friends, groups, and nearby people</string> + <string name="Command_PF_Basic_Tooltip">Manipulation of pathfinding frozen/unfrozen state</string> <string name="Command_PF_Characters_Tooltip">Manipulation of pathfinding characters</string> <string name="Command_PF_Linksets_Tooltip">Manipulation of pathfinding linksets</string> <string name="Command_Picks_Tooltip">Places to show as favorites in your profile</string> |