00001 00032 #ifndef LL_LLCONTAINERVIEW_H 00033 #define LL_LLCONTAINERVIEW_H 00034 00035 #include "stdtypes.h" 00036 #include "lltextbox.h" 00037 #include "llstatbar.h" 00038 00039 class LLScrollableContainerView; 00040 00041 class LLContainerView : public LLView 00042 { 00043 protected: 00044 BOOL mDisplayChildren; 00045 LLString mLabel; 00046 public: 00047 BOOL mCollapsible; 00048 public: 00049 LLContainerView(const std::string& name, const LLRect& rect); 00050 ~LLContainerView(); 00051 00052 virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask); 00053 virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); 00054 00055 virtual void draw(); 00056 virtual void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); 00057 virtual LLRect getRequiredRect(); // Return the height of this object, given the set options. 00058 00059 void setLabel(const LLString& label); 00060 void showLabel(BOOL show) { mShowLabel = show; } 00061 void setDisplayChildren(const BOOL displayChildren); 00062 BOOL getDisplayChildren() { return mDisplayChildren; } 00063 void setScrollContainer(LLScrollableContainerView* scroll) {mScrollContainer = scroll;} 00064 00065 private: 00066 LLScrollableContainerView* mScrollContainer; 00067 void arrange(S32 width, S32 height, BOOL called_from_parent = TRUE); 00068 BOOL mShowLabel; 00069 }; 00070 #endif // LL_CONTAINERVIEW_