llpanelplace.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLPANELPLACE_H
00033 #define LL_LLPANELPLACE_H
00034 
00035 #include "llpanel.h"
00036 
00037 #include "v3dmath.h"
00038 #include "lluuid.h"
00039 
00040 class LLButton;
00041 class LLTextBox;
00042 class LLLineEditor;
00043 class LLTextEditor;
00044 class LLTextureCtrl;
00045 class LLMessageSystem;
00046 class LLInventoryItem;
00047 
00048 class LLPanelPlace : public LLPanel
00049 {
00050 public:
00051         LLPanelPlace();
00052         /*virtual*/ ~LLPanelPlace();
00053 
00054         /*virtual*/ BOOL postBuild();
00055 
00056         void resetLocation();
00057                 // Ignore all old location information, useful if you are 
00058                 // recycling an existing dialog and need to clear it.
00059 
00060         void setParcelID(const LLUUID& parcel_id);
00061                 // Sends a request for data about the given parcel, which will
00062                 // only update the location if there is none already available.
00063 
00064         void displayItemInfo(const LLInventoryItem* pItem);
00065         void setRegionID(const LLUUID& region_id) { mRegionID = region_id; }
00066         void setSnapshot(const LLUUID& snapshot_id);
00067         void setLocationString(const std::string& location);
00068         void setErrorStatus(U32 status, const std::string& reason);
00069 
00070         void sendParcelInfoRequest();
00071         void displayParcelInfo(const LLVector3& pos_region,
00072                         const LLUUID& landmark_asset_id,
00073                         const LLUUID& region_id,
00074                         const LLVector3d& pos_global);
00075         static void processParcelInfoReply(LLMessageSystem* msg, void**);
00076 
00077 protected:
00078         static void onClickTeleport(void* data);
00079         static void onClickMap(void* data);
00080         //static void onClickLandmark(void* data);
00081         static void onClickAuction(void* data);
00082 
00083         // Go to auction web page if user clicked OK
00084         static void callbackAuctionWebPage(S32 option, void* data);
00085 
00086 protected:
00087         LLUUID                  mParcelID;
00088         LLUUID                  mRequestedID;
00089         LLUUID                  mRegionID;
00090         LLUUID                  mLandmarkAssetID;
00091         // Absolute position of the location for teleport, may not
00092         // be available (hence zero)
00093         LLVector3d              mPosGlobal;
00094         // Region-local position for teleport, always available.
00095         LLVector3               mPosRegion;
00096         // Zero if this is not an auction
00097         S32                             mAuctionID;
00098 
00099         LLTextureCtrl* mSnapshotCtrl;
00100 
00101         LLTextBox* mNameEditor;
00102         LLTextEditor* mDescEditor;
00103         LLTextBox* mInfoEditor;
00104         LLTextBox* mLocationEditor;
00105 
00106         LLButton*       mTeleportBtn;
00107         LLButton*       mMapBtn;
00108         //LLButton*     mLandmarkBtn;
00109         LLButton*       mAuctionBtn;
00110 
00111         typedef std::list<LLPanelPlace*> panel_list_t;
00112         static panel_list_t sAllPanels;
00113 };
00114 
00115 #endif // LL_LLPANELPLACE_H

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