summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorAlexei Arabadji <aarabadji@productengine.com>2009-11-17 14:33:07 +0200
committerAlexei Arabadji <aarabadji@productengine.com>2009-11-17 14:33:07 +0200
commitd43e33400a2ef9d89ed6d13067055b5b1edbde78 (patch)
treefbe8c90595e6b629723fb2cde6d682eb21dbb9a4 /indra/llui
parent4b80c9978c48b6a9eaac2ed358e81cf06f3e2cb5 (diff)
implemented EXT-2515 "Docked floaters should be resizeable";
--HG-- branch : product-engine
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/lldockablefloater.cpp10
-rw-r--r--indra/llui/lldockablefloater.h1
-rw-r--r--indra/llui/lldockcontrol.cpp5
-rw-r--r--indra/llui/lldockcontrol.h1
4 files changed, 17 insertions, 0 deletions
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()
{