20#ifndef INCLUDED_VCL_TABCTRL_HXX
21#define INCLUDED_VCL_TABCTRL_HXX
23#include <config_options.h>
38#define TAB_APPEND (sal_uInt16(0xFFFF))
39#define TAB_PAGE_NOTFOUND (sal_uInt16(0xFFFF))
43#define TAB_TABOFFSET_X 3
44#define TAB_TABOFFSET_Y 3
45#define TAB_EXTRASPACE_X 6
46#define TAB_BORDER_LEFT 1
47#define TAB_BORDER_TOP 1
48#define TAB_BORDER_RIGHT 2
49#define TAB_BORDER_BOTTOM 2
69 SAL_DLLPRIVATE
ImplTabItem* ImplGetItem( sal_uInt16 nId )
const;
70 SAL_DLLPRIVATE
ImplTabItem* ImplGetItem(
const Point& rPt)
const;
74 SAL_DLLPRIVATE
void ImplChangeTabPage( sal_uInt16 nId, sal_uInt16 nOldId );
75 SAL_DLLPRIVATE
bool ImplPosCurTabPage();
76 virtual void ImplActivateTabPage(
bool bNext );
77 SAL_DLLPRIVATE
void ImplShowFocus();
81 SAL_DLLPRIVATE
void ImplFreeLayoutData();
82 SAL_DLLPRIVATE
bool ImplHandleKeyEvent(
const KeyEvent& rKeyEvent );
87 using Window::ImplInit;
94 SAL_DLLPRIVATE
Size ImplCalculateRequisition(sal_uInt16& nHeaderHeight)
const;
100 virtual void dispose()
override;
105 virtual void Resize()
override;
116 bool DeactivatePage();
120 void SetTabPageSizePixel(
const Size& rSize );
122 void InsertPage( sal_uInt16 nPageId,
const OUString& rText,
124 void RemovePage( sal_uInt16 nPageId );
126 void SetPageEnabled(sal_uInt16 nPageId,
bool bEnable =
true);
127 void SetPageVisible(sal_uInt16 nPageId,
bool bVisible =
true);
129 sal_uInt16 GetPagePos( sal_uInt16 nPageId )
const;
130 sal_uInt16 GetPageCount()
const;
131 sal_uInt16 GetPageId( sal_uInt16 nPos )
const;
132 sal_uInt16 GetPageId(
const Point& rPos)
const;
133 sal_uInt16 GetPageId(
const OUString& rName )
const;
136 sal_uInt16 GetCurPageId()
const;
138 void SelectTabPage( sal_uInt16 nPageId );
140 void SetTabPage(sal_uInt16 nPageId,
TabPage* pPage);
141 TabPage* GetTabPage( sal_uInt16 nPageId )
const;
143 void SetPageText( sal_uInt16 nPageId,
const OUString& rText );
144 OUString
const & GetPageText( sal_uInt16 nPageId )
const;
146 void SetHelpText( sal_uInt16 nPageId,
const OUString& rText );
147 const OUString&
GetHelpText( sal_uInt16 nPageId )
const;
149 void SetPageName( sal_uInt16 nPageId,
const OUString& rName )
const;
150 OUString GetPageName( sal_uInt16 nPageId )
const;
158 void SetPageImage( sal_uInt16 nPageId,
const Image& rImage );
179 virtual void SetPosPixel(
const Point& rPos)
override;
183 virtual Size calculateRequisition()
const;
184 void setAllocation(
const Size &rAllocation);
186 std::vector<sal_uInt16> GetPageIDs()
const;
192 virtual bool set_property(
const OUString &rKey,
const OUString &rValue)
override;
199class UNLESS_MERGELIBS(VCL_DLLPUBLIC) NotebookbarTabControlBase :
public TabControl,
200 public NotebookbarContextControl
204 ~NotebookbarTabControlBase()
override;
209 void SetToolBox(
ToolBox* pToolBox );
210 ToolBox* GetToolBox() {
return m_pShortcuts; }
214 static sal_uInt16 GetHeaderHeight();
221 bool bLastContextWasSupported;
224 static sal_uInt16 m_nHeaderHeight;
tools::Long GetIndexForPoint(const Point &rPoint) const
virtual void FillLayoutData() const
virtual const Color & GetCanonicalTextColor(const StyleSettings &_rStyle) const
virtual bool EventNotify(NotifyEvent &rNEvt) override
virtual void StateChanged(StateChangedType nStateChange) override
virtual void Resize() override
virtual Size GetOptimalSize() const override
tools::Rectangle GetCharacterBounds(tools::Long nIndex) const
virtual const vcl::Font & GetCanonicalFont(const StyleSettings &_rStyle) const
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
A widget used to choose from a list of items and which has no entry.
This implements Widget Layout-based notebook-like menu bar.
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
void SetDeactivatePageHdl(const Link< TabControl *, bool > &rLink)
virtual Size calculateRequisition() const
Link< TabControl *, bool > maDeactivateHdl
DECL_DLLPRIVATE_LINK(ImplWindowEventListener, VclWindowEvent &, void)
std::unique_ptr< ImplTabCtrlData > mpTabCtrlData
DECL_DLLPRIVATE_LINK(ImplListBoxSelectHdl, ListBox &, void)
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
virtual void ImplActivateTabPage(bool bNext)
virtual bool ImplPlaceTabs(tools::Long nWidth)
Link< TabControl *, void > maActivateHdl
void SetActivatePageHdl(const Link< TabControl *, void > &rLink)
virtual void RequestHelp(const HelpEvent &rHEvt)
void SetHelpText(const OUString &rHelpText)
virtual void SetSizePixel(const Size &rNewSize)
virtual void Command(const CommandEvent &rCEvt)
virtual void queue_resize(StateChangedType eReason=StateChangedType::Layout)
virtual void MouseButtonDown(const MouseEvent &rMEvt)
void SetAccessibleDescription(const OUString &rDescr)
virtual void KeyInput(const KeyEvent &rKEvt)
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
const OUString & GetHelpId() const
virtual bool PreNotify(NotifyEvent &rNEvt)
void SetAccessibleName(const OUString &rName)
virtual void DumpAsPropertyTree(tools::JsonWriter &)
Dumps itself and potentially its children to a property tree, to be written easily to JSON.
virtual void DataChanged(const DataChangedEvent &rDCEvt)
OUString GetAccessibleName() const
virtual void SetPosPixel(const Point &rNewPos)
virtual bool set_property(const OUString &rKey, const OUString &rValue)
virtual void SetPosSizePixel(const Point &rNewPos, const Size &rNewSize)
OUString GetAccessibleDescription() const
SAL_DLLPRIVATE void ImplInit(vcl::Window *pParent, WinBits nStyle, SystemParentData *pSystemParentData)
const OUString & GetHelpText() const
virtual FactoryFunction GetUITestFactory() const
void SetHelpId(const OUString &)
virtual void SetCurPageId(const OUString &rName) override
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
WinBits const WB_STDTABCONTROL