summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2005-11-17 15:11:25 +0000
committerOliver Bolte <obo@openoffice.org>2005-11-17 15:11:25 +0000
commit5f82142e279a0c3d4f99c937919ef9ecba46341c (patch)
treebf916816047adacb2803f4ce90db0a5626e8a2a2 /sd
parenta071356e6078e700dbdc9064e08f46534d20a54e (diff)
INTEGRATION: CWS canvas03 (1.16.32); FILE MERGED
2005/11/16 12:37:00 cl 1.16.32.1: #i57971# fix DropdownMenuBox d'tor order and reuse property controls
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/animations/CustomAnimationPane.cxx26
1 files changed, 20 insertions, 6 deletions
diff --git a/sd/source/ui/animations/CustomAnimationPane.cxx b/sd/source/ui/animations/CustomAnimationPane.cxx
index 9d980cbb4570..1fc9d517b8b5 100644
--- a/sd/source/ui/animations/CustomAnimationPane.cxx
+++ b/sd/source/ui/animations/CustomAnimationPane.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: CustomAnimationPane.cxx,v $
*
- * $Revision: 1.16 $
+ * $Revision: 1.17 $
*
- * last change: $Author: rt $ $Date: 2005-10-19 12:24:06 $
+ * last change: $Author: obo $ $Date: 2005-11-17 16:11:25 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -817,6 +817,8 @@ void CustomAnimationPane::updateControls()
{
PropertySubControl* pSubControl = NULL;
+ Any aValue;
+
UStringList aProperties( pDescriptor->getProperties() );
if( aProperties.size() >= 1 )
{
@@ -826,14 +828,26 @@ void CustomAnimationPane::updateControls()
mpFTProperty->SetText( getPropertyName( mnPropertyType ) );
- Any aValue( getProperty1Value( mnPropertyType, pEffect ) );
- if( aValue.hasValue() )
+ aValue = getProperty1Value( mnPropertyType, pEffect );
+ }
+
+ if( aValue.hasValue() )
+ {
+ pSubControl = mpLBProperty->getSubControl();
+ if( !pSubControl || (pSubControl->getControlType() != mnPropertyType) )
{
pSubControl = PropertySubControl::create( mnPropertyType, this, aValue, pEffect->getPresetId(), LINK( this, CustomAnimationPane, implPropertyHdl ) );
+ mpLBProperty->setSubControl( pSubControl );
+ }
+ else
+ {
+ pSubControl->setValue( aValue, pEffect->getPresetId() );
}
}
-
- mpLBProperty->setSubControl( pSubControl );
+ else
+ {
+ mpLBProperty->setSubControl( 0 );
+ }
bool bEnable = (pSubControl != 0) && (pSubControl->getControl()->IsEnabled());
mpLBProperty->Enable( bEnable );