diff options
Diffstat (limited to 'indra/newview/llpanelobject.cpp')
-rw-r--r-- | indra/newview/llpanelobject.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index f7f33cb66b..38214d78d6 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -849,6 +849,7 @@ void LLPanelObject::getState( ) F32 twist_inc = OBJECT_TWIST_LINEAR_INC; BOOL advanced_is_dimple = FALSE; + BOOL advanced_is_slice = FALSE; BOOL size_is_hole = FALSE; // Tune based on overall volume type @@ -902,8 +903,20 @@ void LLPanelObject::getState( ) break; case MI_BOX: + advanced_cut_visible = TRUE; + advanced_is_slice = TRUE; + break; + case MI_CYLINDER: + advanced_cut_visible = TRUE; + advanced_is_slice = TRUE; + break; + case MI_PRISM: + advanced_cut_visible = TRUE; + advanced_is_slice = TRUE; + break; + default: break; } @@ -995,6 +1008,8 @@ void LLPanelObject::getState( ) childSetVisible("advanced_cut", FALSE); childSetVisible("advanced_dimple", FALSE); + childSetVisible("advanced_slice", FALSE); + if (advanced_cut_visible) { if (advanced_is_dimple) @@ -1002,6 +1017,12 @@ void LLPanelObject::getState( ) childSetVisible("advanced_dimple", TRUE); childSetEnabled("advanced_dimple", enabled); } + + else if (advanced_is_slice) + { + childSetVisible("advanced_slice", TRUE); + childSetEnabled("advanced_slice", enabled); + } else { childSetVisible("advanced_cut", TRUE); @@ -1895,8 +1916,9 @@ void LLPanelObject::clearCtrls() childSetEnabled("scale_hole", FALSE); childSetEnabled("scale_taper", FALSE); - childSetEnabled( "advanced_cut", FALSE ); - childSetEnabled( "advanced_dimple", FALSE ); + childSetEnabled("advanced_cut", FALSE); + childSetEnabled("advanced_dimple", FALSE); + childSetVisible("advanced_slice", FALSE); } // |