diff options
Diffstat (limited to 'vcl/source/window/status.cxx')
-rw-r--r-- | vcl/source/window/status.cxx | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/vcl/source/window/status.cxx b/vcl/source/window/status.cxx index f633e4c7b85b..306cec28d44b 100644 --- a/vcl/source/window/status.cxx +++ b/vcl/source/window/status.cxx @@ -1439,6 +1439,25 @@ void StatusBar::SetItemData( sal_uInt16 nItemId, void* pNewData ) } } +void StatusBar::RedrawItem( sal_uInt16 nItemId ) +{ + if ( mbFormat ) + return; + + sal_uInt16 nPos = GetItemPos( nItemId ); + if ( nPos == STATUSBAR_ITEM_NOTFOUND ) + return; + + ImplStatusItem* pItem = mpItemList->GetObject( nPos ); + if ( pItem && (pItem->mnBits & SIB_USERDRAW) && + pItem->mbVisible && ImplIsItemUpdate() ) + { + Update(); + ImplDrawItem( sal_True, nPos, sal_False, sal_False ); + Flush(); + } +} + // ----------------------------------------------------------------------- void* StatusBar::GetItemData( sal_uInt16 nItemId ) const |