summaryrefslogtreecommitdiff
path: root/sd/source/ui/inc
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2010-01-21 13:49:22 +0100
committerMathias Bauer <mba@openoffice.org>2010-01-21 13:49:22 +0100
commita934a163b50c787074eca3e5463ddab9fbd9b413 (patch)
treeb4fe00ef54597533059ca383e28e8ddbe5c9996c /sd/source/ui/inc
parentbeef7ed3c16db7f41b5f2ff5ec1dd271e046c137 (diff)
parent5c2d284b0f9973aada365a8f464f1152671bd629 (diff)
resync to DEV300_m70
Diffstat (limited to 'sd/source/ui/inc')
-rw-r--r--sd/source/ui/inc/DocumentRenderer.hxx85
-rw-r--r--sd/source/ui/inc/DrawController.hxx2
-rw-r--r--sd/source/ui/inc/PrintManager.hxx213
-rw-r--r--sd/source/ui/inc/ViewShellBase.hxx7
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;