20#ifndef INCLUDED_VCL_SPLITWIN_HXX
21#define INCLUDED_VCL_SPLITWIN_HXX
42#define SPLITWINDOW_APPEND (sal_uInt16(0xFFFF))
43#define SPLITWINDOW_ITEM_NOTFOUND (sal_uInt16(0xFFFF))
45#define SPLITWIN_SPLITSIZE 4
46#define SPLITWIN_SPLITSIZEEXLN 7
86 using Window::ImplInit;
89 SAL_DLLPRIVATE
void ImplCalcLayout();
90 SAL_DLLPRIVATE
void ImplUpdate();
91 SAL_DLLPRIVATE
void ImplSetWindowSize(
tools::Long nDelta );
92 SAL_DLLPRIVATE
void ImplSplitMousePos(
Point& rMousePos );
93 SAL_DLLPRIVATE
void ImplGetButtonRect(
tools::Rectangle& rRect,
bool bTest )
const;
94 SAL_DLLPRIVATE
void ImplGetFadeInRect(
tools::Rectangle& rRect,
bool bTest =
false )
const;
98 SAL_DLLPRIVATE
void ImplNewAlign();
100 SAL_DLLPRIVATE
void ImplStartSplit(
const MouseEvent& rMEvt );
106 static SAL_DLLPRIVATE sal_uInt16 ImplTestSplit(
ImplSplitSet* pSet,
const Point& rPos,
109 static SAL_DLLPRIVATE sal_uInt16 ImplTestSplit(
const SplitWindow* pWindow,
const Point& rPos,
111 SAL_DLLPRIVATE
void ImplDrawSplitTracking(
const Point& rPos);
118 virtual void dispose()
override;
120 virtual void StartSplit();
121 virtual void Split();
122 virtual void SplitResize();
123 virtual void FadeIn();
124 virtual void FadeOut();
130 virtual void Resize()
override;
137 sal_uInt16 nPos, sal_uInt16 nIntoSetId,
139 void InsertItem( sal_uInt16 nId,
tools::Long nSize,
140 sal_uInt16 nPos, sal_uInt16 nIntoSetId,
142 void RemoveItem( sal_uInt16 nId );
144 void SplitItem( sal_uInt16 nId,
tools::Long nNewSize,
147 void SetItemSize( sal_uInt16 nId,
tools::Long nNewSize );
157 void SetItemSizeRange (sal_uInt16 nId,
const Range& rRange);
161 sal_uInt16 GetSet( sal_uInt16 nId )
const;
162 sal_uInt16 GetItemId(
vcl::Window* pWindow )
const;
163 sal_uInt16 GetItemId(
const Point& rPos )
const;
164 sal_uInt16 GetItemPos( sal_uInt16 nId, sal_uInt16 nSetId = 0 )
const;
165 sal_uInt16 GetItemId( sal_uInt16 nPos )
const;
166 sal_uInt16 GetItemCount( sal_uInt16 nSetId = 0 )
const;
167 bool IsItemValid( sal_uInt16 nId )
const;
175 Size CalcLayoutSizePixel(
const Size& aNewSize );
177 void ShowFadeInHideButton();
178 void ShowFadeOutButton();
virtual void DataChanged(const DataChangedEvent &rDCEvt) override
virtual void StateChanged(StateChangedType nType) override
SAL_DLLPRIVATE void ImplInit(vcl::Window *pParent, WinBits nStyle)
DockingWindow & operator=(const DockingWindow &)=delete
virtual void Tracking(const TrackingEvent &rTEvt) override
SAL_DLLPRIVATE void ImplInitSettings()
virtual void dispose() override
This is intended to be used to clear any locally held references to other Window-subclass objects.
Some things multiple-inherit from VclAbstractDialog and OutputDevice, so we need to use virtual inher...
WindowAlign GetAlign() const
tools::Long mnBottomBorder
tools::Rectangle maDragRect
void SetSplitHdl(const Link< SplitWindow *, void > &rLink)
ImplSplitSet * mpSplitSet
bool IsHorizontal() const
tools::Long mnRightBorder
std::unique_ptr< ImplSplitSet > mpMainSet
sal_uInt16 mnMouseModifier
bool IsFadeNoButtonMode() const
Link< SplitWindow *, void > maSplitHdl
std::unique_ptr< tools::Long[]> mpLastSizes
SplitWindow(const SplitWindow &)=delete
void SetMaxSizePixel(tools::Long nNewMaxSize)
virtual void RequestHelp(const HelpEvent &rHEvt)
virtual void MouseButtonDown(const MouseEvent &rMEvt)
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
virtual bool PreNotify(NotifyEvent &rNEvt)
virtual void MouseMove(const MouseEvent &rMEvt)