diff options
Diffstat (limited to 'indra/newview/llfloaterdebugmaterials.h')
-rw-r--r-- | indra/newview/llfloaterdebugmaterials.h | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/indra/newview/llfloaterdebugmaterials.h b/indra/newview/llfloaterdebugmaterials.h index 6ada255015..565e440187 100644 --- a/indra/newview/llfloaterdebugmaterials.h +++ b/indra/newview/llfloaterdebugmaterials.h @@ -29,6 +29,7 @@ #include <string> +#include <boost/shared_ptr.hpp> #include <boost/signals2.hpp> #include "llfloater.h" @@ -46,6 +47,9 @@ class LLSpinCtrl; class LLTextBase; class LLTextureCtrl; class LLUICtrl; +class MultiMaterialsResponder; + +typedef boost::shared_ptr<MultiMaterialsResponder> MultiMaterialsResponderPtr; class LLFloaterDebugMaterials : public LLFloater { @@ -55,6 +59,8 @@ public: virtual void onOpen(const LLSD& pKey); virtual void onClose(bool pIsAppQuitting); + virtual void draw(); + protected: private: @@ -79,15 +85,15 @@ private: void onPutClearClicked(); void onResetPutValuesClicked(); void onQueryVisibleObjectsClicked(); - void onGoodPostClicked(); - void onBadPostClicked(); + void onPostClicked(); void onRegionCross(); void onInWorldSelectionChange(); void onGetScrollListSelectionChange(LLUICtrl* pUICtrl); + void onPostScrollListSelectionChange(LLUICtrl* pUICtrl); + void onViewableObjectsScrollListSelectionChange(); void onDeferredCheckRegionMaterialStatus(LLUUID regionId); void onDeferredRequestGetMaterials(LLUUID regionId); void onDeferredRequestPutMaterials(LLUUID regionId, bool pIsDoSet); - void onDeferredRequestPostMaterials(LLUUID regionId, bool pUseGoodData); void onGetResponse(bool pRequestStatus, const LLSD& pContent); void onPutResponse(bool pRequestStatus, const LLSD& pContent); void onPostResponse(bool pRequestStatus, const LLSD& pContent); @@ -101,15 +107,12 @@ private: void requestPutMaterials(bool pIsDoSet); void requestPutMaterials(const LLUUID& regionId, bool pIsDoSet); - void requestPostMaterials(bool pUseGoodData); - void requestPostMaterials(const LLUUID& regionId, bool pUseGoodData); + void requestPostMaterials(); - void queryViewableObjects(); - - void parseGetResponse(const LLSD& pContent); + void parseGetResponse(); void parsePutResponse(const LLSD& pContent); - void parsePostResponse(const LLSD& pContent); - void printResponse(const std::string& pRequestType, const LLSD& pContent) const; + void parseQueryViewableObjects(); + void parsePostResponse(const LLSD& pMultiContent); void setState(EState pState); inline EState getState() const; @@ -120,6 +123,14 @@ private: void clearPostResults(); void clearViewableObjectsResults(); + void setUnparsedGetData(const LLSD& pGetData); + void clearUnparsedGetData(); + void updateGetParsingStatus(); + + void setUnparsedQueryData(); + void clearUnparsedQueryData(); + void updateQueryParsingStatus(); + void updateStatusMessage(); void updateControls(); std::string convertToPrintableMaterialID(const LLSD& pBinaryHash) const; @@ -146,6 +157,7 @@ private: LLTextBase* mStatusText; LLButton* mGetButton; + LLTextBase* mParsingStatusText; LLScrollListCtrl* mGetNormalMapScrollList; LLScrollListCtrl* mGetSpecularMapScrollList; LLScrollListCtrl* mGetOtherDataScrollList; @@ -171,9 +183,9 @@ private: LLButton* mPutClearButton; LLScrollListCtrl* mPutScrollList; LLButton* mQueryViewableObjectsButton; + LLTextBase* mQueryStatusText; LLScrollListCtrl* mViewableObjectsScrollList; - LLButton* mGoodPostButton; - LLButton* mBadPostButton; + LLButton* mPostButton; LLScrollListCtrl* mPostNormalMapScrollList; LLScrollListCtrl* mPostSpecularMapScrollList; LLScrollListCtrl* mPostOtherDataScrollList; @@ -187,8 +199,13 @@ private: boost::signals2::connection mRegionCrossConnection; boost::signals2::connection mTeleportFailedConnection; boost::signals2::connection mSelectionUpdateConnection; -}; + LLSD mUnparsedGetData; + S32 mNextUnparsedGetDataIndex; + + S32 mNextUnparsedQueryDataIndex; + MultiMaterialsResponderPtr mMultiMaterialsResponder; +}; LLFloaterDebugMaterials::EState LLFloaterDebugMaterials::getState() const |