llpreviewlandmark.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLPREVIEWLANDMARK_H
00033 #define LL_LLPREVIEWLANDMARK_H
00034 
00035 #include <deque>
00036 
00037 #include "lllandmark.h"
00038 
00039 #include "llfloater.h"
00040 #include "llmap.h"
00041 #include "llstring.h"
00042 #include "lluuid.h"
00043 #include "v3dmath.h"
00044 #include "v4coloru.h"
00045 
00046 #include "llhudtext.h"
00047 #include "llpreview.h"
00048 
00049 class LLIconCtrl;
00050 class LLInventoryItem;
00051 class LLLandmarkList;
00052 class LLLineEditor;
00053 class LLMessageSystem;
00054 class LLPreviewLandmark;
00055 class LLPanelPlace;
00056 
00057 const S32 PREVIEW_LANDMARK_NUM_COLORS = 6;
00058 
00059 typedef std::deque< LLPreviewLandmark* > LLPreviewLandmarkList;
00060 
00061 class LLPreviewLandmark : public LLPreview
00062 {
00063 public:
00064         LLPreviewLandmark(const std::string& name, const LLRect& rect, const std::string& title,
00065                                           const LLUUID& item_uuid,
00066                                           BOOL show_keep_discard = FALSE,
00067                                           LLViewerInventoryItem* inv_item = NULL);
00068         virtual ~LLPreviewLandmark();
00069 
00070         /*virtual*/ void                        draw();
00071 
00072         const LLString&                         getName() const;
00073         const LLColor4&                         getMarkerColor() const;
00074 
00075         LLVector3d getPositionGlobal() const;
00076 
00077         //static S32 getNumInstances() { return LLPreviewLandmark::sOrderedInstances.getLength(); }
00078         //static const LLPreviewLandmark* getFirst() { return LLPreviewLandmark::sOrderedInstances.getFirstData(); }
00079         //static const LLPreviewLandmark* getNext() { return LLPreviewLandmark::sOrderedInstances.getNextData(); }
00080 
00081         static void* createPlaceDetail(void* userdata);
00082 
00083         /*virtual*/ void loadAsset();
00084         /*virtual*/ EAssetStatus getAssetStatus();
00085 
00086 protected:
00087         void getDegreesAndDist(F32* degrees, F64* horiz_dist, F64* vert_dist) const;
00088 
00089 private:
00090 //      void renderBeacon();
00091 //      LLPointer<LLHUDText> mBeaconText;
00092 
00093         LLIconCtrl*     mIconLandmark;
00094         LLPanelPlace* mPlacePanel;
00095         LLLandmark* mLandmark;
00096         LLColor4 mMarkerColor;
00097 
00098         //static        LLDoubleLinkedList< LLPreviewLandmark > sOrderedInstances;
00099         static LLPreviewLandmarkList sOrderedInstances;
00100 };
00101 
00102 #endif

Generated on Thu Jul 1 06:09:02 2010 for Second Life Viewer by  doxygen 1.4.7