00001
00032 #ifndef LL_LLFLOATERTOPOBJECTS_H
00033 #define LL_LLFLOATERTOPOBJECTS_H
00034
00035 #include "llfloater.h"
00036
00037 class LLUICtrl;
00038
00039 class LLFloaterTopObjects : public LLFloater
00040 {
00041 public:
00042
00043 static void show();
00044
00045
00046
00047 static void handle_land_reply(LLMessageSystem* msg, void** data);
00048 void handleReply(LLMessageSystem* msg, void** data);
00049
00050 static void clearList();
00051 void updateSelectionInfo();
00052 virtual BOOL postBuild();
00053
00054 static void onRefresh(void* data);
00055
00056 static void setMode(U32 mode) { if (sInstance) sInstance->mCurrentMode = mode; }
00057
00058 private:
00059 LLFloaterTopObjects();
00060 ~LLFloaterTopObjects();
00061
00062 void initColumns(LLCtrlListInterface *list);
00063
00064 static void onCommitObjectsList(LLUICtrl* ctrl, void* data);
00065 static void onDoubleClickObjectsList(void* data);
00066 static void onClickShowBeacon(void* data);
00067
00068 void doToObjects(int action, bool all);
00069
00070 static void onReturnAll(void* data);
00071 static void onReturnSelected(void* data);
00072 static void onDisableAll(void* data);
00073 static void onDisableSelected(void* data);
00074
00075 static void callbackReturnAll(S32 option, void* userdata);
00076 static void callbackDisableAll(S32 option, void* userdata);
00077
00078 static void onGetByOwnerName(LLUICtrl* ctrl, void* data);
00079 static void onGetByObjectName(LLUICtrl* ctrl, void* data);
00080
00081 static void onGetByOwnerNameClicked(void* data) { onGetByOwnerName(NULL, data); };
00082 static void onGetByObjectNameClicked(void* data) { onGetByObjectName(NULL, data); };
00083
00084 void showBeacon();
00085
00086 private:
00087 LLString mMethod;
00088
00089 LLSD mObjectListData;
00090 std::vector<LLUUID> mObjectListIDs;
00091
00092 U32 mCurrentMode;
00093 U32 mFlags;
00094 LLString mFilter;
00095
00096 BOOL mInitialized;
00097
00098 F32 mtotalScore;
00099
00100 enum
00101 {
00102 ACTION_RETURN = 0,
00103 ACTION_DISABLE
00104 };
00105
00106 static LLFloaterTopObjects* sInstance;
00107 };
00108
00109 #endif