summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatermap.cpp
diff options
context:
space:
mode:
authorChristian Goetze <cg@lindenlab.com>2009-03-13 21:28:40 +0000
committerChristian Goetze <cg@lindenlab.com>2009-03-13 21:28:40 +0000
commit1aa0416aef379bb3ad1012441588b6d7fab81b40 (patch)
tree14a247470bd0d508aba923dc00e940b961d304da /indra/newview/llfloatermap.cpp
parent7573288ab3ede23f97bff2f5caefcb622e7e9842 (diff)
svn merge -r114093:114412 svn+ssh://svn.lindenlab.com/svn/linden/branches/featurettes/featurettes-batch5-merge
Melinda (coco): 5th and final batch of featurettes. My work here is done.
Diffstat (limited to 'indra/newview/llfloatermap.cpp')
-rw-r--r--indra/newview/llfloatermap.cpp142
1 files changed, 25 insertions, 117 deletions
diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp
index 6ad6e0c275..3b1e4c7ac7 100644
--- a/indra/newview/llfloatermap.cpp
+++ b/indra/newview/llfloatermap.cpp
@@ -32,120 +32,43 @@
#include "llviewerprecompiledheaders.h"
-// self include
#include "llfloatermap.h"
-// Library includes
-#include "llfontgl.h"
-#include "llinventory.h"
-#include "message.h"
-
-// Viewer includes
#include "llagent.h"
#include "llcolorscheme.h"
#include "llviewercontrol.h"
#include "lldraghandle.h"
-#include "lleconomy.h"
-#include "llfloaterworldmap.h"
-#include "llfocusmgr.h"
#include "llnetmap.h"
#include "llregionhandle.h"
#include "llresizebar.h"
-#include "llresizehandle.h"
-#include "llresmgr.h"
-#include "llsky.h"
-#include "llsliderctrl.h"
-#include "llspinctrl.h"
-#include "llstatgraph.h"
-#include "llstatusbar.h"
-//#include "lltextbox.h"
-#include "llui.h"
-#include "llviewermenu.h"
-#include "llviewerparceloverlay.h"
-#include "llviewerregion.h"
-#include "llviewerstats.h"
-#include "llurlsimstring.h"
-
-#include "llglheaders.h"
-
-//
-// Constants
-//
-const S32 LEGEND_SIZE = 16;
-
-const S32 HPAD = 4;
-
-const S32 MAP_COMBOBOX_WIDTH = 128;
-const S32 MAP_COMBOBOX_HEIGHT = 20;
-const S32 GO_BTN_WIDTH = 20;
-const S32 SLIDER_WIDTH = LEGEND_SIZE + MAP_COMBOBOX_WIDTH + HPAD + GO_BTN_WIDTH - HPAD;
-const S32 SLIDER_HEIGHT = 16;
-
-const S32 SIM_STAT_WIDTH = 8;
-
-const S32 MAP_SCALE_MIN = 35; // in pixels per sim
-const S32 MAP_SCALE_MAX = 180; // in pixels per sim
-const S32 MAP_SCALE_INCREMENT = 5;
-
-const S32 NETMAP_MIN_WIDTH = 128;
-const S32 NETMAP_MIN_HEIGHT = 128;
-
-const S32 FLOATERMAP_MIN_WIDTH =
- SLIDER_WIDTH +
- 2 * (HPAD + LLPANEL_BORDER_WIDTH);
-
-const S32 MORE_BTN_VPAD = 2;
-
-const S32 SPIN_VPAD = 4;
-
-const S32 TRACKING_LABEL_HEIGHT = 16;
-
-const S32 FLOATERMAP_MIN_HEIGHT_LARGE = 60;
-
-//
-// Globals
-//
-LLFloaterMap *gFloaterMap = NULL;
-
+#include "lluictrlfactory.h"
+LLFloaterMap::LLFloaterMap(const LLSD& key)
+ :
+ LLFloater(std::string("minimap")),
+ mPanelMap(NULL)
+{
+ LLCallbackMap::map_t factory_map;
+ factory_map["mini_mapview"] = LLCallbackMap(createPanelMiniMap, this);
+ LLUICtrlFactory::getInstance()->buildFloater(this, "floater_mini_map.xml", &factory_map, FALSE);
+}
-//
-// Member functions
-//
+// static
+void* LLFloaterMap::createPanelMiniMap(void* data)
+{
+ LLFloaterMap* self = (LLFloaterMap*)data;
+ self->mPanelMap = new LLNetMap("Mapview");
+ return self->mPanelMap;
+}
-LLFloaterMap::LLFloaterMap(const std::string& name)
- :
- LLFloater(name,
- std::string("FloaterMiniMapRect"),
- LLStringUtil::null,
- TRUE,
- FLOATERMAP_MIN_WIDTH,
- FLOATERMAP_MIN_HEIGHT_LARGE,
- FALSE,
- FALSE,
- TRUE) // close button
+BOOL LLFloaterMap::postBuild()
{
- const S32 LEFT = LLPANEL_BORDER_WIDTH;
- const S32 TOP = getRect().getHeight();
-
- S32 y = 0;
-
- // Map itself
- LLRect map_rect(
- LEFT,
- TOP - LLPANEL_BORDER_WIDTH,
- getRect().getWidth() - LLPANEL_BORDER_WIDTH,
- y );
- LLColor4 bg_color = gColors.getColor( "NetMapBackgroundColor" );
- mMap = new LLNetMap("Net Map", map_rect, bg_color);
- mMap->setFollowsAll();
- addChildAtEnd(mMap);
-
- // Get the drag handle all the way in back
+ // Send the drag handle to the back, but make sure close stays on top
sendChildToBack(getDragHandle());
-
+ sendChildToFront(getChild<LLButton>("llfloater_close_btn"));
setIsChrome(TRUE);
+ return TRUE;
}
@@ -155,11 +78,11 @@ LLFloaterMap::~LLFloaterMap()
// virtual
-void LLFloaterMap::setVisible(BOOL visible)
+void LLFloaterMap::onOpen()
{
- LLFloater::setVisible(visible);
+ gFloaterView->adjustToFitScreen(this, FALSE);
- gSavedSettings.setBOOL("ShowMiniMap", visible);
+ gSavedSettings.setBOOL("ShowMiniMap", TRUE);
}
@@ -189,7 +112,7 @@ void LLFloaterMap::draw()
setMouseOpaque(FALSE);
getDragHandle()->setMouseOpaque(FALSE);
- drawChild(mMap);
+ drawChild(mPanelMap);
}
else
{
@@ -200,18 +123,3 @@ void LLFloaterMap::draw()
}
}
-// static
-void LLFloaterMap::toggle(void*)
-{
- if( gFloaterMap )
- {
- if (gFloaterMap->getVisible())
- {
- gFloaterMap->close();
- }
- else
- {
- gFloaterMap->open(); /* Flawfinder: ignore */
- }
- }
-}