1*2ee96f1cSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*2ee96f1cSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*2ee96f1cSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*2ee96f1cSAndrew Rist * distributed with this work for additional information 6*2ee96f1cSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*2ee96f1cSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*2ee96f1cSAndrew Rist * "License"); you may not use this file except in compliance 9*2ee96f1cSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*2ee96f1cSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*2ee96f1cSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*2ee96f1cSAndrew Rist * software distributed under the License is distributed on an 15*2ee96f1cSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*2ee96f1cSAndrew Rist * KIND, either express or implied. See the License for the 17*2ee96f1cSAndrew Rist * specific language governing permissions and limitations 18*2ee96f1cSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*2ee96f1cSAndrew Rist *************************************************************/ 21*2ee96f1cSAndrew Rist 22*2ee96f1cSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 25cdf0e10cSrcweir #include "precompiled_cui.hxx" 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include "optHeaderTabListbox.hxx" 28cdf0e10cSrcweir #include <vcl/svapp.hxx> 29cdf0e10cSrcweir #include <svtools/headbar.hxx> 30cdf0e10cSrcweir 31cdf0e10cSrcweir 32cdf0e10cSrcweir namespace svx 33cdf0e10cSrcweir { 34cdf0e10cSrcweir // class OptLBoxString_Impl ---------------------------------------------- 35cdf0e10cSrcweir 36cdf0e10cSrcweir class OptLBoxString_Impl : public SvLBoxString 37cdf0e10cSrcweir { 38cdf0e10cSrcweir public: 39cdf0e10cSrcweir OptLBoxString_Impl( SvLBoxEntry* pEntry, sal_uInt16 nFlags, const String& rTxt ) : 40cdf0e10cSrcweir SvLBoxString( pEntry, nFlags, rTxt ) {} 41cdf0e10cSrcweir 42cdf0e10cSrcweir virtual void Paint( const Point& rPos, SvLBox& rDev, sal_uInt16 nFlags, SvLBoxEntry* pEntry ); 43cdf0e10cSrcweir }; 44cdf0e10cSrcweir 45cdf0e10cSrcweir // ----------------------------------------------------------------------- 46cdf0e10cSrcweir 47cdf0e10cSrcweir void OptLBoxString_Impl::Paint( const Point& rPos, SvLBox& rDev, sal_uInt16, SvLBoxEntry* pEntry ) 48cdf0e10cSrcweir { 49cdf0e10cSrcweir Font aOldFont( rDev.GetFont() ); 50cdf0e10cSrcweir Font aFont( aOldFont ); 51cdf0e10cSrcweir //detect readonly state by asking for a valid Image 52cdf0e10cSrcweir if(pEntry && !(!((OptHeaderTabListBox&)rDev).GetCollapsedEntryBmp(pEntry))) 53cdf0e10cSrcweir aFont.SetColor( Application::GetSettings().GetStyleSettings().GetDeactiveTextColor() ); 54cdf0e10cSrcweir rDev.SetFont( aFont ); 55cdf0e10cSrcweir rDev.DrawText( rPos, GetText() ); 56cdf0e10cSrcweir rDev.SetFont( aOldFont ); 57cdf0e10cSrcweir } 58cdf0e10cSrcweir // ----------------------------------------------------------------------------- 59cdf0e10cSrcweir 60cdf0e10cSrcweir OptHeaderTabListBox::OptHeaderTabListBox( Window* pParent, WinBits nWinStyle ) : 61cdf0e10cSrcweir 62cdf0e10cSrcweir SvHeaderTabListBox( pParent, nWinStyle ) 63cdf0e10cSrcweir { 64cdf0e10cSrcweir } 65cdf0e10cSrcweir 66cdf0e10cSrcweir // ----------------------------------------------------------------------- 67cdf0e10cSrcweir void OptHeaderTabListBox::InitEntry( SvLBoxEntry* pEntry, const XubString& rTxt, 68cdf0e10cSrcweir const Image& rImg1, const Image& rImg2, 69cdf0e10cSrcweir SvLBoxButtonKind eButtonKind ) 70cdf0e10cSrcweir { 71cdf0e10cSrcweir SvTabListBox::InitEntry( pEntry, rTxt, rImg1, rImg2, eButtonKind ); 72cdf0e10cSrcweir sal_uInt16 _nTabCount = TabCount(); 73cdf0e10cSrcweir 74cdf0e10cSrcweir for ( sal_uInt16 nCol = 1; nCol < _nTabCount; ++nCol ) 75cdf0e10cSrcweir { 76cdf0e10cSrcweir // alle Spalten mit eigener Klasse initialisieren (Spalte 0 == Bitmap) 77cdf0e10cSrcweir SvLBoxString* pCol = (SvLBoxString*)pEntry->GetItem( nCol ); 78cdf0e10cSrcweir OptLBoxString_Impl* pStr = new OptLBoxString_Impl( pEntry, 0, pCol->GetText() ); 79cdf0e10cSrcweir pEntry->ReplaceItem( pStr, nCol ); 80cdf0e10cSrcweir } 81cdf0e10cSrcweir } 82cdf0e10cSrcweir 83cdf0e10cSrcweir } // namespace svx 84