summaryrefslogtreecommitdiff
path: root/indra/newview/llbottomtray.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llbottomtray.h')
-rw-r--r--indra/newview/llbottomtray.h37
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: