1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 // MARKER(update_precomp.py): autogen include statement, do not remove
29 #include "precompiled_cui.hxx"
31 #include "optHeaderTabListbox.hxx"
32 #include <vcl/svapp.hxx>
33 #include <svtools/headbar.hxx>
38 // class OptLBoxString_Impl ----------------------------------------------
40 class OptLBoxString_Impl
: public SvLBoxString
43 OptLBoxString_Impl( SvLBoxEntry
* pEntry
, sal_uInt16 nFlags
, const String
& rTxt
) :
44 SvLBoxString( pEntry
, nFlags
, rTxt
) {}
46 virtual void Paint( const Point
& rPos
, SvLBox
& rDev
, sal_uInt16 nFlags
, SvLBoxEntry
* pEntry
);
49 // -----------------------------------------------------------------------
51 void OptLBoxString_Impl::Paint( const Point
& rPos
, SvLBox
& rDev
, sal_uInt16
, SvLBoxEntry
* pEntry
)
53 Font
aOldFont( rDev
.GetFont() );
54 Font
aFont( aOldFont
);
55 //detect readonly state by asking for a valid Image
56 if(pEntry
&& !(!((OptHeaderTabListBox
&)rDev
).GetCollapsedEntryBmp(pEntry
)))
57 aFont
.SetColor( Application::GetSettings().GetStyleSettings().GetDeactiveTextColor() );
58 rDev
.SetFont( aFont
);
59 rDev
.DrawText( rPos
, GetText() );
60 rDev
.SetFont( aOldFont
);
62 // -----------------------------------------------------------------------------
64 OptHeaderTabListBox::OptHeaderTabListBox( Window
* pParent
, WinBits nWinStyle
) :
66 SvHeaderTabListBox( pParent
, nWinStyle
)
70 // -----------------------------------------------------------------------
71 void OptHeaderTabListBox::InitEntry( SvLBoxEntry
* pEntry
, const XubString
& rTxt
,
72 const Image
& rImg1
, const Image
& rImg2
,
73 SvLBoxButtonKind eButtonKind
)
75 SvTabListBox::InitEntry( pEntry
, rTxt
, rImg1
, rImg2
, eButtonKind
);
76 sal_uInt16 _nTabCount
= TabCount();
78 for ( sal_uInt16 nCol
= 1; nCol
< _nTabCount
; ++nCol
)
80 // alle Spalten mit eigener Klasse initialisieren (Spalte 0 == Bitmap)
81 SvLBoxString
* pCol
= (SvLBoxString
*)pEntry
->GetItem( nCol
);
82 OptLBoxString_Impl
* pStr
= new OptLBoxString_Impl( pEntry
, 0, pCol
->GetText() );
83 pEntry
->ReplaceItem( pStr
, nCol
);