summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelplaceinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelplaceinfo.h')
-rw-r--r--indra/newview/llpanelplaceinfo.h54
1 files changed, 42 insertions, 12 deletions
diff --git a/indra/newview/llpanelplaceinfo.h b/indra/newview/llpanelplaceinfo.h
index f88e29bc91..f06a2d1fb7 100644
--- a/indra/newview/llpanelplaceinfo.h
+++ b/indra/newview/llpanelplaceinfo.h
@@ -1,5 +1,5 @@
/**
- * @file llpanelplace.h
+ * @file llpanelplaceinfo.h
* @brief Displays place information in Side Tray.
*
* $LicenseInfo:firstyear=2009&license=viewergpl$
@@ -40,50 +40,75 @@
#include "lliconctrl.h"
+#include "llpanelmedia.h"
#include "llremoteparcelrequest.h"
class LLButton;
-class LLTextBox;
+class LLInventoryItem;
class LLLineEditor;
+class LLTextBox;
class LLTextEditor;
class LLTextureCtrl;
-class LLInventoryItem;
class LLPanelPlaceInfo : public LLPanel, LLRemoteParcelInfoObserver
{
public:
+ enum INFO_TYPE
+ {
+ CREATE_LANDMARK,
+ PLACE,
+ LANDMARK,
+ TELEPORT_HISTORY
+ };
+
LLPanelPlaceInfo();
/*virtual*/ ~LLPanelPlaceInfo();
/*virtual*/ BOOL postBuild();
+ // Ignore all old location information, useful if you are
+ // recycling an existing dialog and need to clear it.
void resetLocation();
- // Ignore all old location information, useful if you are
- // recycling an existing dialog and need to clear it.
+ // Sends a request for data about the given parcel, which will
+ // only update the location if there is none already available.
/*virtual*/ void setParcelID(const LLUUID& parcel_id);
- // Sends a request for data about the given parcel, which will
- // only update the location if there is none already available.
+ // Depending on how the panel was triggered
+ // (from landmark or current location, or other)
+ // sets a corresponding title and contents.
+ void setInfoType(INFO_TYPE type);
+
+ BOOL isMediaPanelVisible();
+ void toggleMediaPanel(BOOL visible);
void displayItemInfo(const LLInventoryItem* pItem);
/*virtual*/ void setErrorStatus(U32 status, const std::string& reason);
void sendParcelInfoRequest();
+
+ // Displays information about a remote parcel.
+ // Sends a request to the server.
void displayParcelInfo(const LLVector3& pos_region,
const LLUUID& region_id,
const LLVector3d& pos_global);
+
+ // Displays information about the parcel the agent is currently on
+ // without sending a request to the server.
+ void displayAgentParcelInfo();
+
void nameUpdatedCallback(LLTextBox* text,
const std::string& first,
const std::string& last);
/*virtual*/ void processParcelInfo(const LLParcelData& parcel_data);
+ /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
private:
enum LANDMARK_INFO_TYPE
- {
- TITLE,
- NOTE
- };
+ {
+ TITLE,
+ NOTE
+ };
void onCommitTitleOrNote(LANDMARK_INFO_TYPE type);
@@ -91,7 +116,10 @@ private:
LLUUID mRequestedID;
LLUUID mLandmarkID;
LLVector3 mPosRegion;
+ std::string mCurrentTitle;
+ S32 mMinHeight;
+ LLTextBox* mTitle;
LLTextureCtrl* mSnapshotCtrl;
LLTextBox* mRegionName;
LLTextBox* mParcelName;
@@ -102,8 +130,10 @@ private:
LLTextBox* mCreated;
LLLineEditor* mTitleEditor;
LLTextEditor* mNotesEditor;
- LLTextBox* mLocationEditor;
+ LLTextBox* mLocationEditor;
+ LLPanel* mScrollingPanel;
LLPanel* mInfoPanel;
+ LLMediaPanel* mMediaPanel;
};
#endif // LL_LLPANELPLACEINFO_H