Kaydet (Commit) c4ae127b authored tarafından Caolán McNamara's avatar Caolán McNamara

restore StatusBar::GetItemData, etc. because we need it again

revert c95fa19f

Conflicts:
	vcl/source/window/status.cxx

Change-Id: I976802cde23892e7a3b2f6ad75d34a52bc7b2739
üst 1704b120
...@@ -130,10 +130,19 @@ public: ...@@ -130,10 +130,19 @@ public:
StatusBarItemBits nBits = SIB_CENTER | SIB_IN, StatusBarItemBits nBits = SIB_CENTER | SIB_IN,
long nOffset = STATUSBAR_OFFSET, long nOffset = STATUSBAR_OFFSET,
sal_uInt16 nPos = STATUSBAR_APPEND ); sal_uInt16 nPos = STATUSBAR_APPEND );
void RemoveItem( sal_uInt16 nItemId );
void ShowItem( sal_uInt16 nItemId );
void HideItem( sal_uInt16 nItemId );
sal_Bool IsItemVisible( sal_uInt16 nItemId ) const; sal_Bool IsItemVisible( sal_uInt16 nItemId ) const;
void ShowItems();
void HideItems();
sal_Bool AreItemsVisible() const { return mbVisibleItems; } sal_Bool AreItemsVisible() const { return mbVisibleItems; }
void RedrawItem( sal_uInt16 nItemId );
void CopyItems( const StatusBar& rStatusBar );
void Clear(); void Clear();
sal_uInt16 GetItemCount() const; sal_uInt16 GetItemCount() const;
...@@ -144,10 +153,16 @@ public: ...@@ -144,10 +153,16 @@ public:
Point GetItemTextPos( sal_uInt16 nItemId ) const; Point GetItemTextPos( sal_uInt16 nItemId ) const;
sal_uInt16 GetCurItemId() const { return mnCurItemId; } sal_uInt16 GetCurItemId() const { return mnCurItemId; }
sal_uLong GetItemWidth( sal_uInt16 nItemId ) const;
StatusBarItemBits GetItemBits( sal_uInt16 nItemId ) const;
long GetItemOffset( sal_uInt16 nItemId ) const;
void SetItemText( sal_uInt16 nItemId, const XubString& rText ); void SetItemText( sal_uInt16 nItemId, const XubString& rText );
const XubString& GetItemText( sal_uInt16 nItemId ) const; const XubString& GetItemText( sal_uInt16 nItemId ) const;
void SetItemData( sal_uInt16 nItemId, void* pNewData ); void SetItemData( sal_uInt16 nItemId, void* pNewData );
void* GetItemData( sal_uInt16 nItemId ) const;
void SetItemCommand( sal_uInt16 nItemId, const XubString& rCommand ); void SetItemCommand( sal_uInt16 nItemId, const XubString& rCommand );
const XubString& GetItemCommand( sal_uInt16 nItemId ); const XubString& GetItemCommand( sal_uInt16 nItemId );
......
...@@ -980,6 +980,68 @@ void StatusBar::InsertItem( sal_uInt16 nItemId, sal_uLong nWidth, ...@@ -980,6 +980,68 @@ void StatusBar::InsertItem( sal_uInt16 nItemId, sal_uLong nWidth,
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
void StatusBar::RemoveItem( sal_uInt16 nItemId )
{
sal_uInt16 nPos = GetItemPos( nItemId );
if ( nPos != STATUSBAR_ITEM_NOTFOUND )
{
delete (*mpItemList)[ nPos ];
mpItemList->erase( mpItemList->begin() + nPos );
mbFormat = sal_True;
if ( ImplIsItemUpdate() )
Invalidate();
ImplCallEventListeners( VCLEVENT_STATUSBAR_ITEMREMOVED, (void*) sal_IntPtr(nItemId) );
}
}
// -----------------------------------------------------------------------
void StatusBar::ShowItem( sal_uInt16 nItemId )
{
sal_uInt16 nPos = GetItemPos( nItemId );
if ( nPos != STATUSBAR_ITEM_NOTFOUND )
{
ImplStatusItem* pItem = (*mpItemList)[ nPos ];
if ( !pItem->mbVisible )
{
pItem->mbVisible = sal_True;
mbFormat = sal_True;
if ( ImplIsItemUpdate() )
Invalidate();
ImplCallEventListeners( VCLEVENT_STATUSBAR_SHOWITEM, (void*) sal_IntPtr(nItemId) );
}
}
}
// -----------------------------------------------------------------------
void StatusBar::HideItem( sal_uInt16 nItemId )
{
sal_uInt16 nPos = GetItemPos( nItemId );
if ( nPos != STATUSBAR_ITEM_NOTFOUND )
{
ImplStatusItem* pItem = (*mpItemList)[ nPos ];
if ( pItem->mbVisible )
{
pItem->mbVisible = sal_False;
mbFormat = sal_True;
if ( ImplIsItemUpdate() )
Invalidate();
ImplCallEventListeners( VCLEVENT_STATUSBAR_HIDEITEM, (void*) sal_IntPtr(nItemId) );
}
}
}
// -----------------------------------------------------------------------
sal_Bool StatusBar::IsItemVisible( sal_uInt16 nItemId ) const sal_Bool StatusBar::IsItemVisible( sal_uInt16 nItemId ) const
{ {
sal_uInt16 nPos = GetItemPos( nItemId ); sal_uInt16 nPos = GetItemPos( nItemId );
...@@ -992,6 +1054,54 @@ sal_Bool StatusBar::IsItemVisible( sal_uInt16 nItemId ) const ...@@ -992,6 +1054,54 @@ sal_Bool StatusBar::IsItemVisible( sal_uInt16 nItemId ) const
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
void StatusBar::ShowItems()
{
if ( !mbVisibleItems )
{
mbVisibleItems = sal_True;
if ( !mbProgressMode )
Invalidate();
ImplCallEventListeners( VCLEVENT_STATUSBAR_SHOWALLITEMS );
}
}
// -----------------------------------------------------------------------
void StatusBar::HideItems()
{
if ( mbVisibleItems )
{
mbVisibleItems = sal_False;
if ( !mbProgressMode )
Invalidate();
ImplCallEventListeners( VCLEVENT_STATUSBAR_HIDEALLITEMS );
}
}
// -----------------------------------------------------------------------
void StatusBar::CopyItems( const StatusBar& rStatusBar )
{
// Alle Items entfernen
for ( size_t i = 0, n = mpItemList->size(); i < n; ++i ) {
delete (*mpItemList)[ i ];
}
mpItemList->clear();
// Items kopieren
for ( size_t i = 0, n = rStatusBar.mpItemList->size(); i < n; ++i ) {
mpItemList->push_back( new ImplStatusItem( *(*rStatusBar.mpItemList)[ i ] ) );
}
mbFormat = sal_True;
if ( ImplIsItemUpdate() )
Invalidate();
}
// -----------------------------------------------------------------------
void StatusBar::Clear() void StatusBar::Clear()
{ {
// Alle Item loeschen // Alle Item loeschen
...@@ -1113,6 +1223,42 @@ Point StatusBar::GetItemTextPos( sal_uInt16 nItemId ) const ...@@ -1113,6 +1223,42 @@ Point StatusBar::GetItemTextPos( sal_uInt16 nItemId ) const
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
sal_uLong StatusBar::GetItemWidth( sal_uInt16 nItemId ) const
{
sal_uInt16 nPos = GetItemPos( nItemId );
if ( nPos != STATUSBAR_ITEM_NOTFOUND )
return (*mpItemList)[ nPos ]->mnWidth;
return 0;
}
// -----------------------------------------------------------------------
StatusBarItemBits StatusBar::GetItemBits( sal_uInt16 nItemId ) const
{
sal_uInt16 nPos = GetItemPos( nItemId );
if ( nPos != STATUSBAR_ITEM_NOTFOUND )
return (*mpItemList)[ nPos ]->mnBits;
return 0;
}
// -----------------------------------------------------------------------
long StatusBar::GetItemOffset( sal_uInt16 nItemId ) const
{
sal_uInt16 nPos = GetItemPos( nItemId );
if ( nPos != STATUSBAR_ITEM_NOTFOUND )
return (*mpItemList)[ nPos ]->mnOffset;
return 0;
}
// -----------------------------------------------------------------------
void StatusBar::SetItemText( sal_uInt16 nItemId, const XubString& rText ) void StatusBar::SetItemText( sal_uInt16 nItemId, const XubString& rText )
{ {
sal_uInt16 nPos = GetItemPos( nItemId ); sal_uInt16 nPos = GetItemPos( nItemId );
...@@ -1209,6 +1355,35 @@ void StatusBar::SetItemData( sal_uInt16 nItemId, void* pNewData ) ...@@ -1209,6 +1355,35 @@ void StatusBar::SetItemData( sal_uInt16 nItemId, void* pNewData )
} }
} }
void* StatusBar::GetItemData( sal_uInt16 nItemId ) const
{
sal_uInt16 nPos = GetItemPos( nItemId );
if ( nPos != STATUSBAR_ITEM_NOTFOUND )
return (*mpItemList)[ nPos ]->mpUserData;
return NULL;
}
void StatusBar::RedrawItem( sal_uInt16 nItemId )
{
if ( mbFormat )
return;
sal_uInt16 nPos = GetItemPos( nItemId );
if ( nPos == STATUSBAR_ITEM_NOTFOUND )
return;
ImplStatusItem* pItem = (*mpItemList)[ nPos ];
if ( pItem && (pItem->mnBits & SIB_USERDRAW) &&
pItem->mbVisible && ImplIsItemUpdate() )
{
Update();
ImplDrawItem( sal_True, nPos, sal_False, sal_False );
Flush();
}
}
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
void StatusBar::SetHelpText( sal_uInt16 nItemId, const XubString& rText ) void StatusBar::SetHelpText( sal_uInt16 nItemId, const XubString& rText )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment