diff options
Diffstat (limited to 'indra/newview/llpanelclassified.h')
-rw-r--r-- | indra/newview/llpanelclassified.h | 109 |
1 files changed, 104 insertions, 5 deletions
diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h index 9e33e55b88..1157649a16 100644 --- a/indra/newview/llpanelclassified.h +++ b/indra/newview/llpanelclassified.h @@ -202,8 +202,26 @@ private: void* mUserData; }; +class LLPublishClassifiedFloater : public LLFloater +{ +public: + LLPublishClassifiedFloater(const LLSD& key); + virtual ~LLPublishClassifiedFloater(); + + /*virtual*/ BOOL postBuild(); + + void setPrice(S32 price); + S32 getPrice(); + + void setPublishClickedCallback(const commit_signal_t::slot_type& cb); + void setCancelClickedCallback(const commit_signal_t::slot_type& cb); + +private: +}; + class LLPanelClassifiedInfo : public LLPanel, public LLAvatarPropertiesObserver { + LOG_CLASS(LLPanelClassifiedInfo); public: static LLPanelClassifiedInfo* create(); @@ -238,6 +256,8 @@ public: void setClassifiedLocation(const std::string& location); + std::string getClassifiedLocation(); + void setPosGlobal(const LLVector3d& pos) { mPosGlobal = pos; } LLVector3d& getPosGlobal() { return mPosGlobal; } @@ -246,16 +266,41 @@ public: LLUUID getParcelId() { return mParcelId; } + void setSimName(const std::string& sim_name) { mSimName = sim_name; } + + std::string getSimName() { return mSimName; } + + void setFromSearch(bool val) { mFromSearch = val; } + + bool fromSearch() { return mFromSearch; } + bool getInfoLoaded() { return mInfoLoaded; } void setInfoLoaded(bool loaded) { mInfoLoaded = loaded; } + static void setClickThrough( + const LLUUID& classified_id, + S32 teleport, + S32 map, + S32 profile, + bool from_new_table); + + static void sendClickMessage( + const std::string& type, + bool from_search, + const LLUUID& classified_id, + const LLUUID& parcel_id, + const LLVector3d& global_pos, + const std::string& sim_name); + void setExitCallback(const commit_callback_t& cb); void setEditClassifiedCallback(const commit_callback_t& cb); /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + /*virtual*/ void draw(); + protected: LLPanelClassifiedInfo(); @@ -269,16 +314,29 @@ protected: const std::string& sim_name, const LLVector3d& pos_global); + void stretchSnapshot(); + void sendClickMessage(const std::string& type); + + LLRect getDefaultSnapshotRect(); + + void scrollToTop(); + void onMapClick(); void onTeleportClick(); void onExit(); + bool mSnapshotStreched; + LLRect mSnapshotRect; + LLTextureCtrl* mSnapshotCtrl; + private: LLUUID mAvatarId; LLUUID mClassifiedId; LLVector3d mPosGlobal; LLUUID mParcelId; + std::string mSimName; + bool mFromSearch; bool mInfoLoaded; LLScrollContainer* mScrollContainer; @@ -286,10 +344,22 @@ private: S32 mScrollingPanelMinHeight; S32 mScrollingPanelWidth; + + // Needed for stat tracking + S32 mTeleportClicksOld; + S32 mMapClicksOld; + S32 mProfileClicksOld; + S32 mTeleportClicksNew; + S32 mMapClicksNew; + S32 mProfileClicksNew; + + typedef std::list<LLPanelClassifiedInfo*> panel_list_t; + static panel_list_t sAllPanels; }; class LLPanelClassifiedEdit : public LLPanelClassifiedInfo { + LOG_CLASS(LLPanelClassifiedEdit); public: static LLPanelClassifiedEdit* create(); @@ -298,6 +368,8 @@ public: /*virtual*/ BOOL postBuild(); + void fillIn(const LLSD& key); + /*virtual*/ void onOpen(const LLSD& key); /*virtual*/ void processProperties(void* data, EAvatarProcessorType type); @@ -306,31 +378,47 @@ public: /*virtual*/ void resetDirty(); - void setSaveCallback(const commit_callback_t& cb); + void setSaveCallback(const commit_signal_t::slot_type& cb); - void setCancelCallback(const commit_callback_t& cb); + void setCancelCallback(const commit_signal_t::slot_type& cb); /*virtual*/ void resetControls(); bool isNew() { return mIsNew; } + bool isNewWithErrors() { return mIsNewWithErrors; } + bool canClose(); + void draw(); + + void stretchSnapshot(); + + U32 getCategory(); + + void setCategory(U32 category); + + U32 getContentType(); + + void setContentType(U32 content_type); + + bool getAutoRenew(); + + S32 getPriceForListing(); + protected: LLPanelClassifiedEdit(); void sendUpdate(); - U32 getCategory(); - void enableVerbs(bool enable); void enableEditing(bool enable); std::string makeClassifiedName(); - S32 getPriceForListing(); + void setPriceForListing(S32 price); U8 getFlags(); @@ -344,12 +432,23 @@ protected: void onChange(); void onSaveClick(); + void doSave(); + + void onPublishFloaterPublishClicked(); + void onTexturePickerMouseEnter(LLUICtrl* ctrl); void onTexturePickerMouseLeave(LLUICtrl* ctrl); + void onTextureSelected(); + private: bool mIsNew; + bool mIsNewWithErrors; bool mCanClose; + + LLPublishClassifiedFloater* mPublishFloater; + + commit_signal_t mSaveButtonClickedSignal; }; #endif // LL_LLPANELCLASSIFIED_H |