LibreOffice Module svx (master) 1
fmgridif.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef INCLUDED_SVX_FMGRIDIF_HXX
20#define INCLUDED_SVX_FMGRIDIF_HXX
21
22#include <svx/svxdllapi.h>
23
24#include <com/sun/star/view/XSelectionSupplier.hpp>
25#include <com/sun/star/beans/XPropertyChangeListener.hpp>
26#include <com/sun/star/container/XEnumerationAccess.hpp>
27#include <com/sun/star/container/XContainer.hpp>
28#include <com/sun/star/container/XContainerListener.hpp>
29#include <com/sun/star/sdbc/XRowSetListener.hpp>
30#include <com/sun/star/sdb/XRowSetSupplier.hpp>
31#include <com/sun/star/form/XResetListener.hpp>
32#include <com/sun/star/form/XBoundComponent.hpp>
33#include <com/sun/star/form/XLoadListener.hpp>
34#include <com/sun/star/form/XGridControl.hpp>
35#include <com/sun/star/form/XGridPeer.hpp>
36#include <com/sun/star/frame/XDispatchProvider.hpp>
37#include <com/sun/star/frame/XStatusListener.hpp>
38#include <com/sun/star/frame/XDispatchProviderInterception.hpp>
39#include <com/sun/star/view/XSelectionChangeListener.hpp>
40#include <com/sun/star/util/XModeSelector.hpp>
41#include <com/sun/star/util/XModifyListener.hpp>
42#include <com/sun/star/util/XModifyBroadcaster.hpp>
43
44#include <vcl/wintypes.hxx>
49#include <comphelper/uno3.hxx>
52#include <memory>
53
54namespace com::sun::star::beans { class XPropertySet; }
55namespace com::sun::star::uno { class XComponentContext; }
56
57class DbGridColumn;
59
61{
62protected:
64
65public:
67
68 virtual void SAL_CALL acquire() noexcept override { m_rParent.acquire(); }
69 virtual void SAL_CALL release() noexcept override { m_rParent.release(); }
70};
71
72
73// FmXModifyMultiplexer
74
76 ,public ::comphelper::OInterfaceContainerHelper3<css::util::XModifyListener>
77 ,public css::util::XModifyListener
78{
79public:
80 FmXModifyMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex );
82 virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type& _rType) override;
83
84// css::lang::XEventListener
85 virtual void SAL_CALL disposing(const css::lang::EventObject& Source) override;
86
87// css::util::XModifyListener
88 virtual void SAL_CALL modified(const css::lang::EventObject& Source) override;
89
90// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper2 have these memory operators
91 using OWeakSubObject::operator new;
92 using OWeakSubObject::operator delete;
93};
94
95
96// FmXUpdateMultiplexer
97
99 public ::comphelper::OInterfaceContainerHelper3<css::form::XUpdateListener>,
100 public css::form::XUpdateListener
101{
102public:
103 FmXUpdateMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex );
105
106 virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type& _rType) override;
107
108// css::lang::XEventListener
109 virtual void SAL_CALL disposing(const css::lang::EventObject& Source) override;
110
111// css::form::XUpdateListener
112 virtual sal_Bool SAL_CALL approveUpdate(const css::lang::EventObject &) override;
113 virtual void SAL_CALL updated(const css::lang::EventObject &) override;
114
115// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper2 have these memory operators
116 using OWeakSubObject::operator new;
117 using OWeakSubObject::operator delete;
118};
119
120
121// FmXSelectionMultiplexer
122
124 ,public ::comphelper::OInterfaceContainerHelper3<css::view::XSelectionChangeListener>
125 ,public css::view::XSelectionChangeListener
126{
127public:
128 FmXSelectionMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex );
130
131 virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type& _rType) override;
132
133// css::lang::XEventListener
134 virtual void SAL_CALL disposing(const css::lang::EventObject& Source) override;
135
136// css::view::XSelectionChangeListener
137 virtual void SAL_CALL selectionChanged( const css::lang::EventObject& aEvent ) override;
138
139// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper2 have these memory operators
140 using OWeakSubObject::operator new;
141 using OWeakSubObject::operator delete;
142};
143
144
145// FmXGridControlMultiplexer
146
148 ,public ::comphelper::OInterfaceContainerHelper3<css::form::XGridControlListener>
149 ,public css::form::XGridControlListener
150{
151public:
152 FmXGridControlMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex );
154
155 virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type& _rType) override;
156
157// css::lang::XEventListener
158 virtual void SAL_CALL disposing(const css::lang::EventObject& Source) override;
159
160// css::view::XSelectionChangeListener
161 virtual void SAL_CALL columnChanged( const css::lang::EventObject& _event ) override;
162
163// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper2 have these memory operators
164 using OWeakSubObject::operator new;
165 using OWeakSubObject::operator delete;
166};
167
168
169// FmXContainerMultiplexer
170
172 public ::comphelper::OInterfaceContainerHelper3<css::container::XContainerListener>,
173 public css::container::XContainerListener
174{
175public:
176 FmXContainerMultiplexer( ::cppu::OWeakObject& rSource, ::osl::Mutex& rMutex);
178 virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type& _rType) override;
179
180// css::lang::XEventListener
181 virtual void SAL_CALL disposing(const css::lang::EventObject& Source) override;
182
183// css::container::XContainerListener
184 virtual void SAL_CALL elementInserted(const css::container::ContainerEvent& Event) override;
185 virtual void SAL_CALL elementRemoved(const css::container::ContainerEvent& Event) override;
186 virtual void SAL_CALL elementReplaced(const css::container::ContainerEvent& Event) override;
187
188// resolve ambiguity : both OWeakObject and OInterfaceContainerHelper2 have these memory operators
189 using OWeakSubObject::operator new;
190 using OWeakSubObject::operator delete;
191};
192
193
194// FmXGridControl
195
196typedef ::cppu::ImplHelper10< css::form::XBoundComponent,
197 css::form::XGridControl,
198 css::util::XModifyBroadcaster,
199 css::container::XIndexAccess,
200 css::container::XEnumerationAccess,
201 css::util::XModeSelector,
202 css::container::XContainer,
203 css::frame::XDispatchProvider,
204 css::frame::XDispatchProviderInterception,
205 css::view::XSelectionSupplier
207
208class FmXGridPeer;
210 ,public FmXGridControl_BASE
211{
217
218protected:
220
221 css::uno::Reference< css::uno::XComponentContext > m_xContext;
222
223public:
224 FmXGridControl(const css::uno::Reference< css::uno::XComponentContext >&);
225 virtual ~FmXGridControl() override;
226
227 // UNO binding
229 virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type& _rType) override;
230
231// XTypeProvider
232 virtual css::uno::Sequence< css::uno::Type> SAL_CALL getTypes( ) override;
233 virtual css::uno::Sequence<sal_Int8> SAL_CALL getImplementationId( ) override;
234
235// css::lang::XComponent
236 virtual void SAL_CALL dispose() override;
237
238// css::lang::XServiceInfo
239 virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) override;
240 virtual OUString SAL_CALL getImplementationName() override;
241 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
242
243// css::awt::XControl
244 virtual void SAL_CALL createPeer(const css::uno::Reference< css::awt::XToolkit >& _rToolkit, const css::uno::Reference< css::awt::XWindowPeer >& Parent) override;
245 virtual sal_Bool SAL_CALL setModel(const css::uno::Reference< css::awt::XControlModel >& Model) override;
246 virtual void SAL_CALL setDesignMode(sal_Bool bOn) override;
247
248// css::awt::XView
249 virtual void SAL_CALL draw( sal_Int32 x, sal_Int32 y ) override;
250
251// css::form::XBoundComponent
252 virtual void SAL_CALL addUpdateListener(const css::uno::Reference< css::form::XUpdateListener >& l) override;
253 virtual void SAL_CALL removeUpdateListener(const css::uno::Reference< css::form::XUpdateListener >& l) override;
254 virtual sal_Bool SAL_CALL commit() override;
255
256// css::container::XElementAccess
257 virtual css::uno::Type SAL_CALL getElementType( ) override;
258 virtual sal_Bool SAL_CALL hasElements( ) override;
259
260// css::container::XEnumerationAccess
261 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override;
262
263// css::container::XIndexAccess
264 virtual sal_Int32 SAL_CALL getCount() override;
265 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 _rIndex) override;
266
267// css::form::XGridControl
268 virtual void SAL_CALL addGridControlListener( const css::uno::Reference< css::form::XGridControlListener >& _listener ) override;
269 virtual void SAL_CALL removeGridControlListener( const css::uno::Reference< css::form::XGridControlListener >& _listener ) override;
270
271// css::form::XGrid (base of XGridControl)
272 virtual sal_Int16 SAL_CALL getCurrentColumnPosition() override;
273 virtual void SAL_CALL setCurrentColumnPosition(sal_Int16 nPos) override;
274
275// css::form::XGridFieldDataSupplier (base of XGridControl)
276 virtual css::uno::Sequence< sal_Bool > SAL_CALL queryFieldDataType( const css::uno::Type& xType ) override;
277 virtual css::uno::Sequence< css::uno::Any > SAL_CALL queryFieldData( sal_Int32 nRow, const css::uno::Type& xType ) override;
278
279// UnoControl
280 virtual OUString GetComponentServiceName() const override;
281
282// css::util::XModifyBroadcaster
283 virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener >& l) override;
284 virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener >& l) override;
285
286// css::util::XModeSelector
287 virtual void SAL_CALL setMode(const OUString& Mode) override;
288 virtual OUString SAL_CALL getMode() override;
289 virtual css::uno::Sequence< OUString> SAL_CALL getSupportedModes() override;
290 virtual sal_Bool SAL_CALL supportsMode(const OUString& Mode) override;
291
292// css::container::XContainer
293 virtual void SAL_CALL addContainerListener(const css::uno::Reference< css::container::XContainerListener >& l) override;
294 virtual void SAL_CALL removeContainerListener(const css::uno::Reference< css::container::XContainerListener >& l) override;
295
296// css::frame::XDispatchProvider
297 virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch(const css::util::URL& aURL, const OUString& aTargetFrameName, sal_Int32 nSearchFlags) override;
298 virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > SAL_CALL queryDispatches(const css::uno::Sequence< css::frame::DispatchDescriptor >& aDescripts) override;
299
300// css::frame::XDispatchProviderInterception
301 virtual void SAL_CALL registerDispatchProviderInterceptor(const css::uno::Reference< css::frame::XDispatchProviderInterceptor >& xInterceptor) override;
302 virtual void SAL_CALL releaseDispatchProviderInterceptor(const css::uno::Reference< css::frame::XDispatchProviderInterceptor >& xInterceptor) override;
303
304// css::view::XSelectionSupplier
305 virtual sal_Bool SAL_CALL select( const css::uno::Any& aSelection ) override;
306 virtual css::uno::Any SAL_CALL getSelection( ) override;
307 virtual void SAL_CALL addSelectionChangeListener( const css::uno::Reference< css::view::XSelectionChangeListener >& xListener ) override;
308 virtual void SAL_CALL removeSelectionChangeListener( const css::uno::Reference< css::view::XSelectionChangeListener >& xListener ) override;
309
310// css::awt::XWindow
311 virtual void SAL_CALL setFocus() override;
312
313protected:
314 virtual rtl::Reference<FmXGridPeer> imp_CreatePeer(vcl::Window* pParent);
315 // ImplCreatePeer would be better, but doesn't work because it's not exported
316};
317
318// FmXGridPeer -> Peer for the Gridcontrol
319class FmGridControl;
321 public cppu::ImplInheritanceHelper<
322 VCLXWindow,
323 css::form::XGridPeer,
324 css::form::XBoundComponent,
325 css::form::XGridControl,
326 css::sdb::XRowSetSupplier,
327 css::util::XModifyBroadcaster,
328 css::beans::XPropertyChangeListener,
329 css::container::XContainerListener,
330 css::sdbc::XRowSetListener,
331 css::form::XLoadListener,
332 css::view::XSelectionChangeListener,
333 css::container::XIndexAccess,
334 css::container::XEnumerationAccess,
335 css::util::XModeSelector,
336 css::container::XContainer,
337 css::frame::XStatusListener,
338 css::frame::XDispatchProvider,
339 css::frame::XDispatchProviderInterception,
340 css::form::XResetListener,
341 css::view::XSelectionSupplier>
342{
343protected:
344 css::uno::Reference< css::uno::XComponentContext > m_xContext;
345 std::mutex m_aMutex;
346
347private:
348 css::uno::Reference< css::container::XIndexContainer > m_xColumns;
349 css::uno::Reference< css::sdbc::XRowSet > m_xCursor;
355
356 OUString m_aMode;
358
359 css::uno::Reference< css::frame::XDispatchProviderInterceptor > m_xFirstDispatchInterceptor;
360
362
363 std::unique_ptr<bool[]> m_pStateCache;
364 // one bool for each supported url
365 std::unique_ptr<css::uno::Reference< css::frame::XDispatch >[]> m_pDispatchers;
366 // one dispatcher for each supported url
367 // (I would like to have a vector here but including the stl in an exported file seems
368 // very risky to me...)
369
370 class SAL_DLLPRIVATE GridListenerDelegator;
372 std::unique_ptr<GridListenerDelegator> m_pGridListener;
373
374public:
375 FmXGridPeer(const css::uno::Reference< css::uno::XComponentContext >&);
376 virtual ~FmXGridPeer() override;
377
378 // late constructor, to always be called after the real constructor!
379 void Create(vcl::Window* pParent, WinBits nStyle);
380
381// css::form::XGridPeer
382 virtual css::uno::Reference< css::container::XIndexContainer > SAL_CALL getColumns( ) override;
383 virtual void SAL_CALL setColumns( const css::uno::Reference< css::container::XIndexContainer >& aColumns ) override final;
384
385// css::lang::XComponent
386 virtual void SAL_CALL dispose() override;
387
388// css::lang::XEventListener
389 virtual void SAL_CALL disposing(const css::lang::EventObject& Source) override;
390
391// css::form::XBoundComponent
392 virtual void SAL_CALL addUpdateListener(const css::uno::Reference< css::form::XUpdateListener >& l) override;
393 virtual void SAL_CALL removeUpdateListener(const css::uno::Reference< css::form::XUpdateListener >& l) override;
394 virtual sal_Bool SAL_CALL commit() override;
395
396// css::container::XElementAccess
397 virtual css::uno::Type SAL_CALL getElementType( ) override;
398 virtual sal_Bool SAL_CALL hasElements( ) override;
399
400// css::container::XEnumerationAccess
401 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override;
402
403// css::container::XIndexAccess
404 virtual sal_Int32 SAL_CALL getCount() override;
405 virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 _rIndex) override;
406
407// css::beans::XPropertyChangeListener
408 virtual void SAL_CALL propertyChange(const css::beans::PropertyChangeEvent& evt) override;
409
410// css::form::XLoadListener
411 virtual void SAL_CALL loaded(const css::lang::EventObject& rEvent) override;
412 virtual void SAL_CALL unloaded(const css::lang::EventObject& rEvent) override;
413 virtual void SAL_CALL unloading(const css::lang::EventObject& aEvent) override;
414 virtual void SAL_CALL reloading(const css::lang::EventObject& aEvent) override;
415 virtual void SAL_CALL reloaded(const css::lang::EventObject& aEvent) override;
416
417// css::sdbc::XRowSetListener
418 virtual void SAL_CALL cursorMoved(const css::lang::EventObject& event) override;
419 virtual void SAL_CALL rowChanged(const css::lang::EventObject& event) override;
420 virtual void SAL_CALL rowSetChanged(const css::lang::EventObject& event) override;
421
422// css::container::XContainerListener
423 virtual void SAL_CALL elementInserted(const css::container::ContainerEvent& Event) override;
424 virtual void SAL_CALL elementRemoved(const css::container::ContainerEvent& Event) override;
425 virtual void SAL_CALL elementReplaced(const css::container::ContainerEvent& Event) override;
426
427// VCLXWindow
428 virtual void SAL_CALL setProperty( const OUString& PropertyName, const css::uno::Any& Value ) override;
429 virtual css::uno::Any SAL_CALL getProperty( const OUString& PropertyName ) override;
430 virtual css::uno::Reference< css::accessibility::XAccessibleContext >
431 CreateAccessibleContext() override;
432
433// css::form::XGridControl
434 virtual void SAL_CALL addGridControlListener( const css::uno::Reference< css::form::XGridControlListener >& _listener ) override;
435 virtual void SAL_CALL removeGridControlListener( const css::uno::Reference< css::form::XGridControlListener >& _listener ) override;
436
437// css::form::XGrid (base of XGridControl)
438 virtual sal_Int16 SAL_CALL getCurrentColumnPosition() override;
439 virtual void SAL_CALL setCurrentColumnPosition(sal_Int16 nPos) override;
440
441// css::form::XGridFieldDataSupplier (base of XGridControl)
442 virtual css::uno::Sequence< sal_Bool > SAL_CALL queryFieldDataType( const css::uno::Type& xType ) override;
443 virtual css::uno::Sequence< css::uno::Any > SAL_CALL queryFieldData( sal_Int32 nRow, const css::uno::Type& xType ) override;
444
445// css::sdb::XRowSetSupplier
446 virtual css::uno::Reference< css::sdbc::XRowSet > SAL_CALL getRowSet() override;
447 virtual void SAL_CALL setRowSet(const css::uno::Reference< css::sdbc::XRowSet >& xDataSource) override final;
448
449// css::util::XModifyBroadcaster
450 virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener >& l) override;
451 virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener >& l) override;
452
453// UnoControl
454 virtual void SAL_CALL setDesignMode(sal_Bool bOn) override;
455 virtual sal_Bool SAL_CALL isDesignMode() override;
456
457// css::view::XSelectionChangeListener
458 virtual void SAL_CALL selectionChanged(const css::lang::EventObject& aEvent) override;
459
460 void CellModified();
461
462// PropertyListening
463 void updateGrid(const css::uno::Reference< css::sdbc::XRowSet >& _rDatabaseCursor);
464 void startCursorListening();
465 void stopCursorListening();
466
467// css::util::XModeSelector
468 virtual void SAL_CALL setMode(const OUString& Mode) override;
469 virtual OUString SAL_CALL getMode() override;
470 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedModes() override;
471 virtual sal_Bool SAL_CALL supportsMode(const OUString& Mode) override;
472
473// css::container::XContainer
474 virtual void SAL_CALL addContainerListener(const css::uno::Reference< css::container::XContainerListener >& l) override;
475 virtual void SAL_CALL removeContainerListener(const css::uno::Reference< css::container::XContainerListener >& l) override;
476
477 void columnVisible(DbGridColumn const * pColumn);
478 void columnHidden(DbGridColumn const * pColumn);
479
480// css::awt::XView
481 virtual void SAL_CALL draw( sal_Int32 x, sal_Int32 y ) override;
482
483// css::frame::XDispatchProvider
484 virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch(const css::util::URL& aURL, const OUString& aTargetFrameName, sal_Int32 nSearchFlags) override;
485 virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > SAL_CALL queryDispatches(const css::uno::Sequence< css::frame::DispatchDescriptor >& aDescripts) override;
486
487// css::frame::XDispatchProviderInterception
488 virtual void SAL_CALL registerDispatchProviderInterceptor(const css::uno::Reference< css::frame::XDispatchProviderInterceptor >& xInterceptor) override;
489 virtual void SAL_CALL releaseDispatchProviderInterceptor(const css::uno::Reference< css::frame::XDispatchProviderInterceptor >& xInterceptor) override;
490
491// css::frame::XStatusListener
492 virtual void SAL_CALL statusChanged(const css::frame::FeatureStateEvent& Event) override;
493
494// css::form::XResetListener
495 virtual sal_Bool SAL_CALL approveReset(const css::lang::EventObject& rEvent) override;
496 virtual void SAL_CALL resetted(const css::lang::EventObject& rEvent) override;
497
498// css::view::XSelectionSupplier
499 virtual sal_Bool SAL_CALL select( const css::uno::Any& aSelection ) override;
500 virtual css::uno::Any SAL_CALL getSelection( ) override;
501 virtual void SAL_CALL addSelectionChangeListener( const css::uno::Reference< css::view::XSelectionChangeListener >& xListener ) override;
502 virtual void SAL_CALL removeSelectionChangeListener( const css::uno::Reference< css::view::XSelectionChangeListener >& xListener ) override;
503
504protected:
505 virtual VclPtr<FmGridControl> imp_CreateControl(vcl::Window* pParent, WinBits nStyle);
506
507 static css::uno::Sequence< css::util::URL>& getSupportedURLs();
508 static const std::vector<DbGridControlNavigationBarState>& getSupportedGridSlots();
509 void ConnectToDispatcher();
510 void DisConnectFromDispatcher();
511 void UpdateDispatches(); // will connect if not already connected and just update else
512
518 void addColumnListeners(const css::uno::Reference< css::beans::XPropertySet >& xCol);
519 void removeColumnListeners(const css::uno::Reference< css::beans::XPropertySet >& xCol);
520
521 void selectionChanged();
522 void columnChanged();
523
526};
527
528
529#endif // _SVX_FMGRID_HXX
530
531/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
XSLTFilter & m_rParent
AnyEventRef aEvent
FmXSelectionMultiplexer m_aSelectionListeners
Definition: fmgridif.hxx:215
css::uno::Reference< css::uno::XComponentContext > m_xContext
Definition: fmgridif.hxx:221
FmXUpdateMultiplexer m_aUpdateListeners
Definition: fmgridif.hxx:213
FmXModifyMultiplexer m_aModifyListeners
Definition: fmgridif.hxx:212
FmXContainerMultiplexer m_aContainerListeners
Definition: fmgridif.hxx:214
FmXGridControlMultiplexer m_aGridControlListeners
Definition: fmgridif.hxx:216
std::unique_ptr< GridListenerDelegator > m_pGridListener
Definition: fmgridif.hxx:372
css::uno::Reference< css::uno::XComponentContext > m_xContext
Definition: fmgridif.hxx:344
virtual void SAL_CALL selectionChanged(const css::lang::EventObject &aEvent) override
std::mutex m_aMutex
Definition: fmgridif.hxx:345
css::uno::Reference< css::frame::XDispatchProviderInterceptor > m_xFirstDispatchInterceptor
Definition: fmgridif.hxx:359
css::uno::Reference< css::sdbc::XRowSet > m_xCursor
Definition: fmgridif.hxx:349
sal_Int32 m_nCursorListening
Definition: fmgridif.hxx:357
std::unique_ptr< bool[]> m_pStateCache
Definition: fmgridif.hxx:363
::comphelper::OInterfaceContainerHelper4< css::form::XUpdateListener > m_aUpdateListeners
Definition: fmgridif.hxx:351
::comphelper::OInterfaceContainerHelper4< css::util::XModifyListener > m_aModifyListeners
Definition: fmgridif.hxx:350
std::unique_ptr< css::uno::Reference< css::frame::XDispatch >[]> m_pDispatchers
Definition: fmgridif.hxx:365
bool m_bInterceptingDispatch
Definition: fmgridif.hxx:361
DECL_DLLPRIVATE_LINK(OnQueryGridSlotState, DbGridControlNavigationBarState, int)
OUString m_aMode
Definition: fmgridif.hxx:356
css::uno::Reference< css::container::XIndexContainer > m_xColumns
Definition: fmgridif.hxx:348
::comphelper::OInterfaceContainerHelper4< css::view::XSelectionChangeListener > m_aSelectionListeners
Definition: fmgridif.hxx:353
DECL_DLLPRIVATE_LINK(OnExecuteGridSlot, DbGridControlNavigationBarState, bool)
::comphelper::OInterfaceContainerHelper4< css::form::XGridControlListener > m_aGridControlListeners
Definition: fmgridif.hxx:354
::comphelper::OInterfaceContainerHelper4< css::container::XContainerListener > m_aContainerListeners
Definition: fmgridif.hxx:352
OWeakSubObject(::cppu::OWeakObject &rParent)
Definition: fmgridif.hxx:66
virtual void SAL_CALL release() noexcept override
Definition: fmgridif.hxx:69
virtual void SAL_CALL acquire() noexcept override
Definition: fmgridif.hxx:68
::cppu::OWeakObject & m_rParent
Definition: fmgridif.hxx:63
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) SAL_OVERRIDE
::cppu::ImplHelper10< css::form::XBoundComponent, css::form::XGridControl, css::util::XModifyBroadcaster, css::container::XIndexAccess, css::container::XEnumerationAccess, css::util::XModeSelector, css::container::XContainer, css::frame::XDispatchProvider, css::frame::XDispatchProviderInterception, css::view::XSelectionSupplier > FmXGridControl_BASE
Definition: fmgridif.hxx:206
DbGridControlNavigationBarState
Definition: gridctrl.hxx:146
virtual DECL_LISTENERMULTIPLEXER_END void SAL_CALL selectionChanged(const css::lang::EventObject &aEvent) override
void SAL_CALL elementReplaced(const css::container::ContainerEvent &Event) override
void SAL_CALL elementRemoved(const css::container::ContainerEvent &Event) override
DECL_LISTENERMULTIPLEXER_END void SAL_CALL elementInserted(const css::container::ContainerEvent &Event) override
class SAL_NO_VTABLE XPropertySet
Definition: xmlexchg.hxx:29
css::uno::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
JFW_MODE getMode()
void Create(SwFormatVertOrient &rItem, SvStream &rStrm, sal_uInt16 nVersionAbusedAsSize)
void dispose()
Mode
#define SVXCORE_DLLPUBLIC
Definition: svxdllapi.h:35
unsigned char sal_Bool
#define SAL_WARN_UNUSED
#define DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass)
#define DECLARE_UNO3_DEFAULTS(classname, baseclass)
sal_Int64 WinBits