20#ifndef INCLUDED_TOOLKIT_CONTROLS_UNOCONTROL_HXX
21#define INCLUDED_TOOLKIT_CONTROLS_UNOCONTROL_HXX
24#include <com/sun/star/awt/XControl.hpp>
25#include <com/sun/star/awt/XWindow2.hpp>
26#include <com/sun/star/awt/XView.hpp>
27#include <com/sun/star/beans/XPropertiesChangeListener.hpp>
28#include <com/sun/star/lang/XServiceInfo.hpp>
29#include <com/sun/star/awt/XUnitConversion.hpp>
30#include <com/sun/star/awt/XStyleSettingsSupplier.hpp>
31#include <com/sun/star/accessibility/XAccessible.hpp>
32#include <osl/mutex.hxx>
38#include <com/sun/star/util/XModeChangeBroadcaster.hpp>
39#include <com/sun/star/awt/XVclWindowPeer.hpp>
67 , css::beans::XPropertiesChangeListener
68 , css::lang::XServiceInfo
69 , css::accessibility::XAccessible
70 , css::util::XModeChangeBroadcaster
71 , css::awt::XUnitConversion
72 , css::awt::XStyleSettingsSupplier
92 css::uno::Reference< css::uno::XInterface >
mxContext;
93 css::uno::Reference< css::awt::XControlModel >
mxModel;
96 css::uno::WeakReferenceHelper
110 css::uno::Reference< css::awt::XWindow > getParentPeer()
const;
111 virtual void updateFromModel();
113 bool ImplCheckLocalize( OUString& _rPossiblyLocalizable );
114 css::uno::Reference< css::awt::XVclWindowPeer > ImplGetCompatiblePeer();
115 virtual void ImplSetPeerProperty(
const OUString& rPropName,
const css::uno::Any& rVal );
116 virtual void PrepareWindowDescriptor( css::awt::WindowDescriptor& rDesc );
117 virtual void ImplModelPropertiesChanged(
const css::uno::Sequence< css::beans::PropertyChangeEvent >& rEvents );
119 void ImplLockPropertyChangeNotification(
const OUString& rPropertyName,
bool bLock );
120 void ImplLockPropertyChangeNotifications(
const css::uno::Sequence< OUString >& rPropertyNames,
bool bLock );
122 void DisposeAccessibleContext(css::uno::Reference<
123 css::lang::XComponent>
const& xContext);
125 void setPeer(
const css::uno::Reference< css::awt::XVclWindowPeer >& _xPeer)
127 mxVclWindowPeer = _xPeer;
130 virtual bool requiresNewPeer(
const OUString& _rPropertyName )
const;
139 virtual OUString GetComponentServiceName()
const;
145 void SAL_CALL
dispose( )
override;
146 void SAL_CALL addEventListener(
const css::uno::Reference< css::lang::XEventListener >& xListener )
override;
147 void SAL_CALL removeEventListener(
const css::uno::Reference< css::lang::XEventListener >& aListener )
override;
150 void SAL_CALL disposing(
const css::lang::EventObject& Source )
override;
153 virtual void SAL_CALL setOutputSize(
const css::awt::Size& aSize )
override;
154 virtual css::awt::Size SAL_CALL getOutputSize( )
override;
155 virtual sal_Bool SAL_CALL isVisible( )
override;
157 virtual sal_Bool SAL_CALL isEnabled( )
override;
158 virtual sal_Bool SAL_CALL hasFocus( )
override;
161 void SAL_CALL setPosSize( sal_Int32 X, sal_Int32 Y, sal_Int32 Width, sal_Int32 Height, sal_Int16 Flags )
override;
162 css::awt::Rectangle SAL_CALL getPosSize( )
override;
163 void SAL_CALL setVisible(
sal_Bool Visible )
override;
164 void SAL_CALL setEnable(
sal_Bool Enable )
override;
165 void SAL_CALL setFocus( )
override;
166 void SAL_CALL addWindowListener(
const css::uno::Reference< css::awt::XWindowListener >& xListener )
override;
167 void SAL_CALL removeWindowListener(
const css::uno::Reference< css::awt::XWindowListener >& xListener )
override;
168 void SAL_CALL addFocusListener(
const css::uno::Reference< css::awt::XFocusListener >& xListener )
override;
169 void SAL_CALL removeFocusListener(
const css::uno::Reference< css::awt::XFocusListener >& xListener )
override;
170 void SAL_CALL addKeyListener(
const css::uno::Reference< css::awt::XKeyListener >& xListener )
override;
171 void SAL_CALL removeKeyListener(
const css::uno::Reference< css::awt::XKeyListener >& xListener )
override;
172 void SAL_CALL addMouseListener(
const css::uno::Reference< css::awt::XMouseListener >& xListener )
override;
173 void SAL_CALL removeMouseListener(
const css::uno::Reference< css::awt::XMouseListener >& xListener )
override;
174 void SAL_CALL addMouseMotionListener(
const css::uno::Reference< css::awt::XMouseMotionListener >& xListener )
override;
175 void SAL_CALL removeMouseMotionListener(
const css::uno::Reference< css::awt::XMouseMotionListener >& xListener )
override;
176 void SAL_CALL addPaintListener(
const css::uno::Reference< css::awt::XPaintListener >& xListener )
override;
177 void SAL_CALL removePaintListener(
const css::uno::Reference< css::awt::XPaintListener >& xListener )
override;
180 sal_Bool SAL_CALL setGraphics(
const css::uno::Reference< css::awt::XGraphics >& aDevice )
override;
181 css::uno::Reference< css::awt::XGraphics > SAL_CALL getGraphics( )
override;
182 css::awt::Size SAL_CALL getSize( )
override;
183 void SAL_CALL draw( sal_Int32 nX, sal_Int32 nY )
override;
184 void SAL_CALL setZoom(
float fZoomX,
float fZoomY )
override;
187 void SAL_CALL setContext(
const css::uno::Reference< css::uno::XInterface >& Context )
override;
188 css::uno::Reference< css::uno::XInterface > SAL_CALL getContext( )
override;
189 void SAL_CALL createPeer(
const css::uno::Reference< css::awt::XToolkit >& Toolkit,
const css::uno::Reference< css::awt::XWindowPeer >& Parent )
override;
190 css::uno::Reference< css::awt::XWindowPeer > SAL_CALL getPeer( )
override;
191 sal_Bool SAL_CALL setModel(
const css::uno::Reference< css::awt::XControlModel >& Model )
override;
192 css::uno::Reference< css::awt::XControlModel > SAL_CALL getModel( )
override;
193 css::uno::Reference< css::awt::XView > SAL_CALL
getView( )
override;
194 void SAL_CALL setDesignMode(
sal_Bool bOn )
override;
195 sal_Bool SAL_CALL isDesignMode( )
override;
196 sal_Bool SAL_CALL isTransparent( )
override;
204 virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( )
override;
207 virtual void SAL_CALL addModeChangeListener(
const css::uno::Reference< css::util::XModeChangeListener >& _rxListener )
override;
208 virtual void SAL_CALL removeModeChangeListener(
const css::uno::Reference< css::util::XModeChangeListener >& _rxListener )
override;
209 virtual void SAL_CALL addModeChangeApproveListener(
const css::uno::Reference< css::util::XModeChangeApproveListener >& _rxListener )
override;
210 virtual void SAL_CALL removeModeChangeApproveListener(
const css::uno::Reference< css::util::XModeChangeApproveListener >& _rxListener )
override;
213 virtual css::awt::Point SAL_CALL convertPointToLogic(
const css::awt::Point&
Point, ::sal_Int16 TargetUnit )
override;
214 virtual css::awt::Point SAL_CALL convertPointToPixel(
const css::awt::Point& aPoint, ::sal_Int16 SourceUnit )
override;
215 virtual css::awt::Size SAL_CALL convertSizeToLogic(
const css::awt::Size& aSize, ::sal_Int16 TargetUnit )
override;
216 virtual css::awt::Size SAL_CALL convertSizeToPixel(
const css::awt::Size& aSize, ::sal_Int16 SourceUnit )
override;
219 virtual css::uno::Reference< css::awt::XStyleSettings > SAL_CALL getStyleSettings()
override;
221 css::uno::Reference< css::awt::XVclWindowPeer > getVclWindowPeer();
225 void SAL_CALL propertiesChange(
const css::uno::Sequence< css::beans::PropertyChangeEvent >& evt )
override;
bool mbDisposePeer
our most recent XAccessibleContext instance
MouseListenerMultiplexer maMouseListeners
MouseMotionListenerMultiplexer maMouseMotionListeners
KeyListenerMultiplexer maKeyListeners
UnoControlComponentInfos & GetComponentInfos()
::osl::Mutex & GetMutex()
UnoControlComponentInfos maComponentInfos
bool mbCreatingCompatiblePeer
css::uno::Reference< css::uno::XInterface > mxContext
std::unique_ptr< UnoControl_Data > mpData
FocusListenerMultiplexer maFocusListeners
css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
css::uno::Reference< css::awt::XVclWindowPeer > mxVclWindowPeer
css::uno::Reference< css::awt::XControlModel > mxModel
css::uno::WeakReferenceHelper maAccessibleContext
::comphelper::OInterfaceContainerHelper3< css::util::XModeChangeListener > maModeChangeListeners
WindowListenerMultiplexer maWindowListeners
void setPeer(const css::uno::Reference< css::awt::XVclWindowPeer > &_xPeer)
PaintListenerMultiplexer maPaintListeners
css::uno::Reference< css::awt::XGraphics > mxGraphics
EventListenerMultiplexer maDisposeListeners
#define TOOLKIT_DLLPUBLIC
css::uno::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
SwView * getView(const uno::Reference< frame::XModel > &xModel)
UnoControlComponentInfos()
::cppu::WeakAggImplHelper9< css::awt::XControl, css::awt::XWindow2, css::awt::XView, css::beans::XPropertiesChangeListener, css::lang::XServiceInfo, css::accessibility::XAccessible, css::util::XModeChangeBroadcaster, css::awt::XUnitConversion, css::awt::XStyleSettingsSupplier > UnoControl_Base