26#include <com/sun/star/awt/XWindow2.hpp>
27#include <com/sun/star/awt/XVclWindowPeer.hpp>
28#include <com/sun/star/awt/XLayoutConstrains.hpp>
29#include <com/sun/star/awt/XView.hpp>
30#include <com/sun/star/beans/XPropertySetInfo.hpp>
31#include <com/sun/star/accessibility/XAccessible.hpp>
32#include <com/sun/star/awt/XDockableWindow.hpp>
33#include <com/sun/star/awt/XStyleSettingsSupplier.hpp>
55 class IAccessibleFactory;
61typedef cppu::ImplInheritanceHelper<
VCLXDevice,
63 css::awt::XVclWindowPeer,
64 css::awt::XLayoutConstrains,
66 css::awt::XDockableWindow,
67 css::accessibility::XAccessible,
68 css::lang::XEventListener,
69 css::beans::XPropertySetInfo,
70 css::awt::XStyleSettingsSupplier
76 std::unique_ptr<VCLXWindowImpl>
mpImpl;
81 Size ImplCalcWindowSize(
const Size& rOutSz )
const;
84 virtual void ProcessWindowEvent(
const VclWindowEvent& rVclWindowEvent );
85 virtual css::uno::Reference< css::accessibility::XAccessibleContext >
86 CreateAccessibleContext();
88 void SetSynthesizingVCLEvent(
bool b );
89 bool IsSynthesizingVCLEvent()
const;
91 void SetSystemParent_Impl(
const css::uno::Any& rHandle );
96 static void PushPropertyIds( std::vector< sal_uInt16 > &aIds,
int nFirstId, ...);
98 static void ImplGetPropertyIds( std::vector< sal_uInt16 > &aIds,
99 bool bWithDefaults =
false );
100 virtual void GetPropertyIds( std::vector< sal_uInt16 > &aIds );
118 void ImplExecuteAsyncWithoutSolarLock(
127 template<
class derived_type > derived_type*
GetAs()
const {
128 return static_cast< derived_type *
>( GetWindow() ); }
130 return dynamic_cast< derived_type *
>( GetWindow() ); }
133 auto p = GetOutputDevice().get();
134 return p ?
p->GetOwnerWindow() :
nullptr;
137 void suspendVclEventListening( );
138 void resumeVclEventListening( );
140 void notifyWindowRemoved(
vcl::Window const & _rWindow );
142 bool IsDisposed()
const;
145 virtual void SAL_CALL disposing(
const css::lang::EventObject& Source )
override;
148 void SAL_CALL
dispose( )
override;
149 void SAL_CALL addEventListener(
const css::uno::Reference< css::lang::XEventListener >& rxListener )
override;
150 void SAL_CALL removeEventListener(
const css::uno::Reference< css::lang::XEventListener >& rxListener )
override;
153 void SAL_CALL setPosSize( sal_Int32 X, sal_Int32 Y, sal_Int32 Width, sal_Int32 Height, sal_Int16 Flags )
override;
154 css::awt::Rectangle SAL_CALL getPosSize( )
override;
155 void SAL_CALL setVisible(
sal_Bool Visible )
override;
156 void SAL_CALL setEnable(
sal_Bool Enable )
override;
157 void SAL_CALL setFocus( )
override;
158 void SAL_CALL addWindowListener(
const css::uno::Reference< css::awt::XWindowListener >& rrxListener )
override;
159 void SAL_CALL removeWindowListener(
const css::uno::Reference< css::awt::XWindowListener >& rrxListener )
override;
160 void SAL_CALL addFocusListener(
const css::uno::Reference< css::awt::XFocusListener >& rrxListener )
override;
161 void SAL_CALL removeFocusListener(
const css::uno::Reference< css::awt::XFocusListener >& rrxListener )
override;
162 void SAL_CALL addKeyListener(
const css::uno::Reference< css::awt::XKeyListener >& rrxListener )
override;
163 void SAL_CALL removeKeyListener(
const css::uno::Reference< css::awt::XKeyListener >& rrxListener )
override;
164 void SAL_CALL addMouseListener(
const css::uno::Reference< css::awt::XMouseListener >& rrxListener )
override;
165 void SAL_CALL removeMouseListener(
const css::uno::Reference< css::awt::XMouseListener >& rrxListener )
override;
166 void SAL_CALL addMouseMotionListener(
const css::uno::Reference< css::awt::XMouseMotionListener >& rrxListener )
override;
167 void SAL_CALL removeMouseMotionListener(
const css::uno::Reference< css::awt::XMouseMotionListener >& rrxListener )
override;
168 void SAL_CALL addPaintListener(
const css::uno::Reference< css::awt::XPaintListener >& rrxListener )
override;
169 void SAL_CALL removePaintListener(
const css::uno::Reference< css::awt::XPaintListener >& rrxListener )
override;
172 css::uno::Reference< css::awt::XToolkit > SAL_CALL getToolkit( )
override;
173 void SAL_CALL setPointer(
const css::uno::Reference< css::awt::XPointer >& Pointer )
override;
174 void SAL_CALL setBackground( sal_Int32
Color )
override;
175 void SAL_CALL invalidate( sal_Int16 Flags )
override;
176 void SAL_CALL invalidateRect(
const css::awt::Rectangle& Rect, sal_Int16 Flags )
override;
179 sal_Bool SAL_CALL
isChild(
const css::uno::Reference< css::awt::XWindowPeer >& Peer )
override;
180 void SAL_CALL setDesignMode(
sal_Bool bOn )
override;
181 sal_Bool SAL_CALL isDesignMode( )
override;
182 void SAL_CALL enableClipSiblings(
sal_Bool bClip )
override;
183 void SAL_CALL setForeground( sal_Int32
Color )
override;
184 void SAL_CALL setControlFont(
const css::awt::FontDescriptor& aFont )
override;
185 void SAL_CALL getStyles( sal_Int16 nType, css::awt::FontDescriptor& Font, sal_Int32& ForegroundColor, sal_Int32& BackgroundColor )
override;
186 void SAL_CALL setProperty(
const OUString& PropertyName,
const css::uno::Any& Value )
override;
187 css::uno::Any SAL_CALL
getProperty(
const OUString& PropertyName )
override;
190 css::awt::Size SAL_CALL getMinimumSize( )
override;
191 css::awt::Size SAL_CALL getPreferredSize( )
override;
192 css::awt::Size SAL_CALL calcAdjustedSize(
const css::awt::Size& aNewSize )
override;
195 sal_Bool SAL_CALL setGraphics(
const css::uno::Reference< css::awt::XGraphics >& aDevice )
override;
196 css::uno::Reference< css::awt::XGraphics > SAL_CALL getGraphics( )
override;
197 css::awt::Size SAL_CALL getSize( )
override;
198 void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY )
override;
199 void SAL_CALL setZoom(
float fZoomX,
float fZoomY )
override;
202 css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( )
override;
205 void SAL_CALL addDockableWindowListener(
const css::uno::Reference< css::awt::XDockableWindowListener >& xListener )
override;
206 void SAL_CALL removeDockableWindowListener(
const css::uno::Reference< css::awt::XDockableWindowListener >& xListener )
override;
207 void SAL_CALL enableDocking(
sal_Bool bEnable )
override;
208 sal_Bool SAL_CALL isFloating( )
override;
209 void SAL_CALL setFloatingMode(
sal_Bool bFloating )
override;
210 void SAL_CALL
lock( )
override;
211 void SAL_CALL unlock( )
override;
212 sal_Bool SAL_CALL isLocked( )
override;
213 void SAL_CALL startPopupMode(
const css::awt::Rectangle& WindowRect )
override;
214 sal_Bool SAL_CALL isInPopupMode( )
override;
217 void SAL_CALL setOutputSize(
const css::awt::Size& aSize )
override;
218 css::awt::Size SAL_CALL getOutputSize( )
override;
219 sal_Bool SAL_CALL isVisible( )
override;
221 sal_Bool SAL_CALL isEnabled( )
override;
222 sal_Bool SAL_CALL hasFocus( )
override;
225 css::uno::Sequence< css::beans::Property > SAL_CALL getProperties( )
override;
226 css::beans::Property SAL_CALL getPropertyByName(
const OUString& aName )
override;
227 sal_Bool SAL_CALL hasPropertyByName(
const OUString& Name )
override;
230 virtual css::uno::Reference< css::awt::XStyleSettings > SAL_CALL getStyleSettings()
override;
A UNO wrapper for the VCL OutputDevice.
std::unique_ptr< VCLXWindowImpl > mpImpl
DECL_DLLPRIVATE_LINK(WindowEventListener, VclWindowEvent &, void)
vcl::Window * GetWindow() const
derived_type * GetAsDynamic() const
::std::function< void()> Callback
derived_type * GetAs() const
#define TOOLKIT_DLLPUBLIC
std::shared_ptr< osl::Mutex > const & lock()
bool isChild(std::u16string_view srcUnqPath, std::u16string_view dstUnqPath)
SVX_DLLPUBLIC OUString getProperty(css::uno::Reference< css::beans::XPropertyContainer > const &rxPropertyContainer, OUString const &rName)
cppu::ImplInheritanceHelper< VCLXDevice, css::awt::XWindow2, css::awt::XVclWindowPeer, css::awt::XLayoutConstrains, css::awt::XView, css::awt::XDockableWindow, css::accessibility::XAccessible, css::lang::XEventListener, css::beans::XPropertySetInfo, css::awt::XStyleSettingsSupplier > VCLXWindow_Base