00001
00032 #ifndef LL_LLGROUPNOTIFY_H
00033 #define LL_LLGROUPNOTIFY_H
00034
00035 #include "llfontgl.h"
00036 #include "llpanel.h"
00037 #include "lldarray.h"
00038 #include "lltimer.h"
00039 #include "llviewermessage.h"
00040
00041 class LLButton;
00042
00043
00044
00045 class LLGroupNotifyBox
00046 : public LLPanel
00047 {
00048 public:
00049 static LLGroupNotifyBox* show(const char* subject,
00050 const char* message,
00051 const char* from_name,
00052 const LLUUID& group_id,
00053 const U32& time_stamp,
00054 const bool& has_inventory = FALSE,
00055 const char* inventory_name = NULL,
00056 LLOfferInfo* inventory_offer = NULL);
00057 void close();
00058
00059 protected:
00060
00061
00062
00063 LLGroupNotifyBox(const char* subject,
00064 const char* message,
00065 const char* from_name,
00066 const LLUUID& group_id,
00067 const LLUUID& group_insignia,
00068 const char* group_name,
00069 const U32& t,
00070 const bool& has_inventory = FALSE,
00071 const char* inventory_name = NULL,
00072 LLOfferInfo* inventory_offer = NULL);
00073
00074 ~LLGroupNotifyBox();
00075
00076
00077
00078
00079
00080
00081 BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
00082
00083
00084 void draw();
00085
00086 void moveToBack();
00087
00088
00089
00090 static LLRect getGroupNotifyRect();
00091
00092
00093 static void onClickOk(void* data);
00094 static void onClickGroupInfo(void* data);
00095 static void onClickSaveInventory(void* data);
00096
00097
00098 static void onClickNext(void* data);
00099
00100 protected:
00101
00102 BOOL mAnimating;
00103
00104
00105
00106
00107 LLTimer mTimer;
00108
00109 LLButton* mNextBtn;
00110 LLButton* mSaveInventoryBtn;
00111
00112 static S32 sGroupNotifyBoxCount;
00113
00114 LLUUID mGroupID;
00115 BOOL mHasInventory;
00116 LLOfferInfo* mInventoryOffer;
00117 };
00118
00119
00120
00121
00122 const S32 GROUP_LAYOUT_DEFAULT = 0;
00123 const S32 GROUP_LAYOUT_SCRIPT_DIALOG = 1;
00124
00125 #endif