Display pathfinding attributes in build floater.

This commit is contained in:
Shyotl
2012-08-06 12:26:28 -05:00
parent 58033d3cbc
commit 1a6c00ca8b
6 changed files with 149 additions and 17 deletions

View File

@@ -66,6 +66,7 @@
#include "llviewercontrol.h" #include "llviewercontrol.h"
#include "lluictrlfactory.h" #include "lluictrlfactory.h"
#include "roles_constants.h" #include "roles_constants.h"
#include "lltrans.h"
#include "hippogridmanager.h" #include "hippogridmanager.h"
@@ -291,12 +292,18 @@ void LLPanelPermissions::refresh()
getString("text modify info 1"), getString("text modify info 1"),
getString("text modify info 2"), getString("text modify info 2"),
getString("text modify info 3"), getString("text modify info 3"),
getString("text modify info 4") getString("text modify info 4"),
getString("text modify info 5"),
getString("text modify info 6")
}; };
if(!is_perm_modify) if(!is_perm_modify)
{ {
string_index += 2; string_index += 2;
} }
else if (!is_nonpermanent_enforced)
{
string_index += 4;
}
if(!is_one_object) if(!is_one_object)
{ {
++string_index; ++string_index;
@@ -304,6 +311,34 @@ void LLPanelPermissions::refresh()
childSetEnabled("perm_modify",true); childSetEnabled("perm_modify",true);
childSetText("perm_modify",MODIFY_INFO_STRINGS[string_index]); childSetText("perm_modify",MODIFY_INFO_STRINGS[string_index]);
std::string pfAttrName;
if ((LLSelectMgr::getInstance()->getSelection()->getFirstRootNode()
&& LLSelectMgr::getInstance()->selectGetRootsNonPathfinding())
|| LLSelectMgr::getInstance()->selectGetNonPathfinding())
{
pfAttrName = "Pathfinding_Object_Attr_None";
}
else if ((LLSelectMgr::getInstance()->getSelection()->getFirstRootNode()
&& LLSelectMgr::getInstance()->selectGetRootsPermanent())
|| LLSelectMgr::getInstance()->selectGetPermanent())
{
pfAttrName = "Pathfinding_Object_Attr_Permanent";
}
else if ((LLSelectMgr::getInstance()->getSelection()->getFirstRootNode()
&& LLSelectMgr::getInstance()->selectGetRootsCharacter())
|| LLSelectMgr::getInstance()->selectGetCharacter())
{
pfAttrName = "Pathfinding_Object_Attr_Character";
}
else
{
pfAttrName = "Pathfinding_Object_Attr_MultiSelect";
}
getChildView("pathfinding_attributes_value")->setEnabled(TRUE);
getChild<LLUICtrl>("pathfinding_attributes_value")->setValue(LLTrans::getString(pfAttrName));
childSetEnabled("Permissions:",true); childSetEnabled("Permissions:",true);
// Update creator text field // Update creator text field

View File

@@ -83,13 +83,17 @@
#include "llviewercontrol.h" #include "llviewercontrol.h"
#include "llmeshrepository.h" #include "llmeshrepository.h"
#include "llnotificationsutil.h"
#include <boost/bind.hpp>
// "Features" Tab // "Features" Tab
BOOL LLPanelVolume::postBuild() BOOL LLPanelVolume::postBuild()
{ {
// Flexible Objects Parameters // Flexible Objects Parameters
{ {
childSetCommitCallback("Flexible1D Checkbox Ctrl",onCommitIsFlexible,this); getChild<LLCheckboxCtrl>("Flexible1D Checkbox Ctrl")->setCommitCallback(boost::bind(&LLPanelVolume::onCommitIsFlexible, this, _1, _2), NULL);
childSetCommitCallback("FlexNumSections",onCommitFlexible,this); childSetCommitCallback("FlexNumSections",onCommitFlexible,this);
getChild<LLUICtrl>("FlexNumSections")->setValidateBeforeCommit(precommitValidate); getChild<LLUICtrl>("FlexNumSections")->setValidateBeforeCommit(precommitValidate);
childSetCommitCallback("FlexGravity",onCommitFlexible,this); childSetCommitCallback("FlexGravity",onCommitFlexible,this);
@@ -810,10 +814,26 @@ void LLPanelVolume::onCommitFlexible( LLUICtrl* ctrl, void* userdata )
self->refresh(); self->refresh();
} }
// static void LLPanelVolume::onCommitIsFlexible(LLUICtrl *, void*)
void LLPanelVolume::onCommitIsFlexible( LLUICtrl* ctrl, void* userdata )
{ {
LLPanelVolume* self = (LLPanelVolume*) userdata; if (mObject->flagObjectPermanent())
self->sendIsFlexible(); {
LLNotificationsUtil::add("PathfindingLinksets_ChangeToFlexiblePath", LLSD(), LLSD(), boost::bind(&LLPanelVolume::handleResponseChangeToFlexible, this, _1, _2));
}
else
{
sendIsFlexible();
}
} }
void LLPanelVolume::handleResponseChangeToFlexible(const LLSD &pNotification, const LLSD &pResponse)
{
if (LLNotificationsUtil::getSelectedOption(pNotification, pResponse) == 0)
{
sendIsFlexible();
}
else
{
getChild<LLUICtrl>("Flexible1D Checkbox Ctrl")->setValue(FALSE);
}
}

View File

@@ -68,7 +68,7 @@ public:
static void onCommitIsLight( LLUICtrl* ctrl, void* userdata); static void onCommitIsLight( LLUICtrl* ctrl, void* userdata);
static void onCommitLight( LLUICtrl* ctrl, void* userdata); static void onCommitLight( LLUICtrl* ctrl, void* userdata);
static void onCommitIsFlexible( LLUICtrl* ctrl, void* userdata); void onCommitIsFlexible( LLUICtrl* ctrl, void* userdata);
static void onCommitFlexible( LLUICtrl* ctrl, void* userdata); static void onCommitFlexible( LLUICtrl* ctrl, void* userdata);
static void onCommitPhysicsParam( LLUICtrl* ctrl, void* userdata); static void onCommitPhysicsParam( LLUICtrl* ctrl, void* userdata);
@@ -89,6 +89,8 @@ protected:
void sendPhysicsFriction(LLUICtrl* ctrl, void* userdata); void sendPhysicsFriction(LLUICtrl* ctrl, void* userdata);
void sendPhysicsRestitution(LLUICtrl* ctrl, void* userdata); void sendPhysicsRestitution(LLUICtrl* ctrl, void* userdata);
void sendPhysicsDensity(LLUICtrl* ctrl, void* userdata); void sendPhysicsDensity(LLUICtrl* ctrl, void* userdata);
void handleResponseChangeToFlexible(const LLSD &pNotification, const LLSD &pResponse);
/* /*
LLTextBox* mLabelSelectSingleMessage; LLTextBox* mLabelSelectSingleMessage;
// Light // Light

View File

@@ -409,7 +409,7 @@
mouse_opaque="true" name="perm_modify" v_pad="0" width="250"> mouse_opaque="true" name="perm_modify" v_pad="0" width="250">
You can modify this object. You can modify this object.
</text> </text>
<check_box bottom_delta="-20" follows="left|top" font="SansSerifSmall" height="16" <check_box bottom_delta="-16" follows="left|top" font="SansSerifSmall" height="16"
initial_value="false" label="Share with group" left="10" initial_value="false" label="Share with group" left="10"
mouse_opaque="true" name="checkbox share with group" mouse_opaque="true" name="checkbox share with group"
tool_tip="Allow all members of the set group to share and use your permissions for this object. You must Deed to enable role restrictions." tool_tip="Allow all members of the set group to share and use your permissions for this object. You must Deed to enable role restrictions."
@@ -420,21 +420,21 @@
<string name="text deed"> <string name="text deed">
Deed Deed
</string> </string>
<button bottom="-186" follows="top|right" font="SansSerifSmall" halign="center" <button bottom_delta="0" follows="top|right" font="SansSerifSmall" halign="center"
height="20" label="Deed..." label_selected="Deed..." left_delta="172" height="20" label="Deed..." label_selected="Deed..." left_delta="172"
mouse_opaque="true" name="button deed" scale_image="TRUE" mouse_opaque="true" name="button deed" scale_image="TRUE"
tool_tip="Group shared objects can be deeded by a group officer." tool_tip="Group shared objects can be deeded by a group officer."
width="78" /> width="78" />
<check_box bottom="-206" follows="left|top" font="SansSerifSmall" height="16" <check_box bottom_delta="-18" follows="left|top" font="SansSerifSmall" height="16"
initial_value="false" label="Allow anyone to move" left="10" initial_value="false" label="Allow anyone to move" left="10"
mouse_opaque="true" name="checkbox allow everyone move" width="142" /> mouse_opaque="true" name="checkbox allow everyone move" width="142" />
<check_box bottom_delta="-20" follows="left|top" font="SansSerifSmall" height="16" <check_box bottom_delta="-18" follows="left|top" font="SansSerifSmall" height="16"
initial_value="false" label="Allow anyone to copy" left="10" initial_value="false" label="Allow anyone to copy" left="10"
mouse_opaque="true" name="checkbox allow everyone copy" width="141" /> mouse_opaque="true" name="checkbox allow everyone copy" width="141" />
<check_box bottom_delta="-20" follows="left|top" font="SansSerifSmall" height="16" <check_box bottom_delta="-18" follows="left|top" font="SansSerifSmall" height="16"
initial_value="false" label="Show in search" left="10" name="search_check" initial_value="false" label="Show in search" left="10" name="search_check"
tool_tip="Let people see this object in search results" width="78" /> tool_tip="Let people see this object in search results" width="78" />
<check_box bottom_delta="-20" follows="left|top" font="SansSerifSmall" height="16" <check_box bottom_delta="-18" follows="left|top" font="SansSerifSmall" height="16"
initial_value="false" label="For Sale" left="10" mouse_opaque="true" initial_value="false" label="For Sale" left="10" mouse_opaque="true"
name="checkbox for sale" width="78" /> name="checkbox for sale" width="78" />
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
@@ -446,7 +446,7 @@
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom_delta="0" <line_editor bevel_style="in" border_style="line" border_thickness="1" bottom_delta="0"
follows="left|top|right" font="SansSerifSmall" height="16" left_delta="80" follows="left|top|right" font="SansSerifSmall" height="16" left_delta="80"
max_length="25" mouse_opaque="true" name="Edit Cost" width="75" /> max_length="25" mouse_opaque="true" name="Edit Cost" width="75" />
<radio_group bottom="-286" draw_border="false" follows="left|top|right" height="16" <radio_group bottom_delta="-18" draw_border="false" follows="left|top|right" height="16"
left="42" mouse_opaque="true" name="sale type" width="218"> left="42" mouse_opaque="true" name="sale type" width="218">
<radio_item bottom="-16" follows="left|top" height="16" left="0" mouse_opaque="true" <radio_item bottom="-16" follows="left|top" height="16" left="0" mouse_opaque="true"
name="Original" width="70"> name="Original" width="70">
@@ -462,7 +462,7 @@
</radio_item> </radio_item>
</radio_group> </radio_group>
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-298" drop_shadow_visible="true" follows="left|top|right" bottom_delta="-5" drop_shadow_visible="true" follows="left|top|right"
font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10" font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10"
mouse_opaque="true" name="Next owner can:" v_pad="0" width="250"> mouse_opaque="true" name="Next owner can:" v_pad="0" width="250">
Next owner can: Next owner can:
@@ -477,12 +477,12 @@
initial_value="false" label="Resell/Give away" left_delta="60" initial_value="false" label="Resell/Give away" left_delta="60"
mouse_opaque="true" name="checkbox next owner can transfer" width="130" /> mouse_opaque="true" name="checkbox next owner can transfer" width="130" />
<text bg_visible="false" border_drop_shadow_visible="false" border_visible="false" <text bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-332" drop_shadow_visible="true" follows="left|top" bottom="-334" drop_shadow_visible="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10" font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10"
mouse_opaque="true" name="label click action" v_pad="0" width="150"> mouse_opaque="true" name="label click action" v_pad="0" width="150">
When Left-Clicked: When Left-Clicked:
</text> </text>
<combo_box allow_text_entry="false" bottom_delta="-25" follows="left|top" height="18" <combo_box bottom_delta="-24" allow_text_entry="false" follows="left|top" height="20"
left="10" max_chars="20" mouse_opaque="true" name="clickaction" width="150"> left="10" max_chars="20" mouse_opaque="true" name="clickaction" width="150">
<!-- Do not reorder these items, the index numbers are <!-- Do not reorder these items, the index numbers are
used internally. JC --> used internally. JC -->
@@ -549,6 +549,40 @@
mouse_opaque="true" name="F:" v_pad="0" width="74"> mouse_opaque="true" name="F:" v_pad="0" width="74">
F: F:
</text> </text>
<panel bottom="-302" border="true" height="155" left="5" width="260" />
<panel
bottom="-328"
border="false"
follows="left|top"
layout="topleft"
mouse_opaque="false"
name="pathfinding_attrs_panel"
left="0"
top_pad="0"
height="25"
width="290">
<text
type="string"
follows="left|top"
name="pathfinding_attributes_label"
top_pad="4"
width="150"
left="10">
Pathfinding attributes:
</text>
<text
bottom_delta="0"
left_delta="120"
type="string"
text_color="TextLinkColor"
follows="left|top"
name="pathfinding_attributes_value"
width="130"
word_wrap="false"
left_pad="0">
Test
</text>
</panel>
<string name="text modify info 1"> <string name="text modify info 1">
You can modify this object. You can modify this object.
</string> </string>
@@ -561,6 +595,12 @@
<string name="text modify info 4"> <string name="text modify info 4">
You cannot modify these objects. You cannot modify these objects.
</string> </string>
<string name="text modify info 5">
You can't modify this object across a region boundary
</string>
<string name="text modify info 6">
You can't modify these objects across a region boundary
</string>
<string name="text modify warning"> <string name="text modify warning">
Must select entire object to set permissions. Must select entire object to set permissions.
</string> </string>

View File

@@ -102,6 +102,21 @@
</form> </form>
</template> </template>
<template name="okhelpignore">
<form>
<button
default="true"
index="0"
name="OK"
text="$yestext"/>
<button
index="1"
name="Help"
text="$helptext"/>
<ignore text="$ignoretext"/>
</form>
</template>
<template name="yesnocancelbuttons"> <template name="yesnocancelbuttons">
<form> <form>
<button <button
@@ -7126,6 +7141,19 @@ You locally updated a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME]
- Your CPU speed does not meet the minimum requirements. - Your CPU speed does not meet the minimum requirements.
</global> </global>
<notification
icon="alertmodal.tga"
name="PathfindingLinksets_ChangeToFlexiblePath"
type="alertmodal">
The selected object affects the navmesh. Changing it to a Flexible Path will remove it from the navmesh.
<tag>confirm</tag>
<usetemplate
ignoretext="The selected object affects the navmesh. Changing it to a Flexible Path will remove it from the navmesh."
name="okcancelignore"
notext="Cancel"
yestext="OK"/>
</notification>
<global name="UnsupportedGLRequirements"> <global name="UnsupportedGLRequirements">
You do not appear to have the proper hardware requirements for [APP_NAME]. The viewer requires an OpenGL graphics card that has multitexture support. If this is the case, you may want to make sure that you have the latest drivers for your graphics card, and service packs and patches for your operating system. You do not appear to have the proper hardware requirements for [APP_NAME]. The viewer requires an OpenGL graphics card that has multitexture support. If this is the case, you may want to make sure that you have the latest drivers for your graphics card, and service packs and patches for your operating system.
</global> </global>

View File

@@ -1966,6 +1966,13 @@ Try enclosing path to the editor with double quotes.
<string name="ExternalEditorCommandParseError">Error parsing the external editor command.</string> <string name="ExternalEditorCommandParseError">Error parsing the external editor command.</string>
<string name="ExternalEditorFailedToRun">External editor failed to run.</string> <string name="ExternalEditorFailedToRun">External editor failed to run.</string>
<!-- Pathfinding -->
<string name="Pathfinding_Wiki_URL">http://wiki.secondlife.com/wiki/Pathfinding_Tools_in_the_Second_Life_Viewer</string>
<string name="Pathfinding_Object_Attr_None">None</string>
<string name="Pathfinding_Object_Attr_Permanent">Affects navmesh</string>
<string name="Pathfinding_Object_Attr_Character">Character</string>
<string name="Pathfinding_Object_Attr_MultiSelect">(Multiple)</string>
<!-- Addition of OSSL commands for use in OpenSimulator based regions, including Aurora --> <!-- Addition of OSSL commands for use in OpenSimulator based regions, including Aurora -->
<string name="LSLTipText_osSetRegionWaterHeight"> <string name="LSLTipText_osSetRegionWaterHeight">
osSetRegionWaterHeight(float height) osSetRegionWaterHeight(float height)