diff options
author | Mathias Bauer <mba@openoffice.org> | 2010-01-21 13:49:22 +0100 |
---|---|---|
committer | Mathias Bauer <mba@openoffice.org> | 2010-01-21 13:49:22 +0100 |
commit | a934a163b50c787074eca3e5463ddab9fbd9b413 (patch) | |
tree | b4fe00ef54597533059ca383e28e8ddbe5c9996c /sd/source/ui/inc | |
parent | beef7ed3c16db7f41b5f2ff5ec1dd271e046c137 (diff) | |
parent | 5c2d284b0f9973aada365a8f464f1152671bd629 (diff) |
resync to DEV300_m70
Diffstat (limited to 'sd/source/ui/inc')
-rw-r--r-- | sd/source/ui/inc/DocumentRenderer.hxx | 85 | ||||
-rw-r--r-- | sd/source/ui/inc/DrawController.hxx | 2 | ||||
-rw-r--r-- | sd/source/ui/inc/PrintManager.hxx | 213 | ||||
-rw-r--r-- | sd/source/ui/inc/ViewShellBase.hxx | 7 |
4 files changed, 92 insertions, 215 deletions
diff --git a/sd/source/ui/inc/DocumentRenderer.hxx b/sd/source/ui/inc/DocumentRenderer.hxx new file mode 100644 index 000000000000..946ddccbac37 --- /dev/null +++ b/sd/source/ui/inc/DocumentRenderer.hxx @@ -0,0 +1,85 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: BezierObjectBar.hxx,v $ + * $Revision: 1.5 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef SD_DOCUMENT_RENDERER_HXX +#define SD_DOCUMENT_RENDERER_HXX + +#include "ViewShellBase.hxx" + +#include <com/sun/star/view/XRenderable.hpp> +#include <cppuhelper/compbase1.hxx> +#include <cppuhelper/basemutex.hxx> +#include <boost/scoped_ptr.hpp> + +namespace css = ::com::sun::star; + +namespace sd { + +namespace { + typedef ::cppu::WeakComponentImplHelper1 < + ::com::sun::star::view::XRenderable + > DocumentRendererInterfaceBase; +} + + +class DocumentRenderer + : protected ::cppu::BaseMutex, + public DocumentRendererInterfaceBase +{ +public: + DocumentRenderer (ViewShellBase& rBase); + virtual ~DocumentRenderer (void); + + // XRenderable + virtual sal_Int32 SAL_CALL getRendererCount ( + const css::uno::Any& aSelection, + const css::uno::Sequence<css::beans::PropertyValue >& xOptions) + throw (css::lang::IllegalArgumentException, css::uno::RuntimeException); + + virtual css::uno::Sequence<css::beans::PropertyValue> SAL_CALL getRenderer ( + sal_Int32 nRenderer, + const css::uno::Any& rSelection, + const css::uno::Sequence<css::beans::PropertyValue>& rxOptions) + throw (css::lang::IllegalArgumentException, css::uno::RuntimeException); + + virtual void SAL_CALL render ( + sal_Int32 nRenderer, + const css::uno::Any& rSelection, + const css::uno::Sequence<css::beans::PropertyValue>& rxOptions) + throw (css::lang::IllegalArgumentException, css::uno::RuntimeException); + +private: + class Implementation; + ::boost::scoped_ptr<Implementation> mpImpl; +}; + +} // end of namespace sd + +#endif diff --git a/sd/source/ui/inc/DrawController.hxx b/sd/source/ui/inc/DrawController.hxx index 8cd9451fa26e..957616e083a9 100644 --- a/sd/source/ui/inc/DrawController.hxx +++ b/sd/source/ui/inc/DrawController.hxx @@ -194,7 +194,7 @@ public: virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException); // XFormLayerAccess - virtual ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > SAL_CALL getFormController( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >& Form ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > SAL_CALL getFormController( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >& Form ) throw (::com::sun::star::uno::RuntimeException); virtual ::sal_Bool SAL_CALL isFormDesignMode( ) throw (::com::sun::star::uno::RuntimeException); virtual void SAL_CALL setFormDesignMode( ::sal_Bool DesignMode ) throw (::com::sun::star::uno::RuntimeException); diff --git a/sd/source/ui/inc/PrintManager.hxx b/sd/source/ui/inc/PrintManager.hxx deleted file mode 100644 index 649057653249..000000000000 --- a/sd/source/ui/inc/PrintManager.hxx +++ /dev/null @@ -1,213 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: PrintManager.hxx,v $ - * $Revision: 1.10 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef SD_PRINT_MANAGER_HXX -#define SD_PRINT_MANAGER_HXX - -#include "pres.hxx" -#include <tools/solar.h> -#include <tools/errcode.hxx> -#include <sfx2/viewsh.hxx> - -class Font; -class MultiSelection; -class PrintDialog; -class SdOptionsPrintItem; -class SdPage; -class String; -class SfxItemSet; -class SfxPrinter; -class SfxProgress; -class SfxTabPage; -class Window; - -namespace sd { - -class DrawView; -class View; -class ViewShell; -class ViewShellBase; - -/** Manage the printing of documents. - This includes functions about asking the user for specific - information what to print as well as high to medium level printing. -*/ -class PrintManager -{ -public: - /* Create a new print manager for the given view shell. - @param rViewShell - The life time of that view shell has to exceed that of the - print manager. - */ - PrintManager (ViewShellBase& rViewShell); - virtual ~PrintManager (void); - - /// Forwarded to the document shell. - virtual SfxPrinter* GetPrinter (BOOL bCreate = FALSE); - /// Forwarded to the main sub-shell. - virtual USHORT SetPrinter ( - SfxPrinter* pNewPrinter, - USHORT nDiffFlags = SFX_PRINTER_ALL, bool bIsAPI=false); - /// Forwarded to the main sub-shell. - virtual PrintDialog* CreatePrintDialog (::Window *pParent); - - /** Create an options tab page for the curren document. - */ - virtual SfxTabPage* CreatePrintOptionsPage ( - ::Window *pParent, - const SfxItemSet &rOptions); - - /** Print the document. - @param pDialog - The dialog specifies what to print. - */ - virtual USHORT Print (SfxProgress& rProgress, BOOL bIsAPI, PrintDialog* pDialog); - - /** Show a dialog that allows the user to select the print range - (among other things) before starting the actual printing. - */ - virtual ErrCode DoPrint ( - SfxPrinter *pPrinter, - PrintDialog *pPrintDialog, - BOOL bSilent, BOOL bIsAPI ); - - /** When called with <TRUE/> then printing is restricted to the - selected pages. Otherwise all pages are printed. Note that - you have to set the page range with a call to - SetPrintingPageRange(). - */ - void RestrictPrintingToSelection (bool bFlag); - - /** Set the range of the pages to print. This is taken into - account only after a previous call to - RestrictPrintingToSelection() with <TRUE/> as argument. - */ - void SetPrintingPageRange (const String& rsPageRange); - - USHORT SetPrinterOptDlg ( - SfxPrinter* pNewPrinter, - USHORT nDiffFlags = SFX_PRINTER_ALL, - BOOL _bShowDialog = TRUE); - - void PreparePrint (PrintDialog* pPrintDialog = 0); - -private: - ViewShellBase& mrBase; - - bool mbPrintDirectSelected; - - String msPageRange; - - /// Copy constructor not supported. - PrintManager (const PrintManager&); - - /// Assignment operator not supported. - PrintManager& operator= (const PrintManager&); - - /** Make sure that the pages that are to be printed do fit to the - printer pages. When the internal pages are larger then the printer - pages and no method of resolution has yet been provided then a - dialog is opened that asks for one. These methods are - a) scale internal page down to the printer page, - b) crop internal page - c) print internal page on several printer pages. - @param pPrinter - The printer to print the pages on that are specified by the - msPageRange member. - @param bSilent - This flag, when set, tells the method not to wait for user - input, i.e. show a dialog. - @return - The returned flag indicates whether the method was successfull (<TRUE/>) - or whether the printing has to be aborted (<FALSE/>). The later - one is the case only when the dialog is shown and the user - selects 'Cancel'. - */ - bool FitPageToPrinterWithDialog ( - SfxPrinter *pPrinter, - bool bSilent); - - class PrintInfo; - - /** Print outline pages. - */ - void PrintOutline ( - PrintInfo& rInfo, - USHORT nPage); - - /** Print handout pages. - */ - void PrintHandout ( - PrintInfo& rInfo, - USHORT nPage); - - /** Print slides or notes pages. - */ - void PrintStdOrNotes ( - PrintInfo& rInfo, - USHORT nPage, - PageKind ePageKind, - BOOL bPrintMarkedOnly); - - /** Print a part of the given page that is specified by the given page - origin and the size of the printable area. This method is used - primarily when the page to print is larger than the printable area - and the page is printed in several parts. - */ - void PrintPagePart ( - PrintInfo& rInfo, - SdPage* pPage, - DrawView& rPrintView, - const Point& rPageOrigin, - BOOL bPrintMarkedOnly, - const String& rsPageString, - const Point& rStringOffset); - - /** This method is similar to PrintPagePart() and should be unified with - that. - */ - void PrintPage( - PrintInfo& rInfo, - ::sd::View* pPrintView, - SdPage* pPage, - BOOL bPrintMarkedOnly); - - /** Return <TRUE/> when the document pages have the 'Screen' size. Only - the first page of the document is used to determine the size. - */ - bool IsScreenFormat (void); - - /** creates the needed shapes on the handout page for the given layout */ - void InitHandoutTemplate( PrintInfo& rInfo, USHORT nSlidesPerHandout, BOOL bHandoutHorizontal ); -}; - -} // end of namespace sd - -#endif diff --git a/sd/source/ui/inc/ViewShellBase.hxx b/sd/source/ui/inc/ViewShellBase.hxx index 383bd12fcdb5..b316a1c014a3 100644 --- a/sd/source/ui/inc/ViewShellBase.hxx +++ b/sd/source/ui/inc/ViewShellBase.hxx @@ -136,6 +136,11 @@ public: */ virtual ErrCode DoVerb (long nVerb); + /** Return a new renderer that can be used for example for printing the + document. + */ + virtual com::sun::star::uno::Reference<com::sun::star::view::XRenderable> GetRenderable (void); + /// Forwarded to the print manager. virtual SfxPrinter* GetPrinter (BOOL bCreate = FALSE); @@ -261,7 +266,7 @@ public: /** returns the ui descriptive name for the given uno slot. The result is taken from the configuration and not cached, so do not use it excessive (f.e. in status updates) */ - ::rtl::OUString RetrieveLabelFromCommand( const ::rtl::OUString& aCmdURL ) const;
+ ::rtl::OUString RetrieveLabelFromCommand( const ::rtl::OUString& aCmdURL ) const; protected: osl::Mutex maMutex; |