2007-05-22 17:26:23 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-10 20:26:11 +00:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2007-05-22 17:26:23 +00:00
|
|
|
*
|
2008-04-10 20:26:11 +00:00
|
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
2007-05-22 17:26:23 +00:00
|
|
|
*
|
2008-04-10 20:26:11 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2007-05-22 17:26:23 +00:00
|
|
|
*
|
2008-04-10 20:26:11 +00:00
|
|
|
* $RCSfile: DrawModelWrapper.hxx,v $
|
|
|
|
* $Revision: 1.4 $
|
2007-05-22 17:26:23 +00:00
|
|
|
*
|
2008-04-10 20:26:11 +00:00
|
|
|
* This file is part of OpenOffice.org.
|
2007-05-22 17:26:23 +00:00
|
|
|
*
|
2008-04-10 20:26:11 +00:00
|
|
|
* 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.
|
2007-05-22 17:26:23 +00:00
|
|
|
*
|
2008-04-10 20:26:11 +00:00
|
|
|
* 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).
|
2007-05-22 17:26:23 +00:00
|
|
|
*
|
2008-04-10 20:26:11 +00:00
|
|
|
* 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.
|
2007-05-22 17:26:23 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
#ifndef _CHART2_DRAWMODELWRAPPER_HXX
|
|
|
|
#define _CHART2_DRAWMODELWRAPPER_HXX
|
|
|
|
|
|
|
|
//----
|
|
|
|
#include <svx/svdmodel.hxx>
|
|
|
|
// header for class SdrObject
|
|
|
|
#include <svx/svdobj.hxx>
|
|
|
|
|
|
|
|
//----
|
|
|
|
#include <com/sun/star/frame/XModel.hpp>
|
|
|
|
#include <com/sun/star/uno/XComponentContext.hpp>
|
|
|
|
#include <com/sun/star/drawing/XDrawPage.hpp>
|
|
|
|
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
|
|
|
|
|
|
|
|
//.............................................................................
|
|
|
|
namespace chart
|
|
|
|
{
|
|
|
|
//.............................................................................
|
|
|
|
|
|
|
|
class DrawModelWrapper : private SdrModel
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiComponentFactory > m_xMCF;
|
|
|
|
SfxItemPool* m_pChartItemPool;
|
|
|
|
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > m_xMainDrawPage;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > m_xHiddenDrawPage;
|
|
|
|
|
2007-06-11 13:59:40 +00:00
|
|
|
std::auto_ptr< OutputDevice > m_apRefDevice;
|
|
|
|
|
2007-05-22 17:26:23 +00:00
|
|
|
//no default constructor
|
|
|
|
DrawModelWrapper();
|
|
|
|
|
|
|
|
public:
|
|
|
|
DrawModelWrapper(::com::sun::star::uno::Reference<
|
|
|
|
::com::sun::star::uno::XComponentContext > const & xContext );
|
|
|
|
virtual ~DrawModelWrapper();
|
|
|
|
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getShapeFactory();
|
|
|
|
|
|
|
|
// the main page will contain the normal view objects
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > getMainDrawPage();
|
|
|
|
void clearMainDrawPage();
|
|
|
|
|
|
|
|
// the extra page is not visible, but contains some extras like the symbols for data points
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > getHiddenDrawPage();
|
|
|
|
|
|
|
|
static ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >
|
|
|
|
getChartRootShape( const ::com::sun::star::uno::Reference<
|
|
|
|
::com::sun::star::drawing::XDrawPage>& xPage );
|
|
|
|
|
|
|
|
|
|
|
|
void lockControllers();
|
|
|
|
void unlockControllers();
|
|
|
|
|
|
|
|
/// tries to get an OutputDevice from the XParent of the model to use as reference device
|
|
|
|
void attachParentReferenceDevice(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > & xChartModel );
|
|
|
|
|
|
|
|
OutputDevice* getReferenceDevice() const;
|
|
|
|
|
|
|
|
SfxItemPool& GetItemPool();
|
|
|
|
const SfxItemPool& GetItemPool() const;
|
|
|
|
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
|
|
|
|
createUnoModel();
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >
|
|
|
|
getUnoModel();
|
|
|
|
SdrModel& getSdrModel();
|
|
|
|
|
|
|
|
void updateTablesFromChartModel( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xChartModel );
|
|
|
|
|
|
|
|
XColorTable* GetColorTable() const;
|
|
|
|
XDashList* GetDashList() const;
|
|
|
|
XLineEndList* GetLineEndList() const;
|
|
|
|
XGradientList* GetGradientList() const;
|
|
|
|
XHatchList* GetHatchList() const;
|
|
|
|
XBitmapList* GetBitmapList() const;
|
|
|
|
|
|
|
|
SdrObject* getNamedSdrObject( const rtl::OUString& rName );
|
|
|
|
static SdrObject* getNamedSdrObject( const String& rName, SdrObjList* pObjList );
|
|
|
|
|
|
|
|
static bool removeShape( const ::com::sun::star::uno::Reference<
|
|
|
|
::com::sun::star::drawing::XShape >& xShape );
|
|
|
|
};
|
|
|
|
//.............................................................................
|
|
|
|
} //namespace chart
|
|
|
|
//.............................................................................
|
|
|
|
#endif
|