1*d119d52dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*d119d52dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*d119d52dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*d119d52dSAndrew Rist  * distributed with this work for additional information
6*d119d52dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*d119d52dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*d119d52dSAndrew Rist  * "License"); you may not use this file except in compliance
9*d119d52dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*d119d52dSAndrew Rist  *
11*d119d52dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*d119d52dSAndrew Rist  *
13*d119d52dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*d119d52dSAndrew Rist  * software distributed under the License is distributed on an
15*d119d52dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d119d52dSAndrew Rist  * KIND, either express or implied.  See the License for the
17*d119d52dSAndrew Rist  * specific language governing permissions and limitations
18*d119d52dSAndrew Rist  * under the License.
19*d119d52dSAndrew Rist  *
20*d119d52dSAndrew Rist  *************************************************************/
21*d119d52dSAndrew Rist 
22*d119d52dSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #include "precompiled_sfx2.hxx"
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include "sfx2/titledockwin.hxx"
27cdf0e10cSrcweir #include "sfx2/bindings.hxx"
28cdf0e10cSrcweir #include "sfx2/dispatch.hxx"
29cdf0e10cSrcweir #include "sfxlocal.hrc"
30cdf0e10cSrcweir #include "sfxresid.hxx"
31cdf0e10cSrcweir 
32cdf0e10cSrcweir #include <svl/eitem.hxx>
33cdf0e10cSrcweir 
34cdf0e10cSrcweir //......................................................................................................................
35cdf0e10cSrcweir namespace sfx2
36cdf0e10cSrcweir {
37cdf0e10cSrcweir //......................................................................................................................
38cdf0e10cSrcweir 
39cdf0e10cSrcweir 	//==================================================================================================================
40cdf0e10cSrcweir 	//= TitledDockingWindow
41cdf0e10cSrcweir 	//==================================================================================================================
42cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
TitledDockingWindow(SfxBindings * i_pBindings,SfxChildWindow * i_pChildWindow,Window * i_pParent,WinBits i_nStyle)43cdf0e10cSrcweir     TitledDockingWindow::TitledDockingWindow( SfxBindings* i_pBindings, SfxChildWindow* i_pChildWindow, Window* i_pParent,
44cdf0e10cSrcweir             WinBits i_nStyle )
45cdf0e10cSrcweir         :SfxDockingWindow( i_pBindings, i_pChildWindow, i_pParent, i_nStyle )
46cdf0e10cSrcweir         ,m_sTitle()
47cdf0e10cSrcweir         ,m_aToolbox( this )
48cdf0e10cSrcweir         ,m_aContentWindow( this, WB_DIALOGCONTROL )
49cdf0e10cSrcweir         ,m_aBorder( 3, 1, 3, 3 )
50cdf0e10cSrcweir         ,m_bLayoutPending( false )
51cdf0e10cSrcweir         ,m_nTitleBarHeight(0)
52cdf0e10cSrcweir     {
53cdf0e10cSrcweir         impl_construct();
54cdf0e10cSrcweir     }
55cdf0e10cSrcweir 
56cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
TitledDockingWindow(SfxBindings * i_pBindings,SfxChildWindow * i_pChildWindow,Window * i_pParent,const ResId & i_rResId)57cdf0e10cSrcweir     TitledDockingWindow::TitledDockingWindow( SfxBindings* i_pBindings, SfxChildWindow* i_pChildWindow, Window* i_pParent,
58cdf0e10cSrcweir             const ResId& i_rResId )
59cdf0e10cSrcweir         :SfxDockingWindow( i_pBindings, i_pChildWindow, i_pParent, i_rResId )
60cdf0e10cSrcweir         ,m_sTitle()
61cdf0e10cSrcweir         ,m_aToolbox( this )
62cdf0e10cSrcweir         ,m_aContentWindow( this )
63cdf0e10cSrcweir         ,m_aBorder( 3, 1, 3, 3 )
64cdf0e10cSrcweir         ,m_bLayoutPending( false )
65cdf0e10cSrcweir     {
66cdf0e10cSrcweir         impl_construct();
67cdf0e10cSrcweir     }
68cdf0e10cSrcweir 
69cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
impl_construct()70cdf0e10cSrcweir     void TitledDockingWindow::impl_construct()
71cdf0e10cSrcweir     {
72cdf0e10cSrcweir         SetBackground( Wallpaper() );
73cdf0e10cSrcweir 
74cdf0e10cSrcweir         m_aToolbox.SetSelectHdl( LINK( this, TitledDockingWindow, OnToolboxItemSelected ) );
75cdf0e10cSrcweir         m_aToolbox.SetOutStyle( TOOLBOX_STYLE_FLAT );
76cdf0e10cSrcweir         m_aToolbox.SetBackground( Wallpaper( GetSettings().GetStyleSettings().GetDialogColor() ) );
77cdf0e10cSrcweir         m_aToolbox.Show();
78cdf0e10cSrcweir         impl_resetToolBox();
79cdf0e10cSrcweir 
80cdf0e10cSrcweir         m_aContentWindow.Show();
81cdf0e10cSrcweir     }
82cdf0e10cSrcweir 
83cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
~TitledDockingWindow()84cdf0e10cSrcweir     TitledDockingWindow::~TitledDockingWindow()
85cdf0e10cSrcweir     {
86cdf0e10cSrcweir     }
87cdf0e10cSrcweir 
88cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
SetTitle(const String & i_rTitle)89cdf0e10cSrcweir     void TitledDockingWindow::SetTitle( const String& i_rTitle )
90cdf0e10cSrcweir     {
91cdf0e10cSrcweir         m_sTitle = i_rTitle;
92cdf0e10cSrcweir         Invalidate();
93cdf0e10cSrcweir     }
94cdf0e10cSrcweir 
95cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
GetTitle() const96cdf0e10cSrcweir     String TitledDockingWindow::GetTitle() const
97cdf0e10cSrcweir     {
98cdf0e10cSrcweir         return impl_getTitle();
99cdf0e10cSrcweir     }
100cdf0e10cSrcweir 
101cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
SetText(const String & i_rText)102cdf0e10cSrcweir     void TitledDockingWindow::SetText( const String& i_rText )
103cdf0e10cSrcweir     {
104cdf0e10cSrcweir         SfxDockingWindow::SetText( i_rText );
105cdf0e10cSrcweir         if ( m_sTitle.Len() == 0 )
106cdf0e10cSrcweir             // our text is used as title, too => repaint
107cdf0e10cSrcweir             Invalidate();
108cdf0e10cSrcweir     }
109cdf0e10cSrcweir 
110cdf0e10cSrcweir     //------------------------------------------------------------------------------------------------------------------
Resize()111cdf0e10cSrcweir     void TitledDockingWindow::Resize()
112cdf0e10cSrcweir     {
113cdf0e10cSrcweir         SfxDockingWindow::Resize();
114cdf0e10cSrcweir         impl_scheduleLayout();
115cdf0e10cSrcweir     }
116cdf0e10cSrcweir 
117cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
onLayoutDone()118cdf0e10cSrcweir     void TitledDockingWindow::onLayoutDone()
119cdf0e10cSrcweir     {
120cdf0e10cSrcweir         // not interested in
121cdf0e10cSrcweir     }
122cdf0e10cSrcweir 
123cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
impl_scheduleLayout()124cdf0e10cSrcweir     void TitledDockingWindow::impl_scheduleLayout()
125cdf0e10cSrcweir     {
126cdf0e10cSrcweir         m_bLayoutPending = true;
127cdf0e10cSrcweir     }
128cdf0e10cSrcweir 
129cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
impl_layout()130cdf0e10cSrcweir     void TitledDockingWindow::impl_layout()
131cdf0e10cSrcweir     {
132cdf0e10cSrcweir         m_bLayoutPending = false;
133cdf0e10cSrcweir 
134cdf0e10cSrcweir         m_aToolbox.ShowItem( 1, !IsFloatingMode() );
135cdf0e10cSrcweir 
136cdf0e10cSrcweir         const Size aToolBoxSize( m_aToolbox.CalcWindowSizePixel() );
137cdf0e10cSrcweir         Size aWindowSize( GetOutputSizePixel() );
138cdf0e10cSrcweir 
139cdf0e10cSrcweir         // position the tool box
140cdf0e10cSrcweir         m_nTitleBarHeight = GetSettings().GetStyleSettings().GetTitleHeight();
141cdf0e10cSrcweir         if ( aToolBoxSize.Height() > m_nTitleBarHeight )
142cdf0e10cSrcweir             m_nTitleBarHeight = aToolBoxSize.Height();
143cdf0e10cSrcweir         m_aToolbox.SetPosSizePixel(
144cdf0e10cSrcweir             Point(
145cdf0e10cSrcweir                 aWindowSize.Width() - aToolBoxSize.Width(),
146cdf0e10cSrcweir                 ( m_nTitleBarHeight - aToolBoxSize.Height() ) / 2
147cdf0e10cSrcweir             ),
148cdf0e10cSrcweir             aToolBoxSize
149cdf0e10cSrcweir         );
150cdf0e10cSrcweir 
151cdf0e10cSrcweir         // Place the content window.
152cdf0e10cSrcweir         if ( m_nTitleBarHeight < aToolBoxSize.Height() )
153cdf0e10cSrcweir             m_nTitleBarHeight = aToolBoxSize.Height();
154cdf0e10cSrcweir         aWindowSize.Height() -= m_nTitleBarHeight;
155cdf0e10cSrcweir         m_aContentWindow.SetPosSizePixel(
156cdf0e10cSrcweir             Point( m_aBorder.Left(), m_nTitleBarHeight + m_aBorder.Top() ),
157cdf0e10cSrcweir             Size(
158cdf0e10cSrcweir                 aWindowSize.Width() - m_aBorder.Left() - m_aBorder.Right(),
159cdf0e10cSrcweir                 aWindowSize.Height() - m_aBorder.Top() - m_aBorder.Bottom()
160cdf0e10cSrcweir             )
161cdf0e10cSrcweir         );
162cdf0e10cSrcweir 
163cdf0e10cSrcweir         onLayoutDone();
164cdf0e10cSrcweir     }
165cdf0e10cSrcweir 
166cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
Paint(const Rectangle & i_rArea)167cdf0e10cSrcweir     void TitledDockingWindow::Paint( const Rectangle& i_rArea )
168cdf0e10cSrcweir     {
169cdf0e10cSrcweir         if ( m_bLayoutPending )
170cdf0e10cSrcweir             impl_layout();
171cdf0e10cSrcweir 
172cdf0e10cSrcweir         SfxDockingWindow::Paint( i_rArea );
173cdf0e10cSrcweir 
174cdf0e10cSrcweir         Push( PUSH_FONT | PUSH_FILLCOLOR | PUSH_LINECOLOR );
175cdf0e10cSrcweir 
176cdf0e10cSrcweir         SetFillColor( GetSettings().GetStyleSettings().GetDialogColor() );
177cdf0e10cSrcweir         SetLineColor();
178cdf0e10cSrcweir 
179cdf0e10cSrcweir         // bold font
180cdf0e10cSrcweir         Font aFont( GetFont() );
181cdf0e10cSrcweir         aFont.SetWeight( WEIGHT_BOLD );
182cdf0e10cSrcweir         SetFont( aFont );
183cdf0e10cSrcweir 
184cdf0e10cSrcweir         // Set border values.
185cdf0e10cSrcweir         Size aWindowSize( GetOutputSizePixel() );
186cdf0e10cSrcweir         int nOuterLeft = 0;
187cdf0e10cSrcweir         int nInnerLeft = nOuterLeft + m_aBorder.Left() - 1;
188cdf0e10cSrcweir         int nOuterRight = aWindowSize.Width() - 1;
189cdf0e10cSrcweir         int nInnerRight = nOuterRight - m_aBorder.Right() + 1;
190cdf0e10cSrcweir         int nInnerTop = m_nTitleBarHeight + m_aBorder.Top() - 1;
191cdf0e10cSrcweir         int nOuterBottom = aWindowSize.Height() - 1;
192cdf0e10cSrcweir         int nInnerBottom = nOuterBottom - m_aBorder.Bottom() + 1;
193cdf0e10cSrcweir 
194cdf0e10cSrcweir         // Paint title bar background.
195cdf0e10cSrcweir         Rectangle aTitleBarBox( Rectangle(
196cdf0e10cSrcweir             nOuterLeft,
197cdf0e10cSrcweir             0,
198cdf0e10cSrcweir             nOuterRight,
199cdf0e10cSrcweir             nInnerTop-1
200cdf0e10cSrcweir         ) );
201cdf0e10cSrcweir         DrawRect( aTitleBarBox );
202cdf0e10cSrcweir 
203cdf0e10cSrcweir         if ( nInnerLeft > nOuterLeft )
204cdf0e10cSrcweir             DrawRect( Rectangle( nOuterLeft, nInnerTop, nInnerLeft, nInnerBottom ) );
205cdf0e10cSrcweir         if ( nOuterRight > nInnerRight )
206cdf0e10cSrcweir             DrawRect( Rectangle( nInnerRight, nInnerTop, nOuterRight, nInnerBottom ) );
207cdf0e10cSrcweir         if ( nInnerBottom < nOuterBottom )
208cdf0e10cSrcweir             DrawRect( Rectangle( nOuterLeft, nInnerBottom, nOuterRight, nOuterBottom ) );
209cdf0e10cSrcweir 
210cdf0e10cSrcweir         // Paint bevel border.
211cdf0e10cSrcweir         SetFillColor();
212cdf0e10cSrcweir         SetLineColor( GetSettings().GetStyleSettings().GetShadowColor() );
213cdf0e10cSrcweir         if ( m_aBorder.Top() > 0 )
214cdf0e10cSrcweir             DrawLine( Point( nInnerLeft, nInnerTop ), Point( nInnerLeft, nInnerBottom ) );
215cdf0e10cSrcweir         if ( m_aBorder.Left() > 0 )
216cdf0e10cSrcweir             DrawLine( Point( nInnerLeft, nInnerTop ), Point( nInnerRight, nInnerTop ) );
217cdf0e10cSrcweir 
218cdf0e10cSrcweir         SetLineColor( GetSettings().GetStyleSettings().GetLightColor() );
219cdf0e10cSrcweir         if ( m_aBorder.Bottom() > 0 )
220cdf0e10cSrcweir             DrawLine( Point( nInnerRight, nInnerBottom ), Point( nInnerLeft, nInnerBottom ) );
221cdf0e10cSrcweir         if ( m_aBorder.Right() > 0 )
222cdf0e10cSrcweir             DrawLine( Point( nInnerRight, nInnerBottom ), Point( nInnerRight, nInnerTop ) );
223cdf0e10cSrcweir 
224cdf0e10cSrcweir         // Paint title bar text.
225cdf0e10cSrcweir         SetLineColor( GetSettings().GetStyleSettings().GetActiveTextColor() );
226cdf0e10cSrcweir         aTitleBarBox.Left() += 3;
227cdf0e10cSrcweir         DrawText( aTitleBarBox, impl_getTitle(), TEXT_DRAW_LEFT | TEXT_DRAW_VCENTER | TEXT_DRAW_MULTILINE | TEXT_DRAW_WORDBREAK );
228cdf0e10cSrcweir 
229cdf0e10cSrcweir         // Restore original values of the output device.
230cdf0e10cSrcweir         Pop();
231cdf0e10cSrcweir     }
232cdf0e10cSrcweir 
233cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
impl_getTitle() const234cdf0e10cSrcweir     String TitledDockingWindow::impl_getTitle() const
235cdf0e10cSrcweir     {
236cdf0e10cSrcweir         return m_sTitle.Len() ? m_sTitle : GetText();
237cdf0e10cSrcweir     }
238cdf0e10cSrcweir 
239cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
impl_resetToolBox()240cdf0e10cSrcweir     void TitledDockingWindow::impl_resetToolBox()
241cdf0e10cSrcweir     {
242cdf0e10cSrcweir         m_aToolbox.Clear();
243cdf0e10cSrcweir 
244cdf0e10cSrcweir         // Get the closer bitmap and set it as right most button.
245cdf0e10cSrcweir         Image aImage( SfxResId( SFX_IMG_CLOSE_DOC ) );
246cdf0e10cSrcweir         Image aImageHC( SfxResId( SFX_IMG_CLOSE_DOC_HC ) );
247cdf0e10cSrcweir         m_aToolbox.InsertItem( 1,
248cdf0e10cSrcweir                 GetSettings().GetStyleSettings().GetHighContrastMode()
249cdf0e10cSrcweir             ?   aImageHC
250cdf0e10cSrcweir             :   aImage
251cdf0e10cSrcweir         );
252cdf0e10cSrcweir         m_aToolbox.ShowItem( 1 );
253cdf0e10cSrcweir     }
254cdf0e10cSrcweir 
255cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
impl_addDropDownToolBoxItem(const String & i_rItemText,const rtl::OString & i_nHelpId,const Link & i_rCallback)256cdf0e10cSrcweir     sal_uInt16 TitledDockingWindow::impl_addDropDownToolBoxItem( const String& i_rItemText, const rtl::OString& i_nHelpId, const Link& i_rCallback )
257cdf0e10cSrcweir     {
258cdf0e10cSrcweir         // Add the menu before the closer button.
259cdf0e10cSrcweir         const sal_uInt16 nItemCount( m_aToolbox.GetItemCount() );
260cdf0e10cSrcweir 	    const sal_uInt16 nItemId( nItemCount + 1 );
261cdf0e10cSrcweir         m_aToolbox.InsertItem( nItemId, i_rItemText, TIB_DROPDOWNONLY, nItemCount > 0 ? nItemCount - 1 : TOOLBOX_APPEND );
262cdf0e10cSrcweir 	    m_aToolbox.SetHelpId( nItemId, i_nHelpId );
263cdf0e10cSrcweir 	    m_aToolbox.SetClickHdl( i_rCallback );
264cdf0e10cSrcweir 	    m_aToolbox.SetDropdownClickHdl( i_rCallback );
265cdf0e10cSrcweir 
266cdf0e10cSrcweir         // The tool box has likely changed its size. The title bar has to be
267cdf0e10cSrcweir         // resized.
268cdf0e10cSrcweir         impl_scheduleLayout();
269cdf0e10cSrcweir         Invalidate();
270cdf0e10cSrcweir 
271cdf0e10cSrcweir         return nItemId;
272cdf0e10cSrcweir     }
273cdf0e10cSrcweir 
274cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
IMPL_LINK(TitledDockingWindow,OnToolboxItemSelected,ToolBox *,pToolBox)275cdf0e10cSrcweir     IMPL_LINK( TitledDockingWindow, OnToolboxItemSelected, ToolBox*, pToolBox )
276cdf0e10cSrcweir     {
277cdf0e10cSrcweir 	    const sal_uInt16 nId = pToolBox->GetCurItemId();
278cdf0e10cSrcweir 
279cdf0e10cSrcweir 	    if ( nId == 1 )
280cdf0e10cSrcweir         {
281cdf0e10cSrcweir             // the closer
282cdf0e10cSrcweir             EndTracking();
283cdf0e10cSrcweir             const sal_uInt16 nChildWindowId( GetChildWindow_Impl()->GetType() );
284cdf0e10cSrcweir             const SfxBoolItem aVisibility( nChildWindowId, sal_False );
285cdf0e10cSrcweir             GetBindings().GetDispatcher()->Execute(
286cdf0e10cSrcweir                 nChildWindowId,
287cdf0e10cSrcweir                 SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD,
288cdf0e10cSrcweir                 &aVisibility,
289cdf0e10cSrcweir                 NULL
290cdf0e10cSrcweir             );
291cdf0e10cSrcweir         }
292cdf0e10cSrcweir 
293cdf0e10cSrcweir 	    return 0;
294cdf0e10cSrcweir     }
295cdf0e10cSrcweir 
296cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
StateChanged(StateChangedType i_nType)297cdf0e10cSrcweir     void TitledDockingWindow::StateChanged( StateChangedType i_nType )
298cdf0e10cSrcweir     {
299cdf0e10cSrcweir         switch ( i_nType )
300cdf0e10cSrcweir         {
301cdf0e10cSrcweir             case STATE_CHANGE_INITSHOW:
302cdf0e10cSrcweir                 impl_scheduleLayout();
303cdf0e10cSrcweir                 break;
304cdf0e10cSrcweir         }
305cdf0e10cSrcweir         SfxDockingWindow::StateChanged( i_nType );
306cdf0e10cSrcweir     }
307cdf0e10cSrcweir 
308cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
EndDocking(const Rectangle & i_rRect,sal_Bool i_bFloatMode)309cdf0e10cSrcweir     void TitledDockingWindow::EndDocking( const Rectangle& i_rRect, sal_Bool i_bFloatMode )
310cdf0e10cSrcweir     {
311cdf0e10cSrcweir         SfxDockingWindow::EndDocking( i_rRect, i_bFloatMode );
312cdf0e10cSrcweir 
313cdf0e10cSrcweir         if ( m_aEndDockingHdl.IsSet() )
314cdf0e10cSrcweir             m_aEndDockingHdl.Call( this );
315cdf0e10cSrcweir     }
316cdf0e10cSrcweir 
317cdf0e10cSrcweir 	//------------------------------------------------------------------------------------------------------------------
DataChanged(const DataChangedEvent & i_rDataChangedEvent)318cdf0e10cSrcweir     void TitledDockingWindow::DataChanged( const DataChangedEvent& i_rDataChangedEvent )
319cdf0e10cSrcweir     {
320cdf0e10cSrcweir         SfxDockingWindow::DataChanged( i_rDataChangedEvent );
321cdf0e10cSrcweir 
322cdf0e10cSrcweir         switch ( i_rDataChangedEvent.GetType() )
323cdf0e10cSrcweir         {
324cdf0e10cSrcweir             case DATACHANGED_SETTINGS:
325cdf0e10cSrcweir                 if ( ( i_rDataChangedEvent.GetFlags() & SETTINGS_STYLE ) == 0)
326cdf0e10cSrcweir                     break;
327cdf0e10cSrcweir                 // else fall through.
328cdf0e10cSrcweir             case DATACHANGED_FONTS:
329cdf0e10cSrcweir             case DATACHANGED_FONTSUBSTITUTION:
330cdf0e10cSrcweir             {
331cdf0e10cSrcweir                 const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings();
332cdf0e10cSrcweir 
333cdf0e10cSrcweir                 // Font.
334cdf0e10cSrcweir                 Font aFont = rStyleSettings.GetAppFont();
335cdf0e10cSrcweir                 if ( IsControlFont() )
336cdf0e10cSrcweir                     aFont.Merge( GetControlFont() );
337cdf0e10cSrcweir                 SetZoomedPointFont( aFont );
338cdf0e10cSrcweir 
339cdf0e10cSrcweir                 // Color.
340cdf0e10cSrcweir                 Color aColor;
341cdf0e10cSrcweir                 if ( IsControlForeground() )
342cdf0e10cSrcweir                     aColor = GetControlForeground();
343cdf0e10cSrcweir                 else
344cdf0e10cSrcweir                     aColor = rStyleSettings.GetButtonTextColor();
345cdf0e10cSrcweir                 SetTextColor( aColor );
346cdf0e10cSrcweir                 SetTextFillColor();
347cdf0e10cSrcweir 
348cdf0e10cSrcweir                 impl_scheduleLayout();
349cdf0e10cSrcweir                 Invalidate();
350cdf0e10cSrcweir             }
351cdf0e10cSrcweir             break;
352cdf0e10cSrcweir         }
353cdf0e10cSrcweir     }
354cdf0e10cSrcweir 
355cdf0e10cSrcweir //......................................................................................................................
356cdf0e10cSrcweir } // namespace sfx2
357cdf0e10cSrcweir //......................................................................................................................
358