summaryrefslogtreecommitdiff
path: root/vcl/inc/window.h
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/inc/window.h')
-rw-r--r--vcl/inc/window.h65
1 files changed, 33 insertions, 32 deletions
diff --git a/vcl/inc/window.h b/vcl/inc/window.h
index 75b8f5af3f61..a2066d4bf5b0 100644
--- a/vcl/inc/window.h
+++ b/vcl/inc/window.h
@@ -35,6 +35,7 @@
#include <vcl/timer.hxx>
#include <vcl/idle.hxx>
#include <vcl/vclevent.hxx>
+#include <vcl/vclptr.hxx>
#include <vector>
struct SalPaintEvent;
@@ -114,15 +115,15 @@ struct ImplWinData
sal_uInt16 mnIsTopWindow;
bool mbMouseOver; //< tracks mouse over for native widget paint effect
bool mbEnableNativeWidget; //< toggle native widget rendering
- ::std::list< vcl::Window* >
+ ::std::list< VclPtr<vcl::Window> >
maTopWindowChildren;
};
struct ImplOverlapData
{
- VirtualDevice* mpSaveBackDev; //< saved background bitmap
- vcl::Region* mpSaveBackRgn; //< saved region, which must be invalidated
- vcl::Window* mpNextBackWin; //< next window with saved background
+ VclPtr<VirtualDevice> mpSaveBackDev; //< saved background bitmap
+ vcl::Region* mpSaveBackRgn; //< saved region, which must be invalidated
+ VclPtr<vcl::Window> mpNextBackWin; //< next window with saved background
sal_uIntPtr mnSaveBackSize; //< bitmap size of saved background
bool mbSaveBack; //< true: save background
sal_uInt8 mnTopLevel; //< Level for Overlap-Window
@@ -133,13 +134,13 @@ struct ImplFrameData
Idle maPaintIdle; //< paint idle handler
Idle maResizeIdle; //< resize timer
InputContext maOldInputContext; //< last set Input Context
- vcl::Window* mpNextFrame; //< next frame window
- vcl::Window* mpFirstOverlap; //< first overlap vcl::Window
- vcl::Window* mpFocusWin; //< focus window (is also set, when frame doesn't have the focous)
- vcl::Window* mpMouseMoveWin; //< last window, where MouseMove() called
- vcl::Window* mpMouseDownWin; //< last window, where MouseButtonDown() called
- vcl::Window* mpFirstBackWin; //< first overlap-window with saved background
- ::std::vector<vcl::Window *> maOwnerDrawList; //< List of system windows with owner draw decoration
+ VclPtr<vcl::Window> mpNextFrame; //< next frame window
+ VclPtr<vcl::Window> mpFirstOverlap; //< first overlap vcl::Window
+ VclPtr<vcl::Window> mpFocusWin; //< focus window (is also set, when frame doesn't have the focous)
+ VclPtr<vcl::Window> mpMouseMoveWin; //< last window, where MouseMove() called
+ VclPtr<vcl::Window> mpMouseDownWin; //< last window, where MouseButtonDown() called
+ VclPtr<vcl::Window> mpFirstBackWin; //< first overlap-window with saved background
+ ::std::vector<VclPtr<vcl::Window> > maOwnerDrawList; //< List of system windows with owner draw decoration
PhysicalFontCollection* mpFontCollection; //< Font-List for this frame
ImplFontCache* mpFontCache; //< Font-Cache for this frame
sal_Int32 mnDPIX; //< Original Screen Resolution
@@ -188,9 +189,9 @@ struct ImplAccessibleInfos
sal_uInt16 nAccessibleRole;
OUString* pAccessibleName;
OUString* pAccessibleDescription;
- vcl::Window* pLabeledByWindow;
- vcl::Window* pLabelForWindow;
- vcl::Window* pMemberOfWindow;
+ VclPtr<vcl::Window> pLabeledByWindow;
+ VclPtr<vcl::Window> pLabelForWindow;
+ VclPtr<vcl::Window> pMemberOfWindow;
ImplAccessibleInfos();
~ImplAccessibleInfos();
@@ -212,21 +213,21 @@ public:
ImplFrameData* mpFrameData;
SalFrame* mpFrame;
SalObject* mpSysObj;
- vcl::Window* mpFrameWindow;
- vcl::Window* mpOverlapWindow;
- vcl::Window* mpBorderWindow;
- vcl::Window* mpClientWindow;
- vcl::Window* mpParent;
- vcl::Window* mpRealParent;
- vcl::Window* mpFirstChild;
- vcl::Window* mpLastChild;
- vcl::Window* mpFirstOverlap;
- vcl::Window* mpLastOverlap;
- vcl::Window* mpPrev;
- vcl::Window* mpNext;
- vcl::Window* mpNextOverlap;
- vcl::Window* mpLastFocusWindow;
- vcl::Window* mpDlgCtrlDownWindow;
+ VclPtr<vcl::Window> mpFrameWindow;
+ VclPtr<vcl::Window> mpOverlapWindow;
+ VclPtr<vcl::Window> mpBorderWindow;
+ VclPtr<vcl::Window> mpClientWindow;
+ VclPtr<vcl::Window> mpParent;
+ VclPtr<vcl::Window> mpRealParent;
+ VclPtr<vcl::Window> mpFirstChild;
+ VclPtr<vcl::Window> mpLastChild;
+ VclPtr<vcl::Window> mpFirstOverlap;
+ VclPtr<vcl::Window> mpLastOverlap;
+ VclPtr<vcl::Window> mpPrev;
+ VclPtr<vcl::Window> mpNext;
+ VclPtr<vcl::Window> mpNextOverlap;
+ VclPtr<vcl::Window> mpLastFocusWindow;
+ VclPtr<vcl::Window> mpDlgCtrlDownWindow;
VclEventListeners maEventListeners;
VclEventListeners maChildEventListeners;
@@ -261,8 +262,8 @@ public:
InputContext maInputContext;
::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > mxWindowPeer;
::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > mxAccessible;
- std::shared_ptr<VclSizeGroup> m_xSizeGroup;
- std::vector<FixedText*> m_aMnemonicLabels;
+ std::shared_ptr< VclSizeGroup > m_xSizeGroup;
+ std::vector< VclPtr<FixedText> > m_aMnemonicLabels;
ImplAccessibleInfos* mpAccessibleInfos;
VCLXWindow* mpVCLXWindow;
vcl::Region maWinRegion; //< region to 'shape' the VCL window (frame coordinates)
@@ -354,7 +355,7 @@ public:
mbCompoundControlHasFocus:1,
mbPaintDisabled:1,
mbAllResize:1,
- mbInDtor:1,
+ mbInDispose:1,
mbExtTextInput:1,
mbInFocusHdl:1,
mbOverlapVisible:1,