summaryrefslogtreecommitdiff
path: root/svtools/inc
diff options
context:
space:
mode:
authorMatteo Casalin <matteo.casalin@gmx.com>2012-02-26 22:47:10 +0100
committerMatteo Casalin <matteo.casalin@gmx.com>2012-03-03 09:49:35 +0100
commit0809906906d7941ceb9ae170a41c482fdd1e6bfa (patch)
tree6f271cb24b74ad074655c30c1818e87da51ba69a /svtools/inc
parent8d4ab7fd776f8709dab9786951a560c9c59c3ba7 (diff)
ValueSet: reduce memory footprint by dynamically evaluating rectangles
Diffstat (limited to 'svtools/inc')
-rw-r--r--svtools/inc/svtools/valueset.hxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/svtools/inc/svtools/valueset.hxx b/svtools/inc/svtools/valueset.hxx
index 7e0b7db0f6d2..22271da5369b 100644
--- a/svtools/inc/svtools/valueset.hxx
+++ b/svtools/inc/svtools/valueset.hxx
@@ -217,6 +217,10 @@ private:
ValueItemList mItemList;
ValueSetItem* mpNoneItem;
ScrollBar* mpScrBar;
+ Rectangle maNoneItemRect;
+ Rectangle maItemListRect;
+ long mnItemWidth;
+ long mnItemHeight;
long mnTextOffset;
long mnVisLines;
long mnLines;
@@ -241,6 +245,7 @@ private:
bool mbScroll : 1;
bool mbFullMode : 1;
bool mbIsTransientChildrenDisabled : 1;
+ bool mbHasVisibleItems : 1;
Color maColor;
Link maDoubleClickHdl;
Link maSelectHdl;
@@ -255,7 +260,7 @@ private:
SVT_DLLPRIVATE void ImplInitSettings( bool bFont, bool bForeground, bool bBackground );
SVT_DLLPRIVATE void ImplInitScrollBar();
SVT_DLLPRIVATE void ImplDeleteItems();
- SVT_DLLPRIVATE void ImplFormatItem( ValueSetItem* pItem );
+ SVT_DLLPRIVATE void ImplFormatItem( ValueSetItem* pItem, Rectangle aRect );
SVT_DLLPRIVATE void ImplDrawItemText( const XubString& rStr );
SVT_DLLPRIVATE void ImplDrawSelect( sal_uInt16 nItemId, const bool bFocus, const bool bDrawSel );
SVT_DLLPRIVATE void ImplDrawSelect();
@@ -270,6 +275,7 @@ private:
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 Rectangle ImplGetItemRect( size_t nPos ) const;
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 );