diff options
author | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
commit | 420b91db29485df39fd6e724e782c449158811cb (patch) | |
tree | b471a94563af914d3ed3edd3e856d21cb1b69945 /indra/newview/llpanelclassified.h |
Print done when done.
Diffstat (limited to 'indra/newview/llpanelclassified.h')
-rw-r--r-- | indra/newview/llpanelclassified.h | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h new file mode 100644 index 0000000000..e3e7a299bf --- /dev/null +++ b/indra/newview/llpanelclassified.h @@ -0,0 +1,148 @@ +/** + * @file llpanelclassified.h + * @brief LLPanelClassified class definition + * + * Copyright (c) 2005-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +// Display of a classified used both for the global view in the +// Find directory, and also for each individual user's classified in their +// profile. + +#ifndef LL_LLPANELCLASSIFIED_H +#define LL_LLPANELCLASSIFIED_H + +#include "llpanel.h" +#include "llclassifiedinfo.h" +#include "v3dmath.h" +#include "lluuid.h" +#include "llfloater.h" +//#include "llrect.h" + +class LLButton; +class LLCheckBoxCtrl; +class LLComboBox; +class LLIconCtrl; +class LLLineEditor; +class LLTextBox; +class LLTextEditor; +class LLTextureCtrl; +class LLUICtrl; +class LLMessageSystem; + +class LLPanelClassified : public LLPanel +{ +public: + LLPanelClassified(BOOL in_finder); + /*virtual*/ ~LLPanelClassified(); + + void reset(); + + /*virtual*/ BOOL postBuild(); + + /*virtual*/ void draw(); + + void refresh(); + + void apply(); + + // Setup a new classified, including creating an id, giving a sane + // initial position, etc. + void initNewClassified(); + + void setClassifiedID(const LLUUID& id); + static void setClickThrough(const LLUUID& classified_id, + S32 teleport, S32 map, S32 profile); + + // Schedules the panel to request data + // from the server next time it is drawn. + void markForServerRequest(); + + std::string getClassifiedName(); + const LLUUID& getClassifiedID() const { return mClassifiedID; } + + void sendClassifiedInfoRequest(); + void sendClassifiedInfoUpdate(); + + static void processClassifiedInfoReply(LLMessageSystem* msg, void**); + + static void callbackGotPriceForListing(S32 option, LLString text, void* data); + static void callbackConfirmPublish(S32 option, void* data); + +protected: + static void onClickUpdate(void* data); + static void onClickTeleport(void* data); + static void onClickMap(void* data); + static void onClickProfile(void* data); + static void onClickSet(void* data); + + static void onFocusReceived(LLUICtrl* ctrl, void* data); + static void onCommitAny(LLUICtrl* ctrl, void* data); + + void sendClassifiedClickMessage(const char* type); + +protected: + BOOL mInFinder; + LLUUID mClassifiedID; + LLUUID mRequestedID; + LLUUID mCreatorID; + LLUUID mParcelID; + S32 mPriceForListing; + + // Data will be requested on first draw + BOOL mDataRequested; + BOOL mEnableCommit; + + // For avatar panel classifieds only, has the user been charged + // yet for this classified? That is, have they saved once? + BOOL mPaidFor; + + LLString mSimName; + LLVector3d mPosGlobal; + + LLTextureCtrl* mSnapshotCtrl; + LLLineEditor* mNameEditor; + LLLineEditor* mDateEditor; + LLTextEditor* mDescEditor; + LLLineEditor* mLocationEditor; + LLComboBox* mCategoryCombo; + + LLButton* mUpdateBtn; + LLButton* mTeleportBtn; + LLButton* mMapBtn; + LLButton* mProfileBtn; + + LLTextBox* mInfoText; + LLCheckBoxCtrl* mMatureCheck; + LLCheckBoxCtrl* mAutoRenewCheck; + LLButton* mSetBtn; + LLTextBox* mClickThroughText; + + LLRect mSnapshotSize; + static LLLinkedList<LLPanelClassified> sAllPanels; +}; + + +class LLFloaterPriceForListing +: public LLFloater +{ +public: + LLFloaterPriceForListing(); + virtual ~LLFloaterPriceForListing(); + virtual BOOL postBuild(); + + static void show( void (*callback)(S32 option, LLString value, void* userdata), void* userdata ); + +private: + static void onClickSetPrice(void*); + static void onClickCancel(void*); + static void buttonCore(S32 button, void* data); + +private: + void (*mCallback)(S32 option, LLString, void*); + void* mUserData; +}; + + +#endif // LL_LLPANELCLASSIFIED_H |