summaryrefslogtreecommitdiffstats
path: root/svtools
diff options
context:
space:
mode:
authorMatteo Casalin <matteo.casalin@gmx.com>2012-02-13 21:48:44 +0100
committerMatteo Casalin <matteo.casalin@gmx.com>2012-02-17 18:57:47 +0100
commite0cdd2d72da6f6c4f1605fc210ba45f5b9a41c35 (patch)
treed310de59fa288039499fbef5abdda38aa8a15dac /svtools
parentCleanup inludes (diff)
downloadcore-e0cdd2d72da6f6c4f1605fc210ba45f5b9a41c35.tar.gz
core-e0cdd2d72da6f6c4f1605fc210ba45f5b9a41c35.zip
ValueSet: factor out duplicated code in InsertItem
Diffstat (limited to 'svtools')
-rw-r--r--svtools/inc/svtools/valueset.hxx1
-rw-r--r--svtools/source/control/valueset.cxx79
2 files changed, 16 insertions, 64 deletions
diff --git a/svtools/inc/svtools/valueset.hxx b/svtools/inc/svtools/valueset.hxx
index 8cf463c84ca2..b6e0f2f6d974 100644
--- a/svtools/inc/svtools/valueset.hxx
+++ b/svtools/inc/svtools/valueset.hxx
@@ -268,6 +268,7 @@ private:
SVT_DLLPRIVATE ValueSetItem* ImplGetFirstItem();
SVT_DLLPRIVATE sal_uInt16 ImplGetVisibleItemCount() const;
SVT_DLLPRIVATE ValueSetItem* ImplGetVisibleItem( sal_uInt16 nVisiblePos );
+ SVT_DLLPRIVATE void ImplInsertItem( ValueSetItem *const pItem, const size_t nPos );
SVT_DLLPRIVATE void ImplFireAccessibleEvent( short nEventId, const ::com::sun::star::uno::Any& rOldValue, const ::com::sun::star::uno::Any& rNewValue );
SVT_DLLPRIVATE bool ImplHasAccessibleListeners();
SVT_DLLPRIVATE void ImplTracking( const Point& rPos, bool bRepeat );
diff --git a/svtools/source/control/valueset.cxx b/svtools/source/control/valueset.cxx
index decbc99ba31d..f655517e5239 100644
--- a/svtools/source/control/valueset.cxx
+++ b/svtools/source/control/valueset.cxx
@@ -1655,50 +1655,22 @@ void ValueSet::UserDraw( const UserDrawEvent& )
void ValueSet::InsertItem( sal_uInt16 nItemId, const Image& rImage, size_t nPos )
{
- DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
- DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
- "ValueSet::InsertItem(): ItemId already exists" );
-
ValueSetItem* pItem = new ValueSetItem( *this );
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_IMAGE;
pItem->maImage = rImage;
- if ( nPos < mItemList.size() ) {
- ValueItemList::iterator it = mItemList.begin();
- ::std::advance( it, nPos );
- mItemList.insert( it, pItem );
- } else {
- mItemList.push_back( pItem );
- }
-
- mbFormat = true;
- if ( IsReallyVisible() && IsUpdateMode() )
- Invalidate();
+ ImplInsertItem( pItem, nPos );
}
// -----------------------------------------------------------------------
void ValueSet::InsertItem( sal_uInt16 nItemId, const Color& rColor, size_t nPos )
{
- DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
- DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
- "ValueSet::InsertItem(): ItemId already exists" );
-
ValueSetItem* pItem = new ValueSetItem( *this );
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_COLOR;
pItem->maColor = rColor;
- if ( nPos < mItemList.size() ) {
- ValueItemList::iterator it = mItemList.begin();
- ::std::advance( it, nPos );
- mItemList.insert( it, pItem );
- } else {
- mItemList.push_back( pItem );
- }
-
- mbFormat = true;
- if ( IsReallyVisible() && IsUpdateMode() )
- Invalidate();
+ ImplInsertItem( pItem, nPos );
}
// -----------------------------------------------------------------------
@@ -1706,26 +1678,12 @@ void ValueSet::InsertItem( sal_uInt16 nItemId, const Color& rColor, size_t nPos
void ValueSet::InsertItem( sal_uInt16 nItemId, const Image& rImage,
const XubString& rText, size_t nPos )
{
- DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
- DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
- "ValueSet::InsertItem(): ItemId already exists" );
-
ValueSetItem* pItem = new ValueSetItem( *this );
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_IMAGE;
pItem->maImage = rImage;
pItem->maText = rText;
- if ( nPos < mItemList.size() ) {
- ValueItemList::iterator it = mItemList.begin();
- ::std::advance( it, nPos );
- mItemList.insert( it, pItem );
- } else {
- mItemList.push_back( pItem );
- }
-
- mbFormat = true;
- if ( IsReallyVisible() && IsUpdateMode() )
- Invalidate();
+ ImplInsertItem( pItem, nPos );
}
// -----------------------------------------------------------------------
@@ -1733,39 +1691,32 @@ void ValueSet::InsertItem( sal_uInt16 nItemId, const Image& rImage,
void ValueSet::InsertItem( sal_uInt16 nItemId, const Color& rColor,
const XubString& rText, size_t nPos )
{
- DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
- DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
- "ValueSet::InsertItem(): ItemId already exists" );
-
ValueSetItem* pItem = new ValueSetItem( *this );
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_COLOR;
pItem->maColor = rColor;
pItem->maText = rText;
- if ( nPos < mItemList.size() ) {
- ValueItemList::iterator it = mItemList.begin();
- ::std::advance( it, nPos );
- mItemList.insert( it, pItem );
- } else {
- mItemList.push_back( pItem );
- }
-
- mbFormat = true;
- if ( IsReallyVisible() && IsUpdateMode() )
- Invalidate();
+ ImplInsertItem( pItem, nPos );
}
// -----------------------------------------------------------------------
void ValueSet::InsertItem( sal_uInt16 nItemId, size_t nPos )
{
- DBG_ASSERT( nItemId, "ValueSet::InsertItem(): ItemId == 0" );
- DBG_ASSERT( GetItemPos( nItemId ) == VALUESET_ITEM_NOTFOUND,
- "ValueSet::InsertItem(): ItemId already exists" );
-
ValueSetItem* pItem = new ValueSetItem( *this );
pItem->mnId = nItemId;
pItem->meType = VALUESETITEM_USERDRAW;
+ ImplInsertItem( pItem, nPos );
+}
+
+// -----------------------------------------------------------------------
+
+void ValueSet::ImplInsertItem( ValueSetItem *const pItem, const size_t nPos )
+{
+ DBG_ASSERT( pItem->mnId, "ValueSet::InsertItem(): ItemId == 0" );
+ DBG_ASSERT( GetItemPos( pItem->mnId ) == VALUESET_ITEM_NOTFOUND,
+ "ValueSet::InsertItem(): ItemId already exists" );
+
if ( nPos < mItemList.size() ) {
ValueItemList::iterator it = mItemList.begin();
::std::advance( it, nPos );