diff options
author | Tomaž Vajngerl <quikee@gmail.com> | 2013-03-25 23:26:36 +0100 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2013-03-25 23:50:10 +0100 |
commit | 6a6519c27a5a7ea07e6a19fcd43e76ca616dce4d (patch) | |
tree | f0516fe768dcdb17293fb060aa6cf9d6f8650f3d /filter/source/graphic/GraphicExportDialog.hxx | |
parent | f7a226952ddd335d670f1a3766b2b87eb1572375 (diff) |
Export current Writer page as jpg/png
This is first step to rework of graphic exporting. The idea is to
replace the exporter that works only for Draw/Impress and replace
it with a general exporter for any object. With this it will be
far easier to export objects as charts. Currently only Writer is
supported and only jpg/png.
Additionally, this commit introduces a new Export dialog which
supports setting the pixel width, height and DPI.
Change-Id: I7302b26bd432840d7ef0c3d2d2e13ff150cd2a07
Diffstat (limited to 'filter/source/graphic/GraphicExportDialog.hxx')
-rw-r--r-- | filter/source/graphic/GraphicExportDialog.hxx | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/filter/source/graphic/GraphicExportDialog.hxx b/filter/source/graphic/GraphicExportDialog.hxx new file mode 100644 index 000000000000..7a32708d7089 --- /dev/null +++ b/filter/source/graphic/GraphicExportDialog.hxx @@ -0,0 +1,80 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _GRAPHICEXPORTDIALOG_HXX_ +#define _GRAPHICEXPORTDIALOG_HXX_ + +#include <tools/fldunit.hxx> +#include <cppuhelper/implbase4.hxx> +#include <comphelper/processfactory.hxx> + +#include <com/sun/star/lang/XInitialization.hpp> +#include <com/sun/star/beans/XPropertyAccess.hpp> +#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp> +#include <com/sun/star/document/XExporter.hpp> + +using namespace css; +using namespace css::uno; +using namespace css::beans; +using namespace css::lang; + +class GraphicExportDialog : public cppu::WeakImplHelper4 +< + document::XExporter, + ui::dialogs::XExecutableDialog, + beans::XPropertyAccess, + lang::XInitialization +> +{ + Sequence<PropertyValue> maMediaDescriptor; + Sequence<PropertyValue> maFilterDataSequence; + Reference<XComponent> mxSourceDocument; + Reference<XComponentContext> mxContext; + + OUString maDialogTitle; + FieldUnit meFieldUnit; + bool mbExportSelection; + +public: + + explicit GraphicExportDialog( const Reference<XComponentContext>& rxContext ); + virtual ~GraphicExportDialog(); + + // XInitialization + virtual void SAL_CALL initialize( const Sequence<Any>& aArguments ) throw (Exception, RuntimeException ); + + // XPropertyAccess + virtual Sequence<PropertyValue> SAL_CALL getPropertyValues() throw ( RuntimeException ); + virtual void SAL_CALL setPropertyValues( const Sequence<PropertyValue>& aProps ) + throw ( UnknownPropertyException, PropertyVetoException, + lang::IllegalArgumentException, lang::WrappedTargetException, + RuntimeException ); + + // XExecuteDialog + virtual sal_Int16 SAL_CALL execute() throw ( RuntimeException ); + virtual void SAL_CALL setTitle( const OUString& aTitle ) throw ( RuntimeException ); + + // XExporter + virtual void SAL_CALL setSourceDocument( const Reference<lang::XComponent>& xDocument ) throw ( lang::IllegalArgumentException, RuntimeException ); +}; + + +#endif // _GRAPHICEXPORTDIALOGUNO_HXX_ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |