LCOV - code coverage report
Current view: top level - reportdesign/source/ui/inc - ReportController.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 9 0.0 %
Date: 2012-08-25 Functions: 0 8 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5                 :            :  *
       6                 :            :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7                 :            :  *
       8                 :            :  * OpenOffice.org - a multi-platform office productivity suite
       9                 :            :  *
      10                 :            :  * This file is part of OpenOffice.org.
      11                 :            :  *
      12                 :            :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13                 :            :  * it under the terms of the GNU Lesser General Public License version 3
      14                 :            :  * only, as published by the Free Software Foundation.
      15                 :            :  *
      16                 :            :  * OpenOffice.org is distributed in the hope that it will be useful,
      17                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19                 :            :  * GNU Lesser General Public License version 3 for more details
      20                 :            :  * (a copy is included in the LICENSE file that accompanied this code).
      21                 :            :  *
      22                 :            :  * You should have received a copy of the GNU Lesser General Public License
      23                 :            :  * version 3 along with OpenOffice.org.  If not, see
      24                 :            :  * <http://www.openoffice.org/license.html>
      25                 :            :  * for a copy of the LGPLv3 License.
      26                 :            :  *
      27                 :            :  ************************************************************************/
      28                 :            : #ifndef RPTUI_REPORTCONTROLLER_HXX
      29                 :            : #define RPTUI_REPORTCONTROLLER_HXX
      30                 :            : 
      31                 :            : #include "DesignView.hxx"
      32                 :            : #include "ModuleHelper.hxx"
      33                 :            : #include "ReportControllerObserver.hxx"
      34                 :            : #include "RptDef.hxx"
      35                 :            : 
      36                 :            : #include <com/sun/star/beans/PropertyValue.hpp>
      37                 :            : #include <com/sun/star/beans/XPropertyChangeListener.hpp>
      38                 :            : #include <com/sun/star/beans/XPropertySet.hpp>
      39                 :            : #include <com/sun/star/embed/XVisualObject.hpp>
      40                 :            : #include <com/sun/star/frame/XComponentLoader.hpp>
      41                 :            : #include <com/sun/star/frame/XFrame.hpp>
      42                 :            : #include <com/sun/star/io/XObjectInputStream.hpp>
      43                 :            : #include <com/sun/star/io/XObjectOutputStream.hpp>
      44                 :            : #include <com/sun/star/report/XReportControlModel.hpp>
      45                 :            : #include <com/sun/star/report/XReportDefinition.hpp>
      46                 :            : #include <com/sun/star/report/XReportEngine.hpp>
      47                 :            : #include <com/sun/star/report/XSection.hpp>
      48                 :            : #include <com/sun/star/sdbc/XConnection.hpp>
      49                 :            : #include <com/sun/star/sdbc/XRowSet.hpp>
      50                 :            : #include <com/sun/star/uno/Sequence.hxx>
      51                 :            : #include <com/sun/star/uno/XComponentContext.hpp>
      52                 :            : #include <com/sun/star/util/XModeSelector.hpp>
      53                 :            : #include <com/sun/star/util/XNumberFormatter.hpp>
      54                 :            : #include <com/sun/star/view/XSelectionSupplier.hpp>
      55                 :            : 
      56                 :            : #include <comphelper/implementationreference.hxx>
      57                 :            : #include <comphelper/proparrhlp.hxx>
      58                 :            : #include <comphelper/propertystatecontainer.hxx>
      59                 :            : #include <comphelper/uno3.hxx>
      60                 :            : #include <cppuhelper/implbase5.hxx>
      61                 :            : #include <dbaccess/dbsubcomponentcontroller.hxx>
      62                 :            : #include <svl/lstner.hxx>
      63                 :            : #include <svtools/transfer.hxx>
      64                 :            : #include <svx/svdedtv.hxx>
      65                 :            : #include <sfx2/zoomitem.hxx>
      66                 :            : 
      67                 :            : #include <boost/noncopyable.hpp>
      68                 :            : #include <boost/shared_ptr.hpp>
      69                 :            : #include <functional>
      70                 :            : 
      71                 :            : class TransferableClipboardListener;
      72                 :            : class VclWindowEvent;
      73                 :            : class SfxUndoManager;
      74                 :            : namespace rptui
      75                 :            : {
      76                 :            :     class OGroupsSortingDialog;
      77                 :            :     class OReportModel;
      78                 :            :     class OSectionView;
      79                 :            :     class OAddFieldWindow;
      80                 :            :     class OSectionWindow;
      81                 :            : 
      82                 :            :     typedef ::dbaui::DBSubComponentController   OReportController_BASE;
      83                 :            :     typedef ::cppu::ImplHelper5 <   ::com::sun::star::container::XContainerListener
      84                 :            :                                 ,   ::com::sun::star::beans::XPropertyChangeListener
      85                 :            :                                 ,   ::com::sun::star::view::XSelectionSupplier
      86                 :            :                                 ,   ::com::sun::star::util::XModeSelector
      87                 :            :                                 ,   ::com::sun::star::embed::XVisualObject
      88                 :            :                                 >   OReportController_Listener;
      89                 :            : 
      90                 :            :     class OReportController :    public OReportController_BASE
      91                 :            :                                 ,public OReportController_Listener
      92                 :            :                                 ,public SfxListener
      93                 :            :                                 ,public ::comphelper::OPropertyStateContainer
      94                 :            :                                 ,public ::comphelper::OPropertyArrayUsageHelper < OReportController_BASE >
      95                 :            :                                 ,public ::boost::noncopyable
      96                 :            :     {
      97                 :            :     private:
      98                 :            :         OModuleClient           m_aModuleClient;
      99                 :            :         ::cppu::OInterfaceContainerHelper
     100                 :            :                                 m_aSelectionListeners;
     101                 :            :         ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>
     102                 :            :                                 m_aCollapsedSections;
     103                 :            :         TransferableDataHelper  m_aSystemClipboard;     // content of the clipboard
     104                 :            :         TransferableClipboardListener*
     105                 :            :                                 m_pClipbordNotifier;    /// notifier for changes in the clipboard
     106                 :            :         OGroupsSortingDialog*   m_pGroupsFloater;
     107                 :            : 
     108                 :            :         OXReportControllerObserver* m_pReportControllerObserver;
     109                 :            : 
     110                 :          0 :         ODesignView*  getDesignView() const   { return static_cast< ODesignView* >( getView() ); }
     111                 :            : 
     112                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition >         m_xReportDefinition;
     113                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportEngine >             m_xReportEngine;
     114                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XComponentLoader >           m_xFrameLoader;
     115                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >            m_xContext;
     116                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >                     m_xRowSet;
     117                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >    m_xRowSetMediator;
     118                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >            m_xFormatter;   // a number formatter working with the report's NumberFormatsSupplier
     119                 :            :         mutable ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >          m_xHoldAlive;
     120                 :            :         mutable ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >    m_xColumns;
     121                 :            :         ::com::sun::star::awt::Size                                                             m_aVisualAreaSize;
     122                 :            : 
     123                 :            :         ::boost::shared_ptr<rptui::OReportModel>
     124                 :            :                                 m_aReportModel;
     125                 :            :         ::rtl::OUString         m_sName;                /// name for the report definition
     126                 :            :         ::rtl::OUString         m_sLastActivePage;      /// last active property browser page
     127                 :            :         ::rtl::OUString         m_sMode;                /// the current mode of the controller
     128                 :            :         sal_Int32               m_nSplitPos;            /// the position of the splitter
     129                 :            :         sal_Int32               m_nPageNum;             /// the page number from the restoreView call
     130                 :            :         sal_Int32               m_nSelectionCount;
     131                 :            :         ::sal_Int64             m_nAspect;
     132                 :            :         sal_Int16               m_nZoomValue;
     133                 :            :         SvxZoomType             m_eZoomType;
     134                 :            :         sal_Bool                m_bShowRuler;
     135                 :            :         sal_Bool                m_bGridVisible;
     136                 :            :         sal_Bool                m_bGridUse;
     137                 :            :         sal_Bool                m_bShowProperties;
     138                 :            :         sal_Bool                m_bGroupFloaterWasVisible;
     139                 :            :         sal_Bool                m_bHelplinesMove;
     140                 :            :         bool                    m_bChartEnabled;
     141                 :            :         bool                    m_bChartEnabledAsked;
     142                 :            :         bool                    m_bInGeneratePreview;
     143                 :            : 
     144                 :            :         /** creates a formatted field in the given section with the given formula as data field
     145                 :            :         *
     146                 :            :         * \param _aArgs
     147                 :            :         * \param _xSection the section where to create the formatted field
     148                 :            :         * \param _sFunction the function which will be set at the data field.
     149                 :            :         */
     150                 :            :         void createControl(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _aArgs,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection,const ::rtl::OUString& _sFunction ,sal_uInt16 _nObjectId = OBJ_DLG_FORMATTEDFIELD);
     151                 :            :         /** switch the report header/footer sectionon off with undo or without depending on the given id.
     152                 :            :         *
     153                 :            :         * \param _nId   Can either be SID_REPORTHEADER_WITHOUT_UNDO or SID_REPORTFOOTER_WITHOUT_UNDO or SID_REPORTHEADERFOOTER.
     154                 :            :         */
     155                 :            :         void switchReportSection(const sal_Int16 _nId);
     156                 :            : 
     157                 :            :         /** switch the report header/footer sectionon off with undo or without depending on the given id.
     158                 :            :         *
     159                 :            :         * \param _nId   Can either be SID_PAGEHEADER_WITHOUT_UNDO or SID_PAGEFOOTER_WITHOUT_UNDO or SID_PAGEHEADERFOOTER.
     160                 :            :         */
     161                 :            :         void switchPageSection(const sal_Int16 _nId);
     162                 :            : 
     163                 :            :         /** append a new group or remove it with undo.
     164                 :            :         *
     165                 :            :         * \param _bAppend
     166                 :            :         * \param _aArgs The args which contains a element named PROPERTY_GROUP of type report::XGroup.
     167                 :            :         */
     168                 :            :         void modifyGroup(const bool _bAppend, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _aArgs);
     169                 :            : 
     170                 :            :         /** creates a group section.
     171                 :            :         *
     172                 :            :         * \param _bUndo true when undo action should be created
     173                 :            :         * \param _bHeader true when it is a header otherwise it is a footer
     174                 :            :         * \param _aArgs The args which contains a element named PROPERTY_GROUP of type report::XGroup.
     175                 :            :         */
     176                 :            :         void createGroupSection(const bool _bUndo,const bool _bHeader,const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >&_aArgs);
     177                 :            : 
     178                 :            :         /** add or remove me as listener at the report definition
     179                 :            :         *
     180                 :            :         * \param _bAdd
     181                 :            :         */
     182                 :            :         void listen(const bool _bAdd);
     183                 :            : 
     184                 :            :         /** opens the common page dialog
     185                 :            :         */
     186                 :            :         void openPageDialog(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection);
     187                 :            : 
     188                 :            :         /** opens or hides the sorting and grouping dialog
     189                 :            :         */
     190                 :            :         void openSortingAndGroupingDialog();
     191                 :            : 
     192                 :            :         /** opens the zoom dialog
     193                 :            :         */
     194                 :            :         void openZoomDialog();
     195                 :            : 
     196                 :            :         /** returns the position of the group inside the groups collection
     197                 :            :         */
     198                 :            :         sal_Int32 getGroupPosition(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup >& _xGroup);
     199                 :            : 
     200                 :            :         /** calls propertyChanged when the header or footer is really turned on.
     201                 :            :             @param  _rEvent the group
     202                 :            :             @param  _bShow  when <TRUE/> the header and footer will be shown otherwise not
     203                 :            :         */
     204                 :            :         void notifyGroupSections(const ::com::sun::star::container::ContainerEvent& _rEvent
     205                 :            :                                 ,bool _bShow);
     206                 :            : 
     207                 :            :         /** change the sections for a group
     208                 :            :             @param  _sPropName  the header or footer
     209                 :            :             @param  _xGroup the group
     210                 :            :             @param  _nGroupPos  the position of the group inside the groups collection or the previous index when it was removed
     211                 :            :             @param  _bShow  when <TRUE/> the header and footer will be shown otherwise not
     212                 :            :         */
     213                 :            :         void groupChange( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup>& _xGroup
     214                 :            :                          ,const ::rtl::OUString& _sPropName
     215                 :            :                          ,sal_Int32 _nGroupPos
     216                 :            :                          ,bool _bShow);
     217                 :            : 
     218                 :            :         void executeMethodWithUndo(sal_uInt16 _nUndoStrId,const ::std::mem_fun_t<void,ODesignView>& _pMemfun);
     219                 :            :         void alignControlsWithUndo(sal_uInt16 _nUndoStrId,sal_Int32 _nControlModification,bool _bAlignAtSection = false);
     220                 :            : 
     221                 :            :         // open the help agent of report designer at start time
     222                 :            :         void doOpenHelpAgent();
     223                 :            : 
     224                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > getXFrame();
     225                 :            : 
     226                 :            :         /** shrink a section
     227                 :            :         @param _nUndoStrId the string id of the string which is shown in undo menu
     228                 :            :         @param _nShrinkId  ID of what you would like to shrink.
     229                 :            :         */
     230                 :            :         void shrinkSectionBottom(::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > _xSection);
     231                 :            :         void shrinkSectionTop(::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > _xSection);
     232                 :            : 
     233                 :            :     public:
     234                 :            :         void shrinkSection(sal_uInt16 _nUndoStrId, ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > _xSection, sal_Int32 _nShrinkId);
     235                 :            : 
     236                 :            :         /** opens the file open dialog to allow the user to select a image which will be
     237                 :            :         * bound to a newly created image button.
     238                 :            :         */
     239                 :            :         void insertGraphic();
     240                 :            : 
     241                 :            :         /** resets the floater
     242                 :            :         */
     243                 :            :         void updateFloater();
     244                 :            : 
     245                 :            :         /** creates a new function in the given value context
     246                 :            :         *
     247                 :            :         * \param _aValue contains a XNameContainer
     248                 :            :         */
     249                 :            :         void createNewFunction(const ::com::sun::star::uno::Any& _aValue);
     250                 :            : 
     251                 :            :         /** inserts a label - field pair into the current selected section
     252                 :            :         *
     253                 :            :         * \param aArgs
     254                 :            :         */
     255                 :            :         void addPairControls(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aArgs);
     256                 :            : 
     257                 :            :         /** inserts a label - field combination to show the page number and/or page count
     258                 :            :         *
     259                 :            :         * \param _aArgs
     260                 :            :         */
     261                 :            :         void createPageNumber(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _aArgs);
     262                 :            : 
     263                 :            :         /** creates a formatted filed with TODAY() function and if set also an NOW() function
     264                 :            :         *
     265                 :            :         * \param _aArgs
     266                 :            :         */
     267                 :            :         void createDateTime(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _aArgs);
     268                 :            : 
     269                 :            :         /** gets the current section (SdrView)
     270                 :            :         *
     271                 :            :         * \return the currently selected section or <NULL/> if noone is selected
     272                 :            :         */
     273                 :            :         OSectionView* getCurrentSectionView() const;
     274                 :            : 
     275                 :            :         /**change the ZOrder of a current select object.
     276                 :            :         *
     277                 :            :         * \param _nId The command ID about what to do.
     278                 :            :         */
     279                 :            :         void changeZOrder(sal_Int32 _nId);
     280                 :            : 
     281                 :            :         /** marks the next or previous section, when the first/last section was already selected then the report will be selected.
     282                 :            :         *
     283                 :            :         * \param _bNext
     284                 :            :         */
     285                 :            :         void markSection(const bool _bNext);
     286                 :            : 
     287                 :            :         /** collapse or expand the currently selected section.
     288                 :            :         *
     289                 :            :         * \param _bCollapse collapse if sal_True otherwise expand
     290                 :            :         */
     291                 :            :         void collapseSection(const bool _bCollapse);
     292                 :            : 
     293                 :            :         /** fills the member that chart is enabled or not
     294                 :            :         *
     295                 :            :         */
     296                 :            :         void checkChartEnabled();
     297                 :            : 
     298                 :            :         /** set the zoom factor at the design view
     299                 :            :         */
     300                 :            :         void impl_zoom_nothrow();
     301                 :            : 
     302                 :            :         virtual void impl_onModifyChanged();
     303                 :            : 
     304                 :            :         virtual void onLoadedMenu( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XLayoutManager >& _xLayoutManager );
     305                 :            :         virtual void impl_initialize( );
     306                 :            :         bool isUiVisible() const;
     307                 :            : 
     308                 :            :         /** creates a new default control for the currently set type when the modifier KEY_MOD1 was pressed
     309                 :            :         * \param _aArgs must contain a properyvalue with name "KeyModifier" and value KEY_MOD1 when control should be created.
     310                 :            :         */
     311                 :            :         void createDefaultControl(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& _aArgs);
     312                 :            : 
     313                 :            :         /** fills the state for the feture request.
     314                 :            :             @param  _sProperty  the property which should be filled in the value
     315                 :            :             @param  _rState     the state to fill
     316                 :            :         */
     317                 :            :         void impl_fillState_nothrow(const ::rtl::OUString& _sProperty,dbaui::FeatureState& _rState) const;
     318                 :            :         void impl_fillCustomShapeState_nothrow(const char* _pCustomShapeType,dbaui::FeatureState& _rState) const;
     319                 :            : 
     320                 :            :         /** set the property at all selected controls.
     321                 :            :             @return <TRUE/> when the selection is not empty
     322                 :            :         */
     323                 :            :         bool impl_setPropertyAtControls_throw(const sal_uInt16 _nUndoResId
     324                 :            :             ,const ::rtl::OUString& _sProperty
     325                 :            :             ,const ::com::sun::star::uno::Any& _aValue
     326                 :            :             ,const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _aArgs);
     327                 :            : 
     328                 :            :         void OnInvalidateClipboard();
     329                 :            :         DECL_LINK( OnClipboardChanged, void* );
     330                 :            :         DECL_LINK( OnExecuteReport, void* );
     331                 :            :         DECL_LINK( OnOpenHelpAgent, void* );
     332                 :            :         short saveModified();
     333                 :            :         // all the features which should be handled by this class
     334                 :            :         virtual void            describeSupportedFeatures();
     335                 :            :         // state of a feature. 'feature' may be the handle of a ::com::sun::star::util::URL somebody requested a dispatch interface for OR a toolbar slot.
     336                 :            :         virtual dbaui::FeatureState GetState(sal_uInt16 nId) const;
     337                 :            :         // execute a feature
     338                 :            :         virtual void Execute(sal_uInt16 nId, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue>& aArgs);
     339                 :            : 
     340                 :            :         virtual void getPropertyDefaultByHandle( sal_Int32 _nHandle, ::com::sun::star::uno::Any& _rDefault ) const;
     341                 :            :         virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const ::com::sun::star::uno::Any& rValue) throw (::com::sun::star::uno::Exception);
     342                 :            : 
     343                 :            :     private:
     344                 :            :         virtual ~OReportController();
     345                 :            : 
     346                 :            :     public:
     347                 :            :         OReportController(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & the_context);
     348                 :            : 
     349                 :            :         DECL_LINK( EventLstHdl, VclWindowEvent* );
     350                 :            :         DECL_LINK( OnCreateHdl, OAddFieldWindow*);
     351                 :            : 
     352                 :            :         DECLARE_XINTERFACE( )
     353                 :            :         DECLARE_XTYPEPROVIDER( )
     354                 :            : 
     355                 :            :         // SfxListener
     356                 :            :         virtual void Notify(SfxBroadcaster & rBc, SfxHint const & rHint);
     357                 :            : 
     358                 :            :         /** returns <TRUE/> when the command is enbaled
     359                 :            :             @param  _nCommand   the command id
     360                 :            :             @param  _xControlFormat the report control format
     361                 :            :         */
     362                 :            :         sal_Bool                            isFormatCommandEnabled(sal_uInt16 _nCommand
     363                 :            :                                                 ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportControlFormat>& _xControlFormat) const;
     364                 :            : 
     365                 :            :         virtual sal_Bool                    Construct(Window* pParent);
     366                 :            :         // XEventListener
     367                 :            :         virtual void SAL_CALL               disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException);
     368                 :            : 
     369                 :            :         // ::com::sun::star::frame::XController
     370                 :            :         virtual sal_Bool SAL_CALL           suspend(sal_Bool bSuspend) throw( ::com::sun::star::uno::RuntimeException );
     371                 :            : 
     372                 :            :         // ::com::sun::star::lang::XComponent
     373                 :            :         virtual void        SAL_CALL disposing();
     374                 :            : 
     375                 :            :         // XServiceInfo
     376                 :            :         virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
     377                 :            :         virtual ::com::sun::star::uno::Sequence< ::rtl::OUString> SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
     378                 :            :         // need by registration
     379                 :            :         static ::rtl::OUString getImplementationName_Static() throw( ::com::sun::star::uno::RuntimeException );
     380                 :            :         static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void) throw( ::com::sun::star::uno::RuntimeException );
     381                 :            :         static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
     382                 :            :             create(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xContext);
     383                 :            : 
     384                 :            :         // ::com::sun::star::container::XContainerListener
     385                 :            :         virtual void SAL_CALL elementInserted(const ::com::sun::star::container::ContainerEvent& Event) throw( ::com::sun::star::uno::RuntimeException );
     386                 :            :         virtual void SAL_CALL elementRemoved(const ::com::sun::star::container::ContainerEvent& Event) throw( ::com::sun::star::uno::RuntimeException );
     387                 :            :         virtual void SAL_CALL elementReplaced(const ::com::sun::star::container::ContainerEvent& Event) throw( ::com::sun::star::uno::RuntimeException );
     388                 :            : 
     389                 :            :         // XPropertyChangeListener
     390                 :            :         virtual void SAL_CALL propertyChange( const ::com::sun::star::beans::PropertyChangeEvent& evt ) throw (::com::sun::star::uno::RuntimeException);
     391                 :            : 
     392                 :            :         // XSelectionSupplier
     393                 :            :         virtual ::sal_Bool SAL_CALL select( const ::com::sun::star::uno::Any& xSelection ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
     394                 :            :         virtual ::com::sun::star::uno::Any SAL_CALL getSelection(  ) throw (::com::sun::star::uno::RuntimeException);
     395                 :            :         virtual void SAL_CALL addSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
     396                 :            :         virtual void SAL_CALL removeSelectionChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::view::XSelectionChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
     397                 :            : 
     398                 :            :         // ::com::sun::star::frame::XController
     399                 :            :         virtual sal_Bool SAL_CALL attachModel(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > & xModel) throw( ::com::sun::star::uno::RuntimeException );
     400                 :            :         virtual ::com::sun::star::uno::Any SAL_CALL getViewData(void) throw( ::com::sun::star::uno::RuntimeException );
     401                 :            :         virtual void SAL_CALL restoreViewData(const ::com::sun::star::uno::Any& Data) throw( ::com::sun::star::uno::RuntimeException );
     402                 :            : 
     403                 :            :         /** gives access to the report definition
     404                 :            :         * \return the report definition object, may be <NULL/>
     405                 :            :         */
     406                 :          0 :         inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition> getReportDefinition() const { return m_xReportDefinition; }
     407                 :            : 
     408                 :            :         // ::com::sun::star::frame::XController
     409                 :            :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >  SAL_CALL getModel(void) throw( ::com::sun::star::uno::RuntimeException );
     410                 :            : 
     411                 :            :         // XTitle
     412                 :            :         virtual ::rtl::OUString SAL_CALL getTitle(  ) throw (::com::sun::star::uno::RuntimeException);
     413                 :            : 
     414                 :            :         // XModeSelector
     415                 :            :         virtual void SAL_CALL setMode( const ::rtl::OUString& aMode ) throw (::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException) ;
     416                 :            :         virtual ::rtl::OUString SAL_CALL getMode(  ) throw (::com::sun::star::uno::RuntimeException) ;
     417                 :            :         virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedModes(  ) throw (::com::sun::star::uno::RuntimeException) ;
     418                 :            :         virtual ::sal_Bool SAL_CALL supportsMode( const ::rtl::OUString& aMode ) throw (::com::sun::star::uno::RuntimeException) ;
     419                 :            : 
     420                 :            :         // XVisualObject
     421                 :            :         virtual void SAL_CALL setVisualAreaSize( ::sal_Int64 nAspect, const ::com::sun::star::awt::Size& aSize ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::embed::WrongStateException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
     422                 :            :         virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize( ::sal_Int64 nAspect ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::embed::WrongStateException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
     423                 :            :         virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::embed::WrongStateException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
     424                 :            :         virtual ::sal_Int32 SAL_CALL getMapUnit( ::sal_Int64 nAspect ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
     425                 :            : 
     426                 :            : 
     427                 :            :         /** returns the current position of the splitter
     428                 :            :         *
     429                 :            :         * \return
     430                 :            :         */
     431                 :          0 :         inline sal_Int32    getSplitPos() const { return m_nSplitPos;}
     432                 :          0 :         inline void         setSplitPos(sal_Int32 _nSplitPos)       { m_nSplitPos = _nSplitPos;}
     433                 :            : 
     434                 :            :         /** creates a new report from the report definition.
     435                 :            :          *
     436                 :            :          * \return The model or <NULL/> if the model could not be created.
     437                 :            :          */
     438                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel> executeReport();
     439                 :            : 
     440                 :            :         /** returns the RowSet which reflects the current settings of the report definition
     441                 :            : 
     442                 :            :             The caller is allowed to hold a reference to the RowSet - it is kept alive as long
     443                 :            :             as the controller lives, and it's settings will follow the report definition's settings.
     444                 :            :         */
     445                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet > getRowSet();
     446                 :            : 
     447                 :            :         /** returns the number formatter
     448                 :            :         */
     449                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >    getReportNumberFormatter() const;
     450                 :            : 
     451                 :            :         /** return the SdrModel of the real model
     452                 :            :         *
     453                 :            :         * \return
     454                 :            :         */
     455                 :            :         ::boost::shared_ptr<rptui::OReportModel> getSdrModel() const;
     456                 :            : 
     457                 :          0 :         inline ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >  getContext() const { return m_xContext; }
     458                 :          0 :         inline sal_Int16   getZoomValue() const     { return m_nZoomValue; }
     459                 :          0 :         inline void         resetZoomType()         { m_eZoomType = SVX_ZOOM_PERCENT; }
     460                 :            : 
     461                 :            :         // com::sun::star::beans::XPropertySet
     462                 :          0 :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException)
     463                 :            :         {
     464                 :          0 :             return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
     465                 :            :         }
     466                 :            :         // comphelper::OPropertyArrayUsageHelper
     467                 :            :         virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const;
     468                 :            : 
     469                 :            :     // cppu::OPropertySetHelper
     470                 :            :         virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
     471                 :            : 
     472                 :            :         ::boost::shared_ptr<OSectionWindow> getSectionWindow(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) const;
     473                 :            : 
     474                 :            :         ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > getColumns() const;
     475                 :            :         ::rtl::OUString getColumnLabel_throw(const ::rtl::OUString& i_sColumnName) const;
     476                 :            : 
     477                 :            :         SfxUndoManager& getUndoManager() const;
     478                 :            :         void            clearUndoManager() const;
     479                 :            :         void            addUndoAction( SfxUndoAction* i_pAction );
     480                 :            :     };
     481                 :            : }
     482                 :            : #endif // RPTUI_REPORTCONTROLLER_HXX
     483                 :            : 
     484                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10