00001
00032 #ifndef LL_LLTOOLBAR_H
00033 #define LL_LLTOOLBAR_H
00034
00035 #include "llpanel.h"
00036
00037 #include "llframetimer.h"
00038
00039
00040 extern S32 TOOL_BAR_HEIGHT;
00041
00042 #if LL_DARWIN
00043 class LLFakeResizeHandle;
00044 #endif // LL_DARWIN
00045
00046 class LLToolBar
00047 : public LLPanel
00048 {
00049 public:
00050 LLToolBar();
00051 ~LLToolBar();
00052
00053 BOOL postBuild();
00054
00055 BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
00056 EDragAndDropType cargo_type,
00057 void* cargo_data,
00058 EAcceptance* accept,
00059 LLString& tooltip_msg);
00060
00061 void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
00062
00063 static void toggle(void*);
00064 static BOOL visible(void*);
00065
00066
00067 void layoutButtons();
00068
00069
00070 void refresh();
00071
00072
00073 static void onClickCommunicate(LLUICtrl*, void*);
00074 static void onClickChat(void* data);
00075 static void onClickAppearance(void* data);
00076 static void onClickClothing(void* data);
00077 static void onClickFly(void*);
00078 static void onClickSit(void*);
00079 static void onClickSnapshot(void* data);
00080 static void onClickDirectory(void* data);
00081 static void onClickBuild(void* data);
00082 static void onClickRadar(void* data);
00083 static void onClickMap(void* data);
00084 static void onClickInventory(void* data);
00085
00086 static F32 sInventoryAutoOpenTime;
00087
00088 private:
00089 void updateCommunicateList();
00090
00091
00092 private:
00093 BOOL mInventoryAutoOpen;
00094 LLFrameTimer mInventoryAutoOpenTimer;
00095 S32 mNumUnreadIMs;
00096 #if LL_DARWIN
00097 LLFakeResizeHandle *mResizeHandle;
00098 #endif // LL_DARWIN
00099 };
00100
00101 extern LLToolBar *gToolBar;
00102
00103 #endif