diff options
Diffstat (limited to 'indra/newview/llbottomtray.h')
-rw-r--r-- | indra/newview/llbottomtray.h | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h index 02588a1975..2972a2b1ac 100644 --- a/indra/newview/llbottomtray.h +++ b/indra/newview/llbottomtray.h @@ -52,6 +52,7 @@ class LLBottomTray , public LLPanel , public LLIMSessionObserver { + LOG_CLASS(LLBottomTray); friend class LLSingleton<LLBottomTray>; public: ~LLBottomTray(); @@ -82,18 +83,34 @@ public: void showSnapshotButton(BOOL visible); private: - - enum EResizeState + typedef enum e_resize_status_type { - STATE_CHICLET_PANEL = 1, - STATE_CHATBAR_INPUT, - STATE_BUTTONS - }; - - void updateResizeState(S32 width, S32 height); + RS_NORESIZE = 0x0000 + , RS_CHICLET_PANEL = 0x0001 + , RS_CHATBAR_INPUT = 0x0002 + , RS_BUTTON_SNAPSHOT = 0x0004 + , RS_BUTTON_CAMERA = 0x0008 + , 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; + + void updateResizeState(S32 new_width, S32 cur_width); void verifyChildControlsSizes(); - - EResizeState mResizeState; + void processWidthDecreased(S32 delta_width); + void processWidthIncreased(S32 delta_width); + void log(LLView* panel, const std::string& descr); + bool processShowButton(EResizeState shown_object_type, S32* available_width, S32* buttons_required_width); + void processHideButton(EResizeState shown_object_type, S32* required_width, S32* buttons_freed_width); + bool canButtonBeShown(LLPanel* panel) const; + void initStateProcessedObjectMap(); + void showTrayButton(EResizeState shown_object_type, bool visible); + + MASK mResizeState; + + typedef std::map<EResizeState, LLPanel*> state_object_map_t; + state_object_map_t mStateProcessedObjectMap; protected: |