diff options
author | Mike Antipov <mantipov@productengine.com> | 2009-11-17 13:03:08 +0200 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2009-11-17 13:03:08 +0200 |
commit | 812d18515ddefd11fe8c5fc7f655280a231670f5 (patch) | |
tree | 88dc15d5ac746ce8d9ca6ae1e9e5552e52757db3 /indra/newview/llbottomtray.h | |
parent | 3df42196e3ead1419d456a715081d37b454b5bc1 (diff) |
Completed major sub-task EXT-991 (Update bottom bar behavior on resize)
- added possibility to shrink/extend buttons (gestures, move, view) while resizing
- I had to add LLLayoutStack::getPanelMinSize interface to validate width of Layout panels with these buttons
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llbottomtray.h')
-rw-r--r-- | indra/newview/llbottomtray.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h index 8989816bfe..97bcc23403 100644 --- a/indra/newview/llbottomtray.h +++ b/indra/newview/llbottomtray.h @@ -98,7 +98,6 @@ private: , RS_BUTTON_MOVEMENT = 0x0010 , RS_BUTTON_GESTURES = 0x0020 , RS_BUTTON_SPEAK = 0x0040 - , RS_RESIZABLE_BUTTONS = /*RS_BUTTON_SNAPSHOT | */RS_BUTTON_CAMERA | RS_BUTTON_MOVEMENT | RS_BUTTON_GESTURES }EResizeState; S32 processWidthDecreased(S32 delta_width); @@ -108,6 +107,24 @@ private: void processHideButton(EResizeState processed_object_type, S32* required_width, S32* buttons_freed_width); /** + * Shrinks shown buttons to reduce total taken space. + * + * @param - required_width - width which buttons can use to be shrunk. It is a negative value. + * It is increased on the value processed by buttons. + */ + void processShrinkButtons(S32* required_width); + void processShrinkButton(EResizeState processed_object_type, S32* required_width); + + /** + * Extends shown buttons to increase total taken space. + * + * @param - available_width - width which buttons can use to be extended. It is a positive value. + * It is decreased on the value processed by buttons. + */ + void processExtendButtons(S32* available_width); + void processExtendButton(EResizeState processed_object_type, S32* available_width); + + /** * Determines if specified by type object can be shown. It should be hidden by shrink before. * * Processes buttons a such way to show buttons in constant order: @@ -140,6 +157,9 @@ private: typedef std::map<EResizeState, LLPanel*> state_object_map_t; state_object_map_t mStateProcessedObjectMap; + typedef std::map<EResizeState, S32> state_object_width_map_t; + state_object_width_map_t mObjectDefaultWidthMap; + protected: LLBottomTray(const LLSD& key = LLSD()); |