LibreOffice Module reportdesign (master)  1
ReportController.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_REPORTDESIGN_SOURCE_UI_INC_REPORTCONTROLLER_HXX
20 #define INCLUDED_REPORTDESIGN_SOURCE_UI_INC_REPORTCONTROLLER_HXX
21 
22 #include "DesignView.hxx"
24 #include <RptDef.hxx>
25 
26 #include <com/sun/star/beans/PropertyValue.hpp>
27 #include <com/sun/star/beans/XPropertyChangeListener.hpp>
28 #include <com/sun/star/embed/XVisualObject.hpp>
29 #include <com/sun/star/frame/XDesktop2.hpp>
30 #include <com/sun/star/frame/XFrame.hpp>
31 #include <com/sun/star/report/XReportDefinition.hpp>
32 #include <com/sun/star/report/XReportEngine.hpp>
33 #include <com/sun/star/report/XSection.hpp>
34 #include <com/sun/star/sdbc/XRowSet.hpp>
35 #include <com/sun/star/uno/Sequence.hxx>
36 #include <com/sun/star/uno/XComponentContext.hpp>
37 #include <com/sun/star/util/XModeSelector.hpp>
38 #include <com/sun/star/util/XNumberFormatter.hpp>
39 #include <com/sun/star/view/XSelectionSupplier.hpp>
40 
43 #include <comphelper/uno3.hxx>
44 #include <cppuhelper/implbase5.hxx>
47 #include <svl/lstner.hxx>
48 #include <vcl/transfer.hxx>
49 #include <sfx2/zoomitem.hxx>
50 
51 #include <functional>
52 #include <memory>
53 
55 class VclWindowEvent;
56 class SfxUndoManager;
57 namespace rptui
58 {
59  class OGroupsSortingDialog;
60  class OReportModel;
61  class OSectionView;
62  class OAddFieldWindow;
64 
65  typedef ::dbaui::DBSubComponentController OReportController_BASE;
66  typedef ::cppu::ImplHelper5 < css::container::XContainerListener
67  , css::beans::XPropertyChangeListener
68  , css::view::XSelectionSupplier
69  , css::util::XModeSelector
70  , css::embed::XVisualObject
72 
73  class OReportController : public OReportController_BASE
75  ,public SfxListener
77  ,public ::comphelper::OPropertyArrayUsageHelper < OReportController_BASE >
78  {
79  private:
82  css::uno::Sequence< css::beans::PropertyValue>
84  TransferableDataHelper m_aSystemClipboard; // content of the clipboard
87  std::shared_ptr<OGroupsSortingDialog> m_xGroupsFloater;
88 
90 
91  ODesignView* getDesignView() const { return static_cast< ODesignView* >( getView() ); }
92 
93  css::uno::Reference< css::report::XReportDefinition > m_xReportDefinition;
94  css::uno::Reference< css::report::XReportEngine > m_xReportEngine;
95  css::uno::Reference< css::frame::XDesktop2 > m_xFrameLoader;
96  css::uno::Reference< css::sdbc::XRowSet > m_xRowSet;
97  css::uno::Reference< css::beans::XPropertyChangeListener > m_xRowSetMediator;
98  css::uno::Reference< css::util::XNumberFormatter > m_xFormatter; // a number formatter working with the report's NumberFormatsSupplier
99  mutable css::uno::Reference< css::lang::XComponent > m_xHoldAlive;
100  mutable css::uno::Reference< css::container::XNameAccess > m_xColumns;
101  css::awt::Size m_aVisualAreaSize;
102 
103  std::shared_ptr<rptui::OReportModel>
105  OUString m_sName;
106  OUString m_sLastActivePage;
107  OUString m_sMode;
108  sal_Int32 m_nSplitPos;
109  sal_Int32 m_nPageNum;
110  sal_Int32 m_nSelectionCount;
111  ::sal_Int64 m_nAspect;
112  sal_Int16 m_nZoomValue;
122 
129  void createControl(const css::uno::Sequence< css::beans::PropertyValue >& _aArgs,const css::uno::Reference< css::report::XSection>& _xSection,const OUString& _sFunction ,SdrObjKind _nObjectId = OBJ_RD_FORMATTEDFIELD);
134  void switchReportSection(const sal_Int16 _nId);
135 
140  void switchPageSection(const sal_Int16 _nId);
141 
147  void modifyGroup(const bool _bAppend, const css::uno::Sequence< css::beans::PropertyValue >& _aArgs);
148 
155  void createGroupSection(const bool _bUndo,const bool _bHeader,const css::uno::Sequence< css::beans::PropertyValue >&_aArgs);
156 
161  void listen(const bool _bAdd);
162 
165  void openPageDialog(const css::uno::Reference< css::report::XSection>& _xSection);
166 
170 
173  void openZoomDialog();
174 
177  sal_Int32 getGroupPosition(const css::uno::Reference< css::report::XGroup >& _xGroup);
178 
183  void notifyGroupSections(const css::container::ContainerEvent& _rEvent
184  ,bool _bShow);
185 
192  void groupChange( const css::uno::Reference< css::report::XGroup>& _xGroup
193  ,std::u16string_view _sPropName
194  ,sal_Int32 _nGroupPos
195  ,bool _bShow);
196 
197  void executeMethodWithUndo(TranslateId pUndoStrId,const ::std::function<void(ODesignView *)>& _pMemfun);
198  void alignControlsWithUndo(TranslateId pUndoStrId, ControlModification _nControlModification, bool _bAlignAtSection = false);
199 
200  css::uno::Reference< css::frame::XFrame > getXFrame();
201 
206  static void shrinkSectionBottom(const css::uno::Reference< css::report::XSection >& _xSection);
207  static void shrinkSectionTop(const css::uno::Reference< css::report::XSection >& _xSection);
208 
209  public:
210  void shrinkSection(TranslateId pUndoStrId, const css::uno::Reference< css::report::XSection >& _xSection, sal_Int32 _nShrinkId);
211 
215  void insertGraphic();
216 
221  void createNewFunction(const css::uno::Any& _aValue);
222 
227  void addPairControls(const css::uno::Sequence< css::beans::PropertyValue >& aArgs);
228 
233  void createPageNumber(const css::uno::Sequence< css::beans::PropertyValue >& _aArgs);
234 
239  void createDateTime(const css::uno::Sequence< css::beans::PropertyValue >& _aArgs);
240 
246 
251  void changeZOrder(sal_Int32 _nId);
252 
257  void markSection(const bool _bNext);
258 
263  void collapseSection(const bool _bCollapse);
264 
268  void checkChartEnabled();
269 
272  void impl_zoom_nothrow();
273 
274  virtual void impl_onModifyChanged() override;
275 
276  virtual void onLoadedMenu( const css::uno::Reference< css::frame::XLayoutManager >& _xLayoutManager ) override;
277  virtual void impl_initialize( ) override;
278  bool isUiVisible() const;
279 
283  void createDefaultControl(const css::uno::Sequence< css::beans::PropertyValue>& _aArgs);
284 
289  void impl_fillState_nothrow(const OUString& _sProperty,dbaui::FeatureState& _rState) const;
290  void impl_fillCustomShapeState_nothrow(const char* _pCustomShapeType,dbaui::FeatureState& _rState) const;
291 
296  ,const OUString& _sProperty
297  ,const css::uno::Any& _aValue
298  ,const css::uno::Sequence< css::beans::PropertyValue >& _aArgs);
299 
300  void OnInvalidateClipboard();
301  DECL_LINK( OnClipboardChanged, TransferableDataHelper*, void );
302  DECL_LINK( OnExecuteReport, void*, void );
303  // all the features which should be handled by this class
304  virtual void describeSupportedFeatures() override;
305  // state of a feature. 'feature' may be the handle of a css::util::URL somebody requested a dispatch interface for OR a toolbar slot.
306  virtual dbaui::FeatureState GetState(sal_uInt16 nId) const override;
307  // execute a feature
308  virtual void Execute(sal_uInt16 nId, const css::uno::Sequence< css::beans::PropertyValue>& aArgs) override;
309 
310  virtual void getPropertyDefaultByHandle( sal_Int32 _nHandle, css::uno::Any& _rDefault ) const override;
311  virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const css::uno::Any& rValue) override;
312 
313  private:
314  virtual ~OReportController() override;
315 
316  public:
317  explicit OReportController(css::uno::Reference< css::uno::XComponentContext > const & the_context);
318  OReportController(const OReportController&) = delete;
320 
321  DECL_LINK( OnCreateHdl, OAddFieldWindow&, void);
322 
324  DECLARE_XTYPEPROVIDER( )
325 
326  // SfxListener
327  virtual void Notify(SfxBroadcaster & rBc, SfxHint const & rHint) override;
328 
333  static bool isFormatCommandEnabled(sal_uInt16 _nCommand
334  ,const css::uno::Reference< css::report::XReportControlFormat>& _xControlFormat);
335 
336  virtual bool Construct(vcl::Window* pParent) override;
337  // XEventListener
338  virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) override;
339 
340  // css::frame::XController
341  virtual sal_Bool SAL_CALL suspend(sal_Bool bSuspend) override;
342 
343  // css::lang::XComponent
344  virtual void SAL_CALL disposing() override;
345 
346  // XServiceInfo
347  virtual OUString SAL_CALL getImplementationName() override;
348  virtual css::uno::Sequence< OUString> SAL_CALL getSupportedServiceNames() override;
349 
350  // css::container::XContainerListener
351  virtual void SAL_CALL elementInserted(const css::container::ContainerEvent& Event) override;
352  virtual void SAL_CALL elementRemoved(const css::container::ContainerEvent& Event) override;
353  virtual void SAL_CALL elementReplaced(const css::container::ContainerEvent& Event) override;
354 
355  // XPropertyChangeListener
356  virtual void SAL_CALL propertyChange( const css::beans::PropertyChangeEvent& evt ) override;
357 
358  // XSelectionSupplier
359  virtual sal_Bool SAL_CALL select( const css::uno::Any& xSelection ) override;
360  virtual css::uno::Any SAL_CALL getSelection( ) override;
361  virtual void SAL_CALL addSelectionChangeListener( const css::uno::Reference< css::view::XSelectionChangeListener >& xListener ) override;
362  virtual void SAL_CALL removeSelectionChangeListener( const css::uno::Reference< css::view::XSelectionChangeListener >& xListener ) override;
363 
364  // css::frame::XController
365  virtual sal_Bool SAL_CALL attachModel(const css::uno::Reference< css::frame::XModel > & xModel) override;
366  virtual css::uno::Any SAL_CALL getViewData() override;
367  virtual void SAL_CALL restoreViewData(const css::uno::Any& Data) override;
368 
372  const css::uno::Reference< css::report::XReportDefinition>& getReportDefinition() const { return m_xReportDefinition; }
373 
374  // css::frame::XController
375  virtual css::uno::Reference< css::frame::XModel > SAL_CALL getModel() override;
376 
377  // XTitle
378  virtual OUString SAL_CALL getTitle( ) override;
379 
380  // XModeSelector
381  virtual void SAL_CALL setMode( const OUString& aMode ) override ;
382  virtual OUString SAL_CALL getMode( ) override ;
383  virtual css::uno::Sequence< OUString > SAL_CALL getSupportedModes( ) override ;
384  virtual sal_Bool SAL_CALL supportsMode( const OUString& aMode ) override ;
385 
386  // XVisualObject
387  virtual void SAL_CALL setVisualAreaSize( ::sal_Int64 nAspect, const css::awt::Size& aSize ) override;
388  virtual css::awt::Size SAL_CALL getVisualAreaSize( ::sal_Int64 nAspect ) override;
389  virtual css::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect ) override;
390  virtual ::sal_Int32 SAL_CALL getMapUnit( ::sal_Int64 nAspect ) override;
391 
392 
397  sal_Int32 getSplitPos() const { return m_nSplitPos;}
398  void setSplitPos(sal_Int32 _nSplitPos) { m_nSplitPos = _nSplitPos;}
399 
404  css::uno::Reference< css::frame::XModel> executeReport();
405 
411  css::uno::Reference< css::sdbc::XRowSet > const & getRowSet();
412 
415  const css::uno::Reference< css::util::XNumberFormatter >& getReportNumberFormatter() const { return m_xFormatter;}
416 
421  const std::shared_ptr<rptui::OReportModel>& getSdrModel() const { return m_aReportModel;}
422 
423  const css::uno::Reference< css::uno::XComponentContext >& getContext() const { return m_xContext; }
424  sal_Int16 getZoomValue() const { return m_nZoomValue; }
425  void resetZoomType() { m_eZoomType = SvxZoomType::PERCENT; }
426 
427  // css::beans::XPropertySet
428  virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) override
429  {
430  return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
431  }
432  // comphelper::OPropertyArrayUsageHelper
433  virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const override;
434 
435  // cppu::OPropertySetHelper
436  virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper() override;
437 
438  OSectionWindow* getSectionWindow(const css::uno::Reference< css::report::XSection>& _xSection) const;
439 
440  css::uno::Reference< css::container::XNameAccess > const & getColumns() const;
441  OUString getColumnLabel_throw(const OUString& i_sColumnName) const;
442 
444  void clearUndoManager() const;
445  void addUndoAction( std::unique_ptr<SfxUndoAction> i_pAction );
446  };
447 }
448 #endif // INCLUDED_REPORTDESIGN_SOURCE_UI_INC_REPORTCONTROLLER_HXX
449 
450 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void Notify(SfxBroadcaster &rBc, SfxHint const &rHint) override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const css::uno::Any &rValue) override
sal_Int32 m_nSelectionCount
the page number from the restoreView call
void insertGraphic()
opens the file open dialog to allow the user to select an image which will be bound to a newly create...
virtual void SAL_CALL addSelectionChangeListener(const css::uno::Reference< css::view::XSelectionChangeListener > &xListener) override
virtual sal_Bool SAL_CALL suspend(sal_Bool bSuspend) override
OUString m_sMode
last active property browser page
virtual void SAL_CALL elementInserted(const css::container::ContainerEvent &Event) override
TransferableDataHelper m_aSystemClipboard
void createDateTime(const css::uno::Sequence< css::beans::PropertyValue > &_aArgs)
creates a formatted field with TODAY() function and if set also a NOW() function
virtual ::sal_Int32 SAL_CALL getMapUnit(::sal_Int64 nAspect) override
css::uno::Reference< css::lang::XComponent > m_xHoldAlive
css::uno::Reference< css::report::XReportEngine > m_xReportEngine
OUString m_sLastActivePage
name for the report definition
rtl::Reference< TransferableClipboardListener > m_pClipboardNotifier
virtual css::awt::Size SAL_CALL getVisualAreaSize(::sal_Int64 nAspect) override
sal_Int32 getSplitPos() const
returns the current position of the splitter
OSectionView * getCurrentSectionView() const
gets the current section (SdrView)
void addUndoAction(std::unique_ptr< SfxUndoAction > i_pAction)
css::uno::Reference< css::container::XNameAccess > m_xColumns
void shrinkSection(TranslateId pUndoStrId, const css::uno::Reference< css::report::XSection > &_xSection, sal_Int32 _nShrinkId)
static void shrinkSectionTop(const css::uno::Reference< css::report::XSection > &_xSection)
void openPageDialog(const css::uno::Reference< css::report::XSection > &_xSection)
opens the common page dialog
virtual ~OReportController() override
css::uno::Reference< css::frame::XFrame > getXFrame()
SfxUndoManager & getUndoManager() const
virtual void SAL_CALL removeSelectionChangeListener(const css::uno::Reference< css::view::XSelectionChangeListener > &xListener) override
virtual ::cppu::IPropertyArrayHelper * createArrayHelper() const override
virtual void describeSupportedFeatures() override
SdrObjKind
void impl_fillState_nothrow(const OUString &_sProperty, dbaui::FeatureState &_rState) const
fills the state for the feature request.
OSectionWindow * getSectionWindow(const css::uno::Reference< css::report::XSection > &_xSection) const
virtual sal_Bool SAL_CALL supportsMode(const OUString &aMode) override
virtual void SAL_CALL propertyChange(const css::beans::PropertyChangeEvent &evt) override
virtual void SAL_CALL disposing() override
rtl::Reference< OXReportControllerObserver > m_pReportControllerObserver
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedModes() override
OReportController(css::uno::Reference< css::uno::XComponentContext > const &the_context)
OReportController & operator=(const OReportController &)=delete
static bool isFormatCommandEnabled(sal_uInt16 _nCommand, const css::uno::Reference< css::report::XReportControlFormat > &_xControlFormat)
returns when the command is enabled
ControlModification
Definition: RptDef.hxx:48
void checkChartEnabled()
fills the member that chart is enabled or not
virtual OUString SAL_CALL getMode() override
virtual OUString SAL_CALL getImplementationName() override
virtual void onLoadedMenu(const css::uno::Reference< css::frame::XLayoutManager > &_xLayoutManager) override
::dbaui::DBSubComponentController OReportController_BASE
void changeZOrder(sal_Int32 _nId)
change the ZOrder of a current select object.
void openZoomDialog()
opens the zoom dialog
void createDefaultControl(const css::uno::Sequence< css::beans::PropertyValue > &_aArgs)
creates a new default control for the currently set type when the modifier KEY_MOD1 was pressed ...
void createControl(const css::uno::Sequence< css::beans::PropertyValue > &_aArgs, const css::uno::Reference< css::report::XSection > &_xSection, const OUString &_sFunction, SdrObjKind _nObjectId=OBJ_RD_FORMATTEDFIELD)
creates a formatted field in the given section with the given formula as data field ...
std::shared_ptr< OGroupsSortingDialog > m_xGroupsFloater
notifier for changes in the clipboard
virtual ::cppu::IPropertyArrayHelper &SAL_CALL getInfoHelper() override
css::uno::Reference< css::report::XReportDefinition > m_xReportDefinition
virtual sal_Bool SAL_CALL select(const css::uno::Any &xSelection) override
void markSection(const bool _bNext)
marks the next or previous section, when the first/last section was already selected then the report ...
virtual void SAL_CALL elementReplaced(const css::container::ContainerEvent &Event) override
void openSortingAndGroupingDialog()
opens or hides the sorting and grouping dialog
SwView * getView(const uno::Reference< frame::XModel > &xModel)
bool impl_setPropertyAtControls_throw(TranslateId pUndoResId, const OUString &_sProperty, const css::uno::Any &_aValue, const css::uno::Sequence< css::beans::PropertyValue > &_aArgs)
set the property at all selected controls.
sal_Int32 m_nPageNum
the position of the splitter
virtual void impl_onModifyChanged() override
void groupChange(const css::uno::Reference< css::report::XGroup > &_xGroup, std::u16string_view _sPropName, sal_Int32 _nGroupPos, bool _bShow)
change the sections for a group
virtual void impl_initialize() override
css::uno::Reference< css::frame::XModel > executeReport()
creates a new report from the report definition.
void createPageNumber(const css::uno::Sequence< css::beans::PropertyValue > &_aArgs)
inserts a label - field combination to show the page number and/or page count
css::uno::Reference< css::frame::XDesktop2 > m_xFrameLoader
virtual css::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation(::sal_Int64 nAspect) override
unsigned char sal_Bool
virtual css::uno::Any SAL_CALL getViewData() override
css::uno::Reference< css::beans::XPropertyChangeListener > m_xRowSetMediator
void executeMethodWithUndo(TranslateId pUndoStrId, const ::std::function< void(ODesignView *)> &_pMemfun)
css::uno::Reference< css::sdbc::XRowSet > const & getRowSet()
returns the RowSet which reflects the current settings of the report definition
css::uno::Reference< css::sdbc::XRowSet > m_xRowSet
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual sal_Bool SAL_CALL attachModel(const css::uno::Reference< css::frame::XModel > &xModel) override
virtual bool Construct(vcl::Window *pParent) override
void switchPageSection(const sal_Int16 _nId)
switch the report header/footer sectionon off with undo or without depending on the given id...
void createNewFunction(const css::uno::Any &_aValue)
creates a new function in the given value context
void impl_zoom_nothrow()
set the zoom factor at the design view
virtual void getPropertyDefaultByHandle(sal_Int32 _nHandle, css::uno::Any &_rDefault) const override
virtual void SAL_CALL setVisualAreaSize(::sal_Int64 nAspect, const css::awt::Size &aSize) override
virtual dbaui::FeatureState GetState(sal_uInt16 nId) const override
virtual css::uno::Any SAL_CALL getSelection() override
void switchReportSection(const sal_Int16 _nId)
switch the report header/footer sectionon off with undo or without depending on the given id...
void createGroupSection(const bool _bUndo, const bool _bHeader, const css::uno::Sequence< css::beans::PropertyValue > &_aArgs)
creates a group section.
void impl_fillCustomShapeState_nothrow(const char *_pCustomShapeType, dbaui::FeatureState &_rState) const
::cppu::ImplHelper5< css::container::XContainerListener, css::beans::XPropertyChangeListener, css::view::XSelectionSupplier, css::util::XModeSelector, css::embed::XVisualObject > OReportController_Listener
DECL_LINK(OnClipboardChanged, TransferableDataHelper *, void)
const css::uno::Reference< css::uno::XComponentContext > & getContext() const
sal_Int32 getGroupPosition(const css::uno::Reference< css::report::XGroup > &_xGroup)
returns the position of the group inside the groups collection
css::uno::Reference< css::util::XNumberFormatter > m_xFormatter
::comphelper::OInterfaceContainerHelper2 m_aSelectionListeners
const css::uno::Reference< css::util::XNumberFormatter > & getReportNumberFormatter() const
returns the number formatter
sal_Int16 getZoomValue() const
void alignControlsWithUndo(TranslateId pUndoStrId, ControlModification _nControlModification, bool _bAlignAtSection=false)
ODesignView * getDesignView() const
virtual void SAL_CALL setMode(const OUString &aMode) override
void setSplitPos(sal_Int32 _nSplitPos)
virtual void SAL_CALL restoreViewData(const css::uno::Any &Data) override
virtual void Execute(sal_uInt16 nId, const css::uno::Sequence< css::beans::PropertyValue > &aArgs) override
virtual OUString SAL_CALL getTitle() override
sal_Int32 m_nSplitPos
the current mode of the controller
void modifyGroup(const bool _bAppend, const css::uno::Sequence< css::beans::PropertyValue > &_aArgs)
append a new group or remove it with undo.
SvxZoomType
Reference< XComponentContext > m_xContext
void notifyGroupSections(const css::container::ContainerEvent &_rEvent, bool _bShow)
calls propertyChanged when the header or footer is really turned on.
std::shared_ptr< rptui::OReportModel > m_aReportModel
void listen(const bool _bAdd)
add or remove me as listener at the report definition
virtual void SAL_CALL elementRemoved(const css::container::ContainerEvent &Event) override
OUString getColumnLabel_throw(const OUString &i_sColumnName) const
css::uno::Reference< css::container::XNameAccess > const & getColumns() const
css::uno::Sequence< css::beans::PropertyValue > m_aCollapsedSections
virtual css::uno::Reference< css::frame::XModel > SAL_CALL getModel() override
const std::shared_ptr< rptui::OReportModel > & getSdrModel() const
return the SdrModel of the real model
void addPairControls(const css::uno::Sequence< css::beans::PropertyValue > &aArgs)
inserts a label - field pair into the current selected section
void collapseSection(const bool _bCollapse)
collapse or expand the currently selected section.
#define DECLARE_XINTERFACE()
const css::uno::Reference< css::report::XReportDefinition > & getReportDefinition() const
gives access to the report definition
static void shrinkSectionBottom(const css::uno::Reference< css::report::XSection > &_xSection)
shrink a section