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 
00037 class LLDirectoryCore;
00038 class LLPanelDirBrowser;
00039 
00040 class LLPanelDirAdvanced;
00041 class LLPanelDirClassified;
00042 class LLPanelDirEvents;
00043 class LLPanelDirFindAll;
00044 class LLPanelDirFindAllOld;
00045 class LLPanelDirGroups;
00046 class LLPanelDirLand;
00047 class LLPanelDirPeople;
00048 class LLPanelDirPlaces;
00049 class LLPanelDirPopular;
00050 
00051 class LLPanelAvatar;
00052 class LLPanelEvent;
00053 class LLPanelGroup;
00054 class LLPanelPlace;
00055 class LLPanelClassified;
00056 
00057 // Floater to find people, places, things
00058 class LLFloaterDirectory : public LLFloater
00059 {
00060 public: 
00061         LLFloaterDirectory(const std::string& name);
00062         /*virtual*/ ~LLFloaterDirectory();
00063 
00064         /*virtual*/ void setVisible(BOOL visible);
00065 
00066         // Used for toggling God mode, which changes to visibility of 
00067         // some picks.
00068         static void requestClassifieds();
00069 
00070         // Outside UI widgets can spawn this floater with various tabs
00071         // selected.
00072         static void showFindAll(const std::string& search_text);
00073         static void showClassified(const LLUUID& classified_id);
00074         static void showEvents(S32 event_id);
00075         static void showPopular(const LLUUID& parcel_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         static void onTabChangedFindAll(void*, bool);
00085 
00086         void hideAllDetailPanels();
00087 
00088 private:
00089         static void showPanel(const std::string& tabname);
00090         /*virtual*/ void onClose(bool app_quitting);
00091         void focusCurrentPanel();
00092 
00093 private:
00094         // Some special "showByID" functions use these cached pointers.
00095         // They could be replaced by getPanelByName(), perhaps. JC
00096         LLPanelDirFindAll* mFindAllPanel;
00097         LLPanelDirClassified* mClassifiedPanel;
00098         LLPanelDirEvents* mEventsPanel;
00099         LLPanelDirPopular* mPopularPanel;
00100         LLPanelDirLand* mLandPanel;
00101 
00102         static void* createFindAll(void* userdata);
00103         static void* createClassified(void* userdata);
00104         static void* createEvents(void* userdata);
00105         static void* createPopular(void* userdata);
00106         static void* createPlaces(void* userdata);
00107         static void* createLand(void* userdata);
00108         static void* createPeople(void* userdata);
00109         static void* createGroups(void* userdata);
00110         static void* createFindAllOld(void* userdata);
00111 
00112         static void* createClassifiedDetail(void* userdata);
00113         static void* createAvatarDetail(void* userdata);
00114         static void* createEventDetail(void* userdata);
00115         static void* createGroupDetail(void* userdata);
00116         static void* createGroupDetailHolder(void* userdata);
00117         static void* createPlaceDetail(void* userdata);
00118         static void* createPlaceDetailSmall(void* userdata);
00119 
00120         static  void*   createPanelAvatar(void* data);
00121         
00122 public:
00123         LLPanelAvatar*          mPanelAvatarp;
00124         LLPanelEvent*           mPanelEventp;
00125         LLPanelGroup*           mPanelGroupp;
00126         LLPanel*                        mPanelGroupHolderp;
00127         LLPanelPlace*           mPanelPlacep;
00128         LLPanelPlace*           mPanelPlaceSmallp;
00129         LLPanelClassified*      mPanelClassifiedp;
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 Thu Jul 1 06:08:33 2010 for Second Life Viewer by  doxygen 1.4.7