summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterobjectweights.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterobjectweights.h')
-rw-r--r--indra/newview/llfloaterobjectweights.h29
1 files changed, 27 insertions, 2 deletions
diff --git a/indra/newview/llfloaterobjectweights.h b/indra/newview/llfloaterobjectweights.h
index 10e35ad7a7..50d028909e 100644
--- a/indra/newview/llfloaterobjectweights.h
+++ b/indra/newview/llfloaterobjectweights.h
@@ -29,22 +29,40 @@
#include "llfloater.h"
+#include "llaccountingcostmanager.h"
+
+class LLLandImpactsObserver;
+class LLObjectSelection;
+class LLParcelSelection;
class LLTextBox;
-class LLFloaterObjectWeights : public LLFloater
+class LLFloaterObjectWeights : public LLFloater, LLAccountingCostObserver
{
public:
LOG_CLASS(LLFloaterObjectWeights);
+ typedef LLSafeHandle<LLObjectSelection> LLObjectSelectionHandle;
+ typedef LLSafeHandle<LLParcelSelection> LLParcelSelectionHandle;
+
LLFloaterObjectWeights(const LLSD& key);
~LLFloaterObjectWeights();
/*virtual*/ BOOL postBuild();
/*virtual*/ void onOpen(const LLSD& key);
+ /*virtual*/ void onClose(bool app_quitting);
+
+ /*virtual*/ void onWeightsUpdate(const SelectionCost& selection_cost);
+ /*virtual*/ void setErrorStatus(U32 status, const std::string& reason);
+
+ void updateLandImpacts();
private:
- void toggleLoadingIndicators(bool visible);
+ void refresh();
+
+ void toggleWeightsLoadingIndicators(bool visible);
+ void toggleLandImpactsLoadingIndicators(bool visible);
+
void updateIfNothingSelected();
LLTextBox *mSelectedObjects;
@@ -59,6 +77,13 @@ private:
LLTextBox *mRezzedOnLand;
LLTextBox *mRemainingCapacity;
LLTextBox *mTotalCapacity;
+
+ LLLandImpactsObserver *mLandImpactsObserver;
+
+ LLObjectSelectionHandle mObjectSelection;
+ LLParcelSelectionHandle mParcelSelection;
+
+ boost::signals2::connection mSelectMgrConnection;
};
#endif //LL_LLFLOATEROBJECTWEIGHTS_H