meow-7.2.2
James Cook 2009-10-27 12:07:02 -07:00
commit b93c4d6bd6
9 changed files with 371 additions and 77 deletions

View File

@ -43,3 +43,4 @@ tarfile_tmp
^indra/web/dataservice/locale.*
^indra/web/dataservice/lib/shared/vault.*
^indra/web/dataservice/vendor.*
glob:indra/newview/dbghelp.dll

View File

@ -63,6 +63,7 @@
#include "llpanel.h"
#include "llurlregistry.h"
#include "lltooltip.h"
#include "llmenugl.h"
#include <queue>
#include "llcombobox.h"
@ -252,7 +253,8 @@ LLTextEditor::LLTextEditor(const LLTextEditor::Params& p) :
mHandleEditKeysDirectly( p.handle_edit_keys_directly ),
mMouseDownX(0),
mMouseDownY(0),
mTabsToNextField(p.ignore_tab)
mTabsToNextField(p.ignore_tab),
mContextMenu(NULL)
{
mDefaultFont = p.font;
@ -301,6 +303,8 @@ LLTextEditor::~LLTextEditor()
// Scrollbar is deleted by LLView
std::for_each(mUndoStack.begin(), mUndoStack.end(), DeletePointer());
delete mContextMenu;
}
////////////////////////////////////////////////////////////
@ -702,6 +706,19 @@ BOOL LLTextEditor::handleMouseDown(S32 x, S32 y, MASK mask)
return handled;
}
BOOL LLTextEditor::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
BOOL handled = LLTextBase::handleRightMouseDown(x, y, mask);
if (!handled && hasTabStop())
{
setFocus( TRUE );
showContextMenu(x, y);
handled = TRUE;
}
return handled;
}
BOOL LLTextEditor::handleMiddleMouseDown(S32 x, S32 y, MASK mask)
{
@ -736,7 +753,6 @@ BOOL LLTextEditor::handleHover(S32 x, S32 y, MASK mask)
setCursorAtLocalPos( clamped_x, clamped_y, true );
mSelectionEnd = mCursorPos;
}
lldebugst(LLERR_USER_INPUT) << "hover handled by " << getName() << " (active)" << llendl;
getWindow()->setCursor(UI_CURSOR_IBEAM);
handled = TRUE;
@ -1991,6 +2007,21 @@ void LLTextEditor::setEnabled(BOOL enabled)
}
}
void LLTextEditor::showContextMenu(S32 x, S32 y)
{
if (!mContextMenu)
{
mContextMenu = LLUICtrlFactory::instance().createFromFile<LLContextMenu>("menu_text_editor.xml",
LLMenuGL::sMenuContainer,
LLMenuHolderGL::child_registry_t::instance());
}
S32 screen_x, screen_y;
localPointToScreen(x, y, &screen_x, &screen_y);
mContextMenu->show(screen_x, screen_y);
}
void LLTextEditor::drawPreeditMarker()
{
static LLUICachedControl<F32> preedit_marker_brightness ("UIPreeditMarkerBrightness", 0);

View File

@ -99,6 +99,7 @@ public:
// mousehandler overrides
virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
virtual BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
virtual BOOL handleHover(S32 x, S32 y, MASK mask);
virtual BOOL handleDoubleClick(S32 x, S32 y, MASK mask );
virtual BOOL handleMiddleMouseDown(S32 x,S32 y,MASK mask);
@ -201,6 +202,7 @@ public:
void getSelectedSegments(segment_vec_t& segments) const;
protected:
void showContextMenu(S32 x, S32 y);
void drawPreeditMarker();
void assignEmbedded(const std::string &s);
@ -328,6 +330,8 @@ private:
LLCoordGL mLastIMEPosition; // Last position of the IME editor
keystroke_signal_t mKeystrokeSignal;
LLContextMenu* mContextMenu;
}; // end class LLTextEditor

View File

@ -442,6 +442,7 @@ void LLRenderPass::renderTexture(U32 type, U32 mask)
void LLRenderPass::pushBatches(U32 type, U32 mask, BOOL texture)
{
llpushcallstacks ;
for (LLCullResult::drawinfo_list_t::iterator i = gPipeline.beginRenderMap(type); i != gPipeline.endRenderMap(type); ++i)
{
LLDrawInfo* pparams = *i;

View File

@ -856,6 +856,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
const LLMatrix4& mat_vert, const LLMatrix3& mat_normal,
const U16 &index_offset)
{
llpushcallstacks ;
const LLVolumeFace &vf = volume.getVolumeFace(f);
S32 num_vertices = (S32)vf.mVertices.size();
S32 num_indices = (S32)vf.mIndices.size();
@ -864,7 +865,15 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
{
if (num_indices + (S32) mIndicesIndex > mVertexBuffer->getNumIndices())
{
llwarns << "Index buffer overflow!" << llendl;
llwarns << "Index buffer overflow!" << llendl;
llwarns << "Indices Count: " << mIndicesCount
<< " VF Num Indices: " << num_indices
<< " Indices Index: " << mIndicesIndex
<< " VB Num Indices: " << mVertexBuffer->getNumIndices() << llendl;
llwarns << "Last Indices Count: " << mLastIndicesCount
<< " Last Indices Index: " << mLastIndicesIndex
<< " Face Index: " << f
<< " Pool Type: " << mPoolType << llendl;
return FALSE;
}

View File

@ -2988,6 +2988,7 @@ static LLFastTimer::DeclareTimer FTM_REBUILD_VBO("VBO Rebuilt");
void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
{
llpushcallstacks ;
if (group->changeLOD())
{
group->mLastUpdateDistance = group->mDistance;
@ -3218,6 +3219,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
static LLFastTimer::DeclareTimer FTM_VOLUME_GEOM("Volume Geometry");
void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)
{
llpushcallstacks ;
if (group->isState(LLSpatialGroup::MESH_DIRTY) && !group->isState(LLSpatialGroup::GEOM_DIRTY))
{
LLFastTimer tm(FTM_VOLUME_GEOM);
@ -3308,6 +3310,7 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)
void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::vector<LLFace*>& faces, BOOL distance_sort)
{
llpushcallstacks ;
//calculate maximum number of vertices to store in a single buffer
U32 max_vertices = (gSavedSettings.getS32("RenderMaxVBOSize")*1024)/LLVertexBuffer::calcStride(group->mSpatialPartition->mVertexDataMask);
max_vertices = llmin(max_vertices, (U32) 65535);

View File

@ -1797,6 +1797,7 @@ void LLPipeline::rebuildPriorityGroups()
void LLPipeline::rebuildGroups()
{
llpushcallstacks ;
// Iterate through some drawables on the non-priority build queue
S32 size = (S32) mGroupQ2.size();
S32 min_count = llclamp((S32) ((F32) (size * size)/4096*0.25f), 1, size);

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater
auto_tile="true"
height="800"
height="460"
layout="topleft"
name="gesture_preview"
help_topic="gesture_preview"
@ -46,10 +46,11 @@
height="10"
layout="topleft"
left="10"
name="Name"
name="desc_label"
top="25"
font.style="BOLD"
width="100">
Name (not working yet):
Description:
</text>
<line_editor
follows="left|top"
@ -67,70 +68,270 @@
height="10"
layout="topleft"
left="10"
name="desc_label"
font.style="BOLD"
name="trigger_label"
top_pad="10"
width="100">
Description:
Trigger:
</text>
<line_editor
follows="left|top"
height="40"
height="20"
layout="topleft"
left_delta="84"
name="desc2"
max_length="31"
name="trigger_editor"
top_delta="-4"
width="180" />
<accordion
<text
type="string"
length="1"
follows="top|left"
font="SansSerifSmall"
height="10"
layout="topleft"
left="2"
width="276"
top="95"
height="580"
follows="all"
name="group_accordion">
<accordion_tab
min_height="90"
title="Shortcuts"
name="snapshot_destination_tab"
an_resize="false">
<panel
class="floater_preview_shortcut"
filename="floater_preview_gesture_shortcut.xml"
name="floater_preview_shortcut"/>
</accordion_tab>
<accordion_tab
min_height="400"
title="Steps"
name="snapshot_file_settings_tab"
can_resize="false">
<panel
class="floater_preview_steps"
filename="floater_preview_gesture_steps.xml"
name="floater_preview_steps"/>
</accordion_tab>
<accordion_tab
min_height="155"
title="Info"
name="snapshot_capture_tab"
can_resize="false">
<panel
class="floater_preview_info"
filename="floater_preview_gesture_info.xml"
name="floater_preview_info"/>
</accordion_tab>
<!--accordion_tab
min_height="100"
title="Permissions"
name="snapshot_capture_tab2"
can_resize="false">
<panel
class="floater_snapshot_capture"
filename="floater_snapshot_Permissions.xml"
name="snapshot_capture_panel2"/>
</accordion_tab-->
</accordion>
<!--check_box
left="10"
font.style="BOLD"
name="replace_text"
tool_tip="Replace the trigger word(s) with these words. For example, trigger &apos;hello&apos; replace with &apos;howdy&apos; will turn the chat &apos;I wanted to say hello&apos; into &apos;I wanted to say howdy&apos; as well as playing the gesture!"
top_pad="10"
width="200">
Replace with:
</text>
<line_editor
follows="left|top"
height="20"
layout="topleft"
left_delta="84"
max_length="31"
name="replace_editor"
tool_tip="Replace the trigger word(s) with these words. For example, trigger &apos;hello&apos; replace with &apos;howdy&apos; will turn the chat &apos;I wanted to say hello&apos; into &apos;I wanted to say howdy&apos; as well as playing the gesture"
top_delta="-4"
width="180" />
<text
type="string"
length="1"
follows="top|left"
font="SansSerifSmall"
height="10"
layout="topleft"
left="10"
font.style="BOLD"
name="key_label"
top_pad="10"
width="100">
Shortcut Key:
</text>
<combo_box
height="20"
label="None"
layout="topleft"
left_delta="84"
name="modifier_combo"
top_delta="-4"
width="75" />
<combo_box
height="20"
label="None"
layout="topleft"
left_pad="10"
name="key_combo"
top_delta="0"
width="75" />
<text
type="string"
length="1"
follows="top|left"
font="SansSerifSmall"
height="10"
layout="topleft"
left="10"
font.style="BOLD"
name="library_label"
top="135"
width="100">
Library:
</text>
<scroll_list
follows="top|left"
height="60"
layout="topleft"
left="10"
name="library_list"
top="150"
width="180">
<scroll_list.rows
value="Animation" />
<scroll_list.rows
value="Sound" />
<scroll_list.rows
value="Chat" />
<scroll_list.rows
value="Wait" />
</scroll_list>
<button
follows="top|left"
height="20"
font="SansSerifSmall"
label="Add &gt;&gt;"
layout="topleft"
left_pad="10"
name="add_btn"
top_delta="0"
width="70" />
<text
type="string"
length="1"
follows="top|left"
font="SansSerifSmall"
height="10"
layout="topleft"
left="10"
font.style="BOLD"
name="steps_label"
top_pad="50"
width="100">
Steps:
</text>
<scroll_list
follows="top|left"
height="85"
layout="topleft"
left="10"
name="step_list"
top_pad="5"
width="180" />
<button
follows="top|left"
height="20"
font="SansSerifSmall"
label="Up"
layout="topleft"
left_pad="10"
name="up_btn"
top_delta="0"
width="70" />
<button
follows="top|left"
height="20"
font="SansSerifSmall"
label="Down"
layout="topleft"
left_delta="0"
name="down_btn"
top_pad="10"
width="70" />
<button
follows="top|left"
height="20"
font="SansSerifSmall"
label="Remove"
layout="topleft"
left_delta="0"
name="delete_btn"
top_pad="10"
width="70" />
<text
follows="top|left"
height="60"
layout="topleft"
left="15"
name="options_text"
top="330"
width="205" />
<combo_box
follows="top|left"
height="20"
layout="topleft"
left_delta="15"
name="animation_list"
top="345"
width="100" />
<combo_box
follows="top|left"
height="20"
layout="topleft"
left_delta="0"
name="sound_list"
top_delta="0"
width="100" />
<line_editor
follows="top|left"
height="20"
layout="topleft"
left_delta="0"
max_length="127"
name="chat_editor"
top_delta="0"
width="100" />
<radio_group
draw_border="false"
follows="top|left"
height="40"
layout="topleft"
left_pad="8"
name="animation_trigger_type"
top_delta="0"
width="80">
<radio_item
height="16"
label="Start"
layout="topleft"
left="3"
name="start"
top="-11"
width="80" />
<radio_item
height="16"
label="Stop"
layout="topleft"
left_delta="0"
name="stop"
top_pad="10"
width="80" />
</radio_group>
<check_box
follows="top|left"
height="20"
label="until animations are done"
layout="topleft"
left="16"
name="wait_anim_check"
top="340"
width="100" />
<check_box
follows="top|left"
height="20"
label="time in seconds"
layout="topleft"
left_delta="0"
name="wait_time_check"
top_delta="20"
width="100" />
<line_editor
follows="top|left"
height="20"
layout="topleft"
left_pad="5"
max_length="15"
name="wait_time_editor"
top_delta="0"
width="50" />
<text
type="string"
length="1"
follows="top|left"
font="SansSerifSmall"
height="30"
layout="topleft"
left="10"
name="help_label"
top_pad="20"
word_wrap="true"
width="265">
All steps happen simultaneously, unless you add wait steps.
</text>
<check_box
follows="top|left"
height="20"
label="Active"
@ -138,35 +339,24 @@
left="20"
name="active_check"
tool_tip="Active gestures can be triggered by chatting their trigger phrases or pressing their hot keys. Gestures usually become inactive when there is a key binding conflict."
top="365"
width="100" /-->
top_pad="0"
width="100" />
<button
follows="bottom|left"
follows="top|left"
height="20"
label="Preview"
layout="topleft"
left="20"
left_delta="75"
name="preview_btn"
top_pad="30"
top_delta="2"
width="80" />
<button
follows="top|left"
height="20"
label="Save"
layout="topleft"
left_pad="5"
left_pad="10"
name="save_btn"
top_delta="0"
width="80" />
<button
follows="top|left"
height="20"
label="Cancel (not working)"
layout="topleft"
left_pad="5"
name="cancel_btn"
top_delta="0"
width="80" />
</floater>

View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<context_menu
name="Text editor context menu">
<menu_item_call
label="Cut"
layout="topleft"
name="Cut"
shortcut="control|X">
<menu_item_call.on_click
function="Edit.Cut" />
<menu_item_call.on_enable
function="Edit.EnableCut" />
</menu_item_call>
<menu_item_call
label="Copy"
layout="topleft"
name="Copy"
shortcut="control|C">
<menu_item_call.on_click
function="Edit.Copy" />
<menu_item_call.on_enable
function="Edit.EnableCopy" />
</menu_item_call>
<menu_item_call
label="Paste"
layout="topleft"
name="Paste"
shortcut="control|V">
<menu_item_call.on_click
function="Edit.Paste" />
<menu_item_call.on_enable
function="Edit.EnablePaste" />
</menu_item_call>
<menu_item_call
label="Delete"
layout="topleft"
name="Delete"
shortcut="Del">
<menu_item_call.on_click
function="Edit.Delete" />
<menu_item_call.on_enable
function="Edit.EnableDelete" />
</menu_item_call>
<menu_item_call
label="Select All"
layout="topleft"
name="Select All"
shortcut="control|A">
<menu_item_call.on_click
function="Edit.SelectAll" />
<menu_item_call.on_enable
function="Edit.EnableSelectAll" />
</menu_item_call>
</context_menu>