summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorTodd Stinson <stinson@lindenlab.com>2012-02-14 19:33:33 -0800
committerTodd Stinson <stinson@lindenlab.com>2012-02-14 19:33:33 -0800
commit8cd7bb47c2d9c833129b76cdc09d69aa35654fa5 (patch)
treefa53068d025be7b8a9bb796f8478d4268eda91f1 /indra/newview
parentd4f02b1cadd9ae825c281b4f0da3c90807b90dd3 (diff)
PATH-297: Initial layout and basic implementation for the pathfinding basic floater.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/CMakeLists.txt2
-rw-r--r--indra/newview/app_settings/commands.xml10
-rw-r--r--indra/newview/llfloaterpathfindingbasic.cpp64
-rw-r--r--indra/newview/llfloaterpathfindingbasic.h57
-rw-r--r--indra/newview/llviewerfloaterreg.cpp2
-rw-r--r--indra/newview/skins/default/textures/textures.xml1
-rw-r--r--indra/newview/skins/default/xui/en/floater_pathfinding_basic.xml58
-rw-r--r--indra/newview/skins/default/xui/en/floater_pathfinding_console.xml2
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml14
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml2
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>