/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * 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 * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef _SVX_FMMODEL_HXX #define _SVX_FMMODEL_HXX #include #include "svx/svxdllapi.h" class SfxObjectShell; class SfxItemPool; class VCItemPool; class FmXUndoEnvironment; class SfxObjectShell; class SbxObject; class SbxArray; class SbxValue; struct FmFormModelImplData; class SVX_DLLPUBLIC FmFormModel : public SdrModel { private: FmFormModelImplData* m_pImpl; SfxObjectShell* m_pObjShell; sal_Bool m_bOpenInDesignMode : 1; sal_Bool m_bAutoControlFocus : 1; SVX_DLLPRIVATE FmFormModel( const FmFormModel& ); // never implemented SVX_DLLPRIVATE void operator=(const FmFormModel& rSrcModel); // never implemented public: TYPEINFO(); FmFormModel(SfxItemPool* pPool=NULL, SfxObjectShell* pPers=NULL ); FmFormModel(const XubString& rPath, SfxItemPool* pPool=NULL, SfxObjectShell* pPers=NULL ); FmFormModel(SfxItemPool* pPool, SfxObjectShell* pPers, bool bUseExtColorTable); FmFormModel(const XubString& rPath, SfxItemPool* pPool, SfxObjectShell* pPers, bool bUseExtColorTable); virtual ~FmFormModel(); virtual SdrPage* AllocPage(bool bMasterPage); virtual void InsertPage(SdrPage* pPage, sal_uInt16 nPos=0xFFFF); virtual SdrPage* RemovePage(sal_uInt16 nPgNum); virtual void MovePage(sal_uInt16 nPgNum, sal_uInt16 nNewPos); virtual void InsertMasterPage(SdrPage* pPage, sal_uInt16 nPos=0xFFFF); virtual SdrPage* RemoveMasterPage(sal_uInt16 nPgNum); virtual SdrLayerID GetControlExportLayerId( const SdrObject& rObj ) const; SfxObjectShell* GetObjectShell() const { return m_pObjShell; } void SetObjectShell( SfxObjectShell* pShell ); sal_Bool GetOpenInDesignMode() const { return m_bOpenInDesignMode; } void SetOpenInDesignMode( sal_Bool _bOpenDesignMode ); sal_Bool GetAutoControlFocus() const { return m_bAutoControlFocus; } void SetAutoControlFocus( sal_Bool _bAutoControlFocus ); /** check whether the OpenInDesignMode has been set explicitly or been loaded () or if it still has the default value from construction () */ sal_Bool OpenInDesignModeIsDefaulted(); /** determines whether form controls should use the SdrModel's reference device for text rendering */ sal_Bool ControlsUseRefDevice() const; FmXUndoEnvironment& GetUndoEnv(); private: void implSetOpenInDesignMode( sal_Bool _bOpenDesignMode, sal_Bool _bForce ); }; #endif // _FM_FMMODEL_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */