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
68 SAL_DLLPRIVATE
ImplTabItem* ImplGetItem( sal_uInt16 nId )
const;
69 SAL_DLLPRIVATE
ImplTabItem* ImplGetItem(
const Point& rPt)
const;
73 SAL_DLLPRIVATE
void ImplChangeTabPage( sal_uInt16 nId, sal_uInt16 nOldId );
74 SAL_DLLPRIVATE
bool ImplPosCurTabPage();
75 virtual void ImplActivateTabPage(
bool bNext );
76 SAL_DLLPRIVATE
void ImplShowFocus();
80 SAL_DLLPRIVATE
void ImplFreeLayoutData();
81 SAL_DLLPRIVATE
bool ImplHandleKeyEvent(
const KeyEvent& rKeyEvent );
86 using Window::ImplInit;
93 SAL_DLLPRIVATE
Size ImplCalculateRequisition(sal_uInt16& nHeaderHeight)
const;
97 WinBits nStyle = WB_STDTABCONTROL );
99 virtual void dispose()
override;
104 virtual void Resize()
override;
115 bool DeactivatePage();
119 void SetTabPageSizePixel(
const Size& rSize );
121 void InsertPage( sal_uInt16 nPageId,
const OUString& rText,
123 void RemovePage( sal_uInt16 nPageId );
125 void SetPageEnabled(sal_uInt16 nPageId,
bool bEnable =
true);
126 void SetPageVisible(sal_uInt16 nPageId,
bool bVisible =
true);
128 sal_uInt16 GetPagePos( sal_uInt16 nPageId )
const;
129 sal_uInt16 GetPageCount()
const;
130 sal_uInt16 GetPageId( sal_uInt16 nPos )
const;
131 sal_uInt16 GetPageId(
const Point& rPos)
const;
132 sal_uInt16 GetPageId(
const OString& rName )
const;
134 void SetCurPageId(sal_uInt16 nPageId);
135 sal_uInt16 GetCurPageId()
const;
137 void SelectTabPage( sal_uInt16 nPageId );
139 void SetTabPage(sal_uInt16 nPageId,
TabPage* pPage);
140 TabPage* GetTabPage( sal_uInt16 nPageId )
const;
142 void SetPageText( sal_uInt16 nPageId,
const OUString& rText );
143 OUString
const & GetPageText( sal_uInt16 nPageId )
const;
145 void SetHelpText( sal_uInt16 nPageId,
const OUString& rText );
146 const OUString&
GetHelpText( sal_uInt16 nPageId )
const;
148 void SetPageName( sal_uInt16 nPageId,
const OString& rName )
const;
149 OString GetPageName( sal_uInt16 nPageId )
const;
157 void SetPageImage( sal_uInt16 nPageId,
const Image& rImage );
178 virtual void SetPosPixel(
const Point& rPos)
override;
182 virtual Size calculateRequisition()
const;
183 void setAllocation(
const Size &rAllocation);
185 std::vector<sal_uInt16> GetPageIDs()
const;
196 class UNLESS_MERGELIBS(VCL_DLLPUBLIC) NotebookbarTabControlBase :
public TabControl,
201 ~NotebookbarTabControlBase()
override;
206 void SetToolBox(
ToolBox* pToolBox );
207 ToolBox* GetToolBox() {
return m_pShortcuts; }
211 static sal_uInt16 GetHeaderHeight();
218 bool bLastContextWasSupported;
221 static sal_uInt16 m_nHeaderHeight;
227 #endif // INCLUDED_VCL_TABCTRL_HXX
virtual FactoryFunction GetUITestFactory() const
DECL_DLLPRIVATE_LINK(ImplHandlePaintHdl, Timer *, void)
virtual void MouseButtonDown(const MouseEvent &rMEvt)
A widget used to choose from a list of items and which has no entry.
#define DECL_LINK(Member, ArgType, RetType)
const OUString & GetHelpText() const
virtual void StateChanged(StateChangedType nStateChange) override
virtual void FillLayoutData() const
void SetAccessibleName(const OUString &rName)
Link< TabControl *, bool > maDeactivateHdl
std::function< std::unique_ptr< UIObject >vcl::Window *)> FactoryFunction
virtual void SetSizePixel(const Size &rNewSize)
OUString GetAccessibleDescription() const
std::unique_ptr< ImplTabCtrlData > mpTabCtrlData
void SetHelpId(const OString &)
virtual const Color & GetCanonicalTextColor(const StyleSettings &_rStyle) const
virtual Size calculateRequisition() const
OUString GetAccessibleName() const
virtual void DumpAsPropertyTree(tools::JsonWriter &)
Dumps itself and potentially its children to a property tree, to be written easily to JSON...
virtual void queue_resize(StateChangedType eReason=StateChangedType::Layout)
void SetHelpText(const OUString &rHelpText)
const OString & GetHelpId() const
virtual bool PreNotify(NotifyEvent &rNEvt)
virtual bool ImplPlaceTabs(tools::Long nWidth)
Link< TabControl *, void > maActivateHdl
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects...
void SetActivatePageHdl(const Link< TabControl *, void > &rLink)
virtual void SetPosSizePixel(const Point &rNewPos, const Size &rNewSize)
virtual void KeyInput(const KeyEvent &rKEvt)
SAL_DLLPRIVATE void ImplInit(vcl::Window *pParent, WinBits nStyle, SystemParentData *pSystemParentData)
virtual Size GetOptimalSize() const override
void SetDeactivatePageHdl(const Link< TabControl *, bool > &rLink)
virtual void Resize() override
tools::Long GetIndexForPoint(const Point &rPoint) const
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects...
void SetAccessibleDescription(const OUString &rDescr)
virtual const vcl::Font & GetCanonicalFont(const StyleSettings &_rStyle) const
virtual void ImplActivateTabPage(bool bNext)
tools::Rectangle GetCharacterBounds(tools::Long nIndex) const
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
virtual void SetContext(vcl::EnumContext::Context eContext)=0
virtual void Command(const CommandEvent &rCEvt)
This implements Widget Layout-based notebook-like menu bar.
virtual void RequestHelp(const HelpEvent &rHEvt)
virtual void SetPosPixel(const Point &rNewPos)
virtual void DataChanged(const DataChangedEvent &rDCEvt)
virtual bool EventNotify(NotifyEvent &rNEvt) override