173#define WB_ITEMBORDER (WinBits(0x00010000))
174#define WB_DOUBLEBORDER (WinBits(0x00020000))
175#define WB_NAMEFIELD (WinBits(0x00040000))
176#define WB_NONEFIELD (WinBits(0x00080000))
177#define WB_FLATVALUESET (WinBits(0x02000000))
178#define WB_NO_DIRECTSELECT (WinBits(0x04000000))
179#define WB_MENUSTYLEVALUESET (WinBits(0x08000000))
181#define VALUESET_APPEND (size_t(-1))
182#define VALUESET_ITEM_NOTFOUND (size_t(-1))
237 const bool bFocus,
const bool bDrawSel,
238 const bool bSelected,
const bool bHover);
246 SVT_DLLPRIVATE void ImplInsertItem( std::unique_ptr<ValueSetItem> pItem,
const size_t nPos );
248 SVT_DLLPRIVATE void ImplFireAccessibleEvent(
short nEventId,
const css::uno::Any& rOldValue,
const css::uno::Any& rNewValue );
258 Size GetLargestItemSize();
264 virtual css::uno::Reference<css::accessibility::XAccessible>
CreateAccessible()
override;
268 ValueSet(std::unique_ptr<weld::ScrolledWindow> pScrolledWindow);
280 virtual void Resize()
override;
282 virtual void Show()
override;
283 virtual void Hide()
override;
294 void SetOptimalSize();
297 void InsertItem(sal_uInt16 nItemId,
const Image& rImage);
299 void InsertItem(sal_uInt16 nItemId,
const Image& rImage,
300 const OUString& rStr,
size_t nPos =
VALUESET_APPEND,
bool bShowLegend =
false);
302 void InsertItem(sal_uInt16 nItemId,
const Color& rColor,
303 const OUString& rStr);
307 void InsertItem(sal_uInt16 nItemId,
const OUString& rStr,
size_t nPos);
308 void RemoveItem(sal_uInt16 nItemId);
312 size_t GetItemCount()
const;
313 size_t GetItemPos( sal_uInt16 nItemId )
const;
314 sal_uInt16 GetItemId(
size_t nPos )
const;
315 sal_uInt16 GetItemId(
const Point& rPos )
const;
317 void EnableFullItemMode(
bool bFullMode );
319 void SetColCount( sal_uInt16 nNewCols = 1 );
324 void SetLineCount( sal_uInt16 nNewLines = 0 );
327 return mnUserVisLines;
332 void SelectItem( sal_uInt16 nItemId );
339 return GetItemPos( mnSelItemId );
343 return !mbNoSelection && (nItemId == mnSelItemId);
345 void SetNoSelection();
348 return mbNoSelection;
351 void RecalculateItemSizes();
353 void SetItemImage( sal_uInt16 nItemId,
const Image& rImage );
354 Image GetItemImage( sal_uInt16 nItemId )
const;
355 void SetItemColor( sal_uInt16 nItemId,
const Color& rColor );
356 Color GetItemColor( sal_uInt16 nItemId )
const;
357 void SetItemData( sal_uInt16 nItemId,
void* pData );
358 void* GetItemData( sal_uInt16 nItemId )
const;
359 void SetItemText( sal_uInt16 nItemId,
const OUString& rStr );
360 OUString GetItemText( sal_uInt16 nItemId )
const;
361 void SetColor(
const Color& rColor );
368 return !
maColor.IsTransparent();
371 void SetExtraSpacing( sal_uInt16 nNewSpacing );
376 Size CalcWindowSizePixel(
const Size& rItemSize,
377 sal_uInt16 nCalcCols = 0,
378 sal_uInt16 nCalcLines = 0)
const;
379 Size CalcItemSizePixel(
const Size& rSize)
const;
380 int GetScrollWidth()
const;
389 maDoubleClickHdl = rLink;
394 return mbEdgeBlending;
396 void SetEdgeBlending(
bool bNew);
400 mnSavedItemId = IsNoSelection() ? -1 : GetSelectedItemId();
405 int nItemId = IsNoSelection() ? -1 : GetSelectedItemId();
406 return mnSavedItemId != nItemId;
void SetSelectHdl(const Link< ValueSet *, void > &rLink)
tools::Long mnUserItemWidth
Link< ValueSet *, void > maSelectHdl
tools::Rectangle maNoneItemRect
bool IsNoSelection() const
OUString const & GetText() const
void SetDoubleClickHdl(const Link< ValueSet *, void > &rLink)
sal_uInt16 GetSelectedItemId() const
css::uno::Reference< css::accessibility::XAccessible > mxAccessible
std::unique_ptr< ValueSetItem > mpNoneItem
tools::Long mnUserItemHeight
ScopedVclPtr< VirtualDevice > maVirDev
DECL_DLLPRIVATE_LINK(ImplScrollHdl, weld::ScrolledWindow &, void)
bool GetEdgeBlending() const
sal_uInt16 GetColCount() const
sal_uInt16 GetLineCount() const
bool IsItemSelected(sal_uInt16 nItemId) const
size_t GetSelectItemPos() const
weld::ScrolledWindow * GetScrollBar() const
Link< ValueSet *, void > maDoubleClickHdl
bool IsValueChangedFromSaved() const
ValueSet(const ValueSet &)=delete
sal_uInt16 mnUserVisLines
tools::Rectangle maItemListRect
void SetText(const OUString &rText)
std::unique_ptr< weld::ScrolledWindow > mxScrolledWindow
DrawFrameStyle mnFrameStyle
constexpr ::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
void Clear(EHistoryType eHistory)
std::vector< std::unique_ptr< ValueSetItem > > ValueItemList