diff options
author | Rüdiger Timm <rt@openoffice.org> | 2008-01-29 14:05:41 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2008-01-29 14:05:41 +0000 |
commit | 3dd792c1f4bb11aa9fe9037e60a2c85582167a66 (patch) | |
tree | f6d24c1f8696a01bea2dd5f15f4892aa4701783f /toolkit/source | |
parent | ad8f334384e48c4ade57c3533745c289155beab5 (diff) |
INTEGRATION: CWS fwk80_SRC680 (1.81.12); FILE MERGED
2008/01/24 07:50:48 pb 1.81.12.3: RESYNC: (1.81-1.81.18.3); FILE MERGED
2007/12/14 15:49:49 cd 1.81.12.2: #i83406# Use correct way to enable transparency and update with SetPaintTransparent()
2007/12/07 15:43:07 cd 1.81.12.1: #i83406# Text changes for transparent controls must invalidate parent to have a clear background
Diffstat (limited to 'toolkit/source')
-rw-r--r-- | toolkit/source/awt/vclxwindow.cxx | 51 |
1 files changed, 30 insertions, 21 deletions
diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx index 7509d804a709..08872b54b5d9 100644 --- a/toolkit/source/awt/vclxwindow.cxx +++ b/toolkit/source/awt/vclxwindow.cxx @@ -4,9 +4,9 @@ * * $RCSfile: vclxwindow.cxx,v $ * - * $Revision: 1.84 $ + * $Revision: 1.85 $ * - * last change: $Author: rt $ $Date: 2008-01-15 13:15:08 $ + * last change: $Author: rt $ $Date: 2008-01-29 15:05:41 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -1686,23 +1686,24 @@ void VCLXWindow::setProperty( const ::rtl::OUString& PropertyName, const ::com:: case BASEPROPERTY_LABEL: case BASEPROPERTY_TITLE: { - ::rtl::OUString aText; - if ( Value >>= aText ) - { - switch (eWinType) + ::rtl::OUString aText; + if ( Value >>= aText ) { - case WINDOW_OKBUTTON: - case WINDOW_CANCELBUTTON: - case WINDOW_HELPBUTTON: - // Standard Button: overwrite only if not empty. - if (aText.getLength()) - pWindow->SetText( aText ); - break; - default: - pWindow->SetText( aText ); - break; + switch (eWinType) + { + case WINDOW_OKBUTTON: + case WINDOW_CANCELBUTTON: + case WINDOW_HELPBUTTON: + // Standard Button: overwrite only if not empty. + if (aText.getLength()) + pWindow->SetText( aText ); + break; + + default: + pWindow->SetText( aText ); + break; + } } - } } break; case BASEPROPERTY_ACCESSIBLENAME: @@ -1777,10 +1778,6 @@ void VCLXWindow::setProperty( const ::rtl::OUString& PropertyName, const ::com:: case BASEPROPERTY_BACKGROUNDCOLOR: if ( bVoid ) { -// if ( pWindow->IsCompoundControl() ) -// pWindow->SetBackground(); -// pWindow->SetControlBackground(); - switch ( eWinType ) { // set dialog color for default @@ -1807,6 +1804,7 @@ void VCLXWindow::setProperty( const ::rtl::OUString& PropertyName, const ::com:: // support transparency only for special controls pWindow->SetBackground(); pWindow->SetControlBackground(); + pWindow->SetPaintTransparent( TRUE ); break; } @@ -1831,6 +1829,17 @@ void VCLXWindow::setProperty( const ::rtl::OUString& PropertyName, const ::com:: Color aColor( nColor ); pWindow->SetControlBackground( aColor ); pWindow->SetBackground( aColor ); + switch ( eWinType ) + { + // reset paint transparent mode + case WINDOW_FIXEDTEXT: + case WINDOW_CHECKBOX: + case WINDOW_RADIOBUTTON: + case WINDOW_GROUPBOX: + case WINDOW_FIXEDLINE: + pWindow->SetPaintTransparent( FALSE ); + default: ; + } pWindow->Invalidate(); // Falls das Control nicht drauf reagiert } } |