llfloaterdirectory.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLFLOATERDIRECTORY_H
00033 #define LL_LLFLOATERDIRECTORY_H
00034 
00035 #include "llfloater.h"
00036 #include "lltabcontainer.h"
00037 
00038 class LLDirectoryCore;
00039 class LLPanelDirBrowser;
00040 
00041 class LLPanelDirAdvanced;
00042 class LLPanelDirClassified;
00043 class LLPanelDirEvents;
00044 class LLPanelDirFindAll;
00045 class LLPanelDirFindAllOld;
00046 class LLPanelDirGroups;
00047 class LLPanelDirLand;
00048 class LLPanelDirPeople;
00049 class LLPanelDirPlaces;
00050 class LLPanelDirPopular;
00051 
00052 class LLPanelAvatar;
00053 class LLPanelEvent;
00054 class LLPanelGroup;
00055 class LLPanelPlace;
00056 class LLPanelClassified;
00057 
00058 // Floater to find people, places, things
00059 class LLFloaterDirectory : public LLFloater
00060 {
00061 public: 
00062         LLFloaterDirectory(const std::string& name);
00063         /*virtual*/ ~LLFloaterDirectory();
00064 
00065         /*virtual*/ void setVisible(BOOL visible);
00066 
00067         // Used for toggling God mode, which changes to visibility of 
00068         // some picks.
00069         static void requestClassifieds();
00070 
00071         // Outside UI widgets can spawn this floater with various tabs
00072         // selected.
00073         static void showFindAll(const std::string& search_text);
00074         static void showClassified(const LLUUID& classified_id);
00075         static void showEvents(S32 event_id);
00076         static void showLandForSale(const LLUUID& parcel_id);
00077         static void showGroups();
00078         static void refreshGroup(const LLUUID& group_id);
00079         static void hide(void*);
00080 
00081         static void toggleEvents(void*);
00082         static void toggleFind(void*);
00083         static void onTabChanged(void*, bool);
00084 
00085         void hideAllDetailPanels();
00086 
00087 private:
00088         static void showPanel(const std::string& tabname);
00089         /*virtual*/ void onClose(bool app_quitting);
00090         void focusCurrentPanel();
00091 
00092 private:
00093         // Some special "showByID" functions use these cached pointers.
00094         // They could be replaced by getPanelByName(), perhaps. JC
00095         LLPanelDirFindAll* mFindAllPanel;
00096         LLPanelDirClassified* mClassifiedPanel;
00097         LLPanelDirEvents* mEventsPanel;
00098         LLPanelDirLand* mLandPanel;
00099 
00100         static void* createFindAll(void* userdata);
00101         static void* createClassified(void* userdata);
00102         static void* createEvents(void* userdata);
00103         static void* createShowcase(void* userdata);
00104         static void* createPlaces(void* userdata);
00105         static void* createLand(void* userdata);
00106         static void* createPeople(void* userdata);
00107         static void* createGroups(void* userdata);
00108 
00109         static void* createClassifiedDetail(void* userdata);
00110         static void* createAvatarDetail(void* userdata);
00111         static void* createEventDetail(void* userdata);
00112         static void* createGroupDetail(void* userdata);
00113         static void* createGroupDetailHolder(void* userdata);
00114         static void* createPlaceDetail(void* userdata);
00115         static void* createPlaceDetailSmall(void* userdata);
00116 
00117         static  void*   createPanelAvatar(void* data);
00118         
00119 public:
00120         LLPanelAvatar*          mPanelAvatarp;
00121         LLPanelEvent*           mPanelEventp;
00122         LLPanelGroup*           mPanelGroupp;
00123         LLPanel*                        mPanelGroupHolderp;
00124         LLPanelPlace*           mPanelPlacep;
00125         LLPanelPlace*           mPanelPlaceSmallp;
00126         LLPanelClassified*      mPanelClassifiedp;
00127 
00128         static S32 sOldSearchCount; // debug
00129         static S32 sNewSearchCount; // debug
00130 
00131 private:
00132         bool mMinimizing;       // HACK: see reshape() for details
00133         static LLFloaterDirectory       *sInstance;
00134 };
00135 
00136 extern BOOL gDisplayEventHack;
00137 
00138 #endif  // LL_LLDIRECTORYFLOATER_H

Generated on Fri May 16 08:33:24 2008 for SecondLife by  doxygen 1.5.5