From d43e33400a2ef9d89ed6d13067055b5b1edbde78 Mon Sep 17 00:00:00 2001
From: Alexei Arabadji <aarabadji@productengine.com>
Date: Tue, 17 Nov 2009 14:33:07 +0200
Subject: implemented EXT-2515 "Docked floaters should be resizeable";

--HG--
branch : product-engine
---
 indra/llui/lldockablefloater.cpp | 10 ++++++++++
 indra/llui/lldockablefloater.h   |  1 +
 indra/llui/lldockcontrol.cpp     |  5 +++++
 indra/llui/lldockcontrol.h       |  1 +
 4 files changed, 17 insertions(+)

(limited to 'indra/llui')

diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp
index c3dd4ae647..9be3d49023 100644
--- a/indra/llui/lldockablefloater.cpp
+++ b/indra/llui/lldockablefloater.cpp
@@ -217,6 +217,16 @@ void LLDockableFloater::draw()
 	LLFloater::draw();
 }
 
+void LLDockableFloater::reshape(S32 width, S32 height, BOOL called_from_parent)
+{
+	if (isDocked())
+	{
+		setDocked(false);
+	}
+
+	LLFloater::reshape(width, height, called_from_parent);
+}
+
 void LLDockableFloater::setDockControl(LLDockControl* dockControl)
 {
 	mDockControl.reset(dockControl);
diff --git a/indra/llui/lldockablefloater.h b/indra/llui/lldockablefloater.h
index 46491d8a29..e5f94dca91 100644
--- a/indra/llui/lldockablefloater.h
+++ b/indra/llui/lldockablefloater.h
@@ -65,6 +65,7 @@ public:
 	/* virtula */BOOL postBuild();
 	/* virtual */void setDocked(bool docked, bool pop_on_undock = true);
 	/* virtual */void draw();
+	/* virtual */void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
 
 	/**
 	 *  If descendant class overrides setVisible() then it must still invoke its
diff --git a/indra/llui/lldockcontrol.cpp b/indra/llui/lldockcontrol.cpp
index 045505af5b..456a2925a3 100644
--- a/indra/llui/lldockcontrol.cpp
+++ b/indra/llui/lldockcontrol.cpp
@@ -266,6 +266,11 @@ void LLDockControl::off()
 	mEnabled = false;
 }
 
+void LLDockControl::forceRecalculatePosition()
+{
+	mRecalculateDocablePosition = true;
+}
+
 void LLDockControl::drawToungue()
 {
 	if (mEnabled)
diff --git a/indra/llui/lldockcontrol.h b/indra/llui/lldockcontrol.h
index eaedb4c307..30a45bedc7 100644
--- a/indra/llui/lldockcontrol.h
+++ b/indra/llui/lldockcontrol.h
@@ -63,6 +63,7 @@ public:
 public:
 	void on();
 	void off();
+	void forceRecalculatePosition();
 	void setDock(LLView* dockWidget);
 	LLView* getDock()
 	{
-- 
cgit v1.2.3