summaryrefslogtreecommitdiff
path: root/indra/newview/lllocationinputctrl.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/lllocationinputctrl.h')
-rw-r--r--indra/newview/lllocationinputctrl.h59
1 files changed, 55 insertions, 4 deletions
diff --git a/indra/newview/lllocationinputctrl.h b/indra/newview/lllocationinputctrl.h
index c74a294ca3..4bb41f3bf4 100644
--- a/indra/newview/lllocationinputctrl.h
+++ b/indra/newview/lllocationinputctrl.h
@@ -33,13 +33,16 @@
#ifndef LL_LLLOCATIONINPUTCTRL_H
#define LL_LLLOCATIONINPUTCTRL_H
-#include <llcombobox.h>
+#include "llcombobox.h"
+#include "lliconctrl.h" // Params
+#include "lltextbox.h" // Params
class LLLandmark;
// internals
class LLAddLandmarkObserver;
class LLRemoveLandmarkObserver;
+class LLParcelChangeObserver;
class LLMenuGL;
class LLTeleportHistoryItem;
@@ -54,18 +57,31 @@ class LLLocationInputCtrl
LOG_CLASS(LLLocationInputCtrl);
friend class LLAddLandmarkObserver;
friend class LLRemoveLandmarkObserver;
+ friend class LLParcelChangeObserver;
public:
struct Params
: public LLInitParam::Block<Params, LLComboBox::Params>
{
- Optional<LLUIImage*> add_landmark_image_enabled,
+ Optional<LLUIImage*> icon_maturity_general,
+ icon_maturity_adult,
+ add_landmark_image_enabled,
add_landmark_image_disabled,
add_landmark_image_hover,
add_landmark_image_selected;
- Optional<S32> add_landmark_hpad;
+ Optional<S32> icon_hpad,
+ add_landmark_hpad;
Optional<LLButton::Params> add_landmark_button,
+ for_sale_button,
info_button;
+ Optional<LLIconCtrl::Params> maturity_icon,
+ voice_icon,
+ fly_icon,
+ push_icon,
+ build_icon,
+ scripts_icon,
+ damage_icon;
+ Optional<LLTextBox::Params> damage_text;
Params();
};
@@ -76,6 +92,7 @@ public:
/*virtual*/ void onFocusReceived();
/*virtual*/ void onFocusLost();
/*virtual*/ void draw();
+ /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
//========================================================================
// LLUICtrl interface
@@ -91,6 +108,18 @@ public:
void handleLoginComplete();
private:
+
+ enum EParcelIcon
+ {
+ VOICE_ICON = 0,
+ FLY_ICON,
+ PUSH_ICON,
+ BUILD_ICON,
+ SCRIPTS_ICON,
+ DAMAGE_ICON,
+ ICON_COUNT
+ };
+
friend class LLUICtrlFactory;
LLLocationInputCtrl(const Params&);
virtual ~LLLocationInputCtrl();
@@ -103,10 +132,16 @@ private:
void enableAddLandmarkButton(bool val);
void refresh();
void refreshLocation();
+ void refreshParcelIcons();
+ // Refresh the value in the health percentage text field
+ void refreshHealth();
+ void positionMaturityIcon();
+
void rebuildLocationHistory(std::string filter = "");
bool findTeleportItemsByTitle(const LLTeleportHistoryItem& item, const std::string& filter);
void setText(const LLStringExplicit& text);
void updateAddLandmarkButton();
+ void updateAddLandmarkTooltip();
void updateContextMenu();
void updateWidgetlayout();
void changeLocationPresentation();
@@ -116,27 +151,43 @@ private:
void onLocationPrearrange(const LLSD& data);
void onTextEditorRightClicked(S32 x, S32 y, MASK mask);
void onLandmarkLoaded(LLLandmark* lm);
+ void onForSaleButtonClicked();
void onAddLandmarkButtonClicked();
void onAgentParcelChange();
// callbacks
bool onLocationContextMenuItemEnabled(const LLSD& userdata);
void onLocationContextMenuItemClicked(const LLSD& userdata);
+ void onParcelIconClick(EParcelIcon icon);
LLMenuGL* mLocationContextMenu;
LLButton* mAddLandmarkBtn;
+ LLButton* mForSaleBtn;
LLButton* mInfoBtn;
- S32 mAddLandmarkHPad;
+ S32 mIconHPad; // pad between all icons
+ S32 mAddLandmarkHPad; // pad to left of landmark star
+
+ LLIconCtrl* mMaturityIcon;
+ LLIconCtrl* mParcelIcon[ICON_COUNT];
+ LLTextBox* mDamageText;
LLAddLandmarkObserver* mAddLandmarkObserver;
LLRemoveLandmarkObserver* mRemoveLandmarkObserver;
+ LLParcelChangeObserver* mParcelChangeObserver;
+ boost::signals2::connection mCoordinatesControlConnection;
+ boost::signals2::connection mParcelPropertiesControlConnection;
boost::signals2::connection mParcelMgrConnection;
boost::signals2::connection mLocationHistoryConnection;
LLUIImage* mLandmarkImageOn;
LLUIImage* mLandmarkImageOff;
+ LLUIImage* mIconMaturityGeneral;
+ LLUIImage* mIconMaturityAdult;
std::string mAddLandmarkTooltip;
std::string mEditLandmarkTooltip;
+ // this field holds a human-readable form of the location string, it is needed to be able to compare copy-pated value and real location
+ std::string mHumanReadableLocation;
+ bool isHumanReadableLocationVisible;
};
#endif