summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelclassified.h
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2007-01-02 08:33:20 +0000
committerJames Cook <james@lindenlab.com>2007-01-02 08:33:20 +0000
commit420b91db29485df39fd6e724e782c449158811cb (patch)
treeb471a94563af914d3ed3edd3e856d21cb1b69945 /indra/newview/llpanelclassified.h
Print done when done.
Diffstat (limited to 'indra/newview/llpanelclassified.h')
-rw-r--r--indra/newview/llpanelclassified.h148
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