summaryrefslogtreecommitdiff
path: root/indra/newview/llparcelselection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llparcelselection.cpp')
-rw-r--r--indra/newview/llparcelselection.cpp83
1 files changed, 83 insertions, 0 deletions
diff --git a/indra/newview/llparcelselection.cpp b/indra/newview/llparcelselection.cpp
new file mode 100644
index 0000000000..5478a96b97
--- /dev/null
+++ b/indra/newview/llparcelselection.cpp
@@ -0,0 +1,83 @@
+/**
+ * @file llparcelselection.cpp
+ * @brief Information about the currently selected parcel
+ *
+ * Copyright (c) 2007-$CurrentYear$, Linden Research, Inc.
+ * $License$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llparcelselection.h"
+
+#include "llparcel.h"
+
+
+// static
+LLPointer<LLParcelSelection> LLParcelSelection::sNullSelection;
+
+template<>
+ const LLHandle<LLParcelSelection>::NullFunc
+ LLHandle<LLParcelSelection>::sNullFunc =
+ LLParcelSelection::getNullParcelSelection;
+
+//
+// LLParcelSelection
+//
+LLParcelSelection::LLParcelSelection() :
+ mParcel(NULL),
+ mSelectedMultipleOwners(FALSE),
+ mWholeParcelSelected(FALSE),
+ mSelectedSelfCount(0),
+ mSelectedOtherCount(0),
+ mSelectedPublicCount(0)
+{
+}
+
+LLParcelSelection::LLParcelSelection(LLParcel* parcel) :
+ mParcel(parcel),
+ mSelectedMultipleOwners(FALSE),
+ mWholeParcelSelected(FALSE),
+ mSelectedSelfCount(0),
+ mSelectedOtherCount(0),
+ mSelectedPublicCount(0)
+{
+}
+
+LLParcelSelection::~LLParcelSelection()
+{
+}
+
+BOOL LLParcelSelection::getMultipleOwners() const
+{
+ return mSelectedMultipleOwners;
+}
+
+
+BOOL LLParcelSelection::getWholeParcelSelected() const
+{
+ return mWholeParcelSelected;
+}
+
+
+S32 LLParcelSelection::getClaimableArea() const
+{
+ const S32 UNIT_AREA = S32( PARCEL_GRID_STEP_METERS * PARCEL_GRID_STEP_METERS );
+ return mSelectedPublicCount * UNIT_AREA;
+}
+
+bool LLParcelSelection::hasOthersSelected() const
+{
+ return mSelectedOtherCount != 0;
+}
+
+// static
+LLParcelSelection* LLParcelSelection::getNullParcelSelection()
+{
+ if (sNullSelection.isNull())
+ {
+ sNullSelection = new LLParcelSelection;
+ }
+
+ return sNullSelection;
+}