summaryrefslogtreecommitdiff
path: root/vcl/source/window/status.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/window/status.cxx')
-rw-r--r--vcl/source/window/status.cxx19
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