PATH-297: Initial layout and basic implementation for the pathfinding basic floater.

master
Todd Stinson 2012-02-14 19:33:33 -08:00
parent d4f02b1cad
commit 8cd7bb47c2
10 changed files with 206 additions and 10 deletions

View File

@ -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

View File

@ -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"

View File

@ -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;
}

View File

@ -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

View File

@ -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>);

View File

@ -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" />

View File

@ -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>

View File

@ -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>

View File

@ -934,22 +934,22 @@
<menu
create_jump_keys="true"
label="Pathfinding"
name="Pathfindubg"
name="Pathfinding"
tear_off="false">
<menu_item_call
label="Edit/Test..."
label="Basic setup..."
name="pathfinding_basic_menu_item">
<menu_item_call.on_click
function="Floater.ToggleOrBringToFront"
parameter="pathfinding_basic" />
</menu_item_call>
<menu_item_call
label="Edit / test..."
name="pathfinding_console_menu_item">
<menu_item_call.on_click
function="Floater.ToggleOrBringToFront"
parameter="pathfinding_console" />
</menu_item_call>
<menu_item_call
label="Characters..."
name="pathfinding_characters_menu_item">
<menu_item_call.on_click
function="Floater.ToggleOrBringToFront"
parameter="pathfinding_characters" />
</menu_item_call>
</menu>

View File

@ -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>