22#if !defined(VCL_DLLIMPLEMENTATION) && !defined(TOOLKIT_DLLIMPLEMENTATION) && !defined(VCL_INTERNALS)
23#error "don't use this in new code"
30#define COMBOBOX_APPEND (SAL_MAX_INT32)
31#define COMBOBOX_ENTRY_NOTFOUND (SAL_MAX_INT32)
32#define COMBOBOX_MAX_ENTRIES (SAL_MAX_INT32 - 1)
41 struct SAL_DLLPRIVATE
Impl;
45 using Window::ImplInit;
48 SAL_DLLPRIVATE
void ImplCalcEditHeight();
49 SAL_DLLPRIVATE
tools::Long getMaxWidthScrollBarAndDownButton()
const;
52 bool IsDropDownBox()
const;
59 virtual void dispose()
override;
62 virtual void Resize()
override;
70 virtual void Modify()
override;
78 void AdaptDropDownLineCountToMaximum();
79 void SetDropDownLineCount( sal_uInt16 nLines );
80 sal_uInt16 GetDropDownLineCount()
const;
82 void EnableAutoSize(
bool bAuto );
83 bool IsAutoSizeEnabled()
const;
85 virtual void SetText(
const OUString& rStr )
override;
86 virtual void SetText(
const OUString& rStr,
const Selection& rNewSelection )
override;
88 sal_Int32 InsertEntry(
const OUString& rStr, sal_Int32 nPos =
COMBOBOX_APPEND);
89 sal_Int32 InsertEntryWithImage(
const OUString& rStr,
const Image& rImage, sal_Int32 nPos =
COMBOBOX_APPEND );
91 void RemoveEntryAt(sal_Int32 nPos);
94 sal_Int32 GetEntryPos( std::u16string_view rStr )
const;
95 Image GetEntryImage( sal_Int32 nPos )
const;
96 OUString GetEntry( sal_Int32 nPos )
const;
97 sal_Int32 GetEntryCount()
const;
99 bool IsTravelSelect()
const;
100 bool IsInDropDown()
const;
101 void ToggleDropDown();
103 void SetUserItemSize(
const Size& rSz );
104 void EnableUserDraw(
bool bUserDraw );
105 bool IsUserDrawEnabled()
const;
109 void SetHighlightColor(
const Color& rColor);
110 void SetHighlightTextColor(
const Color& rColor);
115 void AddSeparator( sal_Int32 n );
117 void EnableAutocomplete(
bool bEnable,
bool bMatchCase =
false );
118 bool IsAutocompleteEnabled()
const;
120 bool IsMultiSelectionEnabled()
const;
128 Size CalcAdjustedSize(
const Size& rPrefSize )
const;
129 Size CalcBlockSize( sal_uInt16 nColumns, sal_uInt16 nLines )
const;
130 void GetMaxVisColumnsAndLines( sal_uInt16& rnCols, sal_uInt16& rnLines )
const;
132 void SetMRUEntries( std::u16string_view rEntries );
133 OUString GetMRUEntries()
const;
134 void SetMaxMRUCount( sal_Int32 n );
135 sal_Int32 GetMaxMRUCount()
const;
136 void SetEntryData( sal_Int32 nPos,
void* pNewData );
137 void* GetEntryData( sal_Int32 nPos )
const;
139 sal_Int32 GetTopEntry()
const;
141 sal_uInt16 GetDisplayLineCount()
const;
143 sal_Int32 GetSelectedEntryCount()
const;
144 sal_Int32 GetSelectedEntryPos( sal_Int32 nSelIndex = 0 )
const;
145 bool IsEntryPosSelected( sal_Int32 nPos )
const;
146 void SelectEntryPos( sal_Int32 nPos,
bool bSelect =
true );
147 void SetNoSelection();
155 bool IsModifyByKeyboard()
const;
159 bool IsSyntheticModify()
const;
192 virtual bool set_property(
const OUString &rKey,
const OUString &rValue)
override;
A widget used to choose from a list of items and which has an entry.
std::unique_ptr< Impl > m_pImpl
tools::Long GetIndexForPoint(const Point &rPoint) const
virtual bool EventNotify(NotifyEvent &rNEvt) override
void SetWidthInChars(sal_Int32 nWidthInChars)
SAL_DLLPRIVATE void ImplInit(vcl::Window *pParent, WinBits nStyle)
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
virtual void SetText(const OUString &rStr) override
virtual Size GetOptimalSize() const override
virtual bool set_property(const OUString &rKey, const OUString &rValue) override
void setMaxWidthChars(sal_Int32 nWidth)
virtual void DataChanged(const DataChangedEvent &rDCEvt) override
static SAL_DLLPRIVATE WinBits ImplInitStyle(WinBits nStyle)
virtual Size CalcMinimumSize() const
virtual void DumpAsPropertyTree(tools::JsonWriter &rJsonWriter) override
Dumps itself and potentially its children to a property tree, to be written easily to JSON.
virtual void FillLayoutData() const override
virtual FactoryFunction GetUITestFactory() const override
virtual void Draw(OutputDevice *pDev, const Point &rPos, SystemTextColorFlags nFlags) override
virtual void Resize() override
virtual void StateChanged(StateChangedType nType) override
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
Event to pass information for UserDraw() handling eg. in comboboxes.
virtual const Wallpaper & GetDisplayBackground() const
virtual void setPosSizePixel(tools::Long nX, tools::Long nY, tools::Long nWidth, tools::Long nHeight, PosSizeFlags nFlags=PosSizeFlags::All)
void SetBorderStyle(WindowBorderStyle nBorderStyle)
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
void Clear(EHistoryType eHistory)