Update ooo320-m1
[ooovba.git] / binfilter / inc / bf_sfx2 / interno.hxx
blob6f11f8e37ce9e069e032897a48f32bfcae839158
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: interno.hxx,v $
10 * $Revision: 1.7 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _SFX_INTERNO_HXX
31 #define _SFX_INTERNO_HXX
33 #ifndef _IPOBJ_HXX //autogen
34 #include <bf_so3/ipobj.hxx>
35 #endif
36 #include "bf_sfx2/objsh.hxx"
37 #include "bf_sfx2/sfx.hrc"
39 namespace binfilter {
41 struct SfxInPlaceObject_Impl;
42 class SfxObjectShell;
43 class INote;
46 //=========================================================================
48 class SfxInPlaceObject : public SvInPlaceObject
50 SfxObjectShell* pObjShell;
51 INote* pNote;
52 BOOL bTriggerLinkTimer : 1;
53 BOOL bDisableViewScaling : 1;
55 #if _SOLAR__PRIVATE
56 private:
58 public:
59 #endif
60 SO2_DECL_STANDARD_CLASS(SfxInPlaceObject)
61 public:
62 SfxObjectShell* GetObjectShell() const { return pObjShell; }
64 protected:
65 void SetShell( SfxObjectShell *pObjSh );
67 virtual void FillClass( SvGlobalName * pClassName,
68 ULONG * pClipFormat,
69 String * pAppName,
70 String * pLongUserName,
71 String * pUserName,
72 long nVersion = SOFFICE_FILEFORMAT_CURRENT
73 ) const;
75 virtual BOOL InitNew( SvStorage * ); // Rekursiv
76 virtual BOOL Load( SvStorage * ); // Rekursiv
77 virtual BOOL Save(); // Rekursiv
78 virtual BOOL SaveAs( SvStorage * pNewStg ); // Rekursiv
79 virtual void HandsOff(); // Rekursiv
80 virtual BOOL SaveCompleted( SvStorage * ); // Rekursiv
82 virtual ErrCode Verb( long nVerbPos,
83 SvEmbeddedClient *pCaller,
84 Window *pWin,
85 const Rectangle *pWorkAreaPixel );
86 virtual BOOL Verb( long nVerbPos, const Rectangle *pWorkAreaPixel );
87 virtual void Embed( BOOL bEmbedded );
88 virtual void Open( BOOL bOpen );
89 virtual void InPlaceActivate( BOOL );
90 virtual void DocumentNameChanged( const String & rDocName );
92 virtual ~SfxInPlaceObject();
94 public:
95 SfxInPlaceObject();
97 void SetTriggerLinkTimer( BOOL bSet )
98 { bTriggerLinkTimer = bSet; }
99 void UpdateLinks();
101 virtual void SetVisArea( const Rectangle & rVisArea );
103 void SetModified( BOOL bSet );
104 void DisableViewScaling( BOOL bSet )
105 { bDisableViewScaling = bSet; }
106 BOOL IsViewScalingDisabled()
107 { return bDisableViewScaling; }
110 #ifndef SFX_DECL_INTERNALOBJECT_DEFINED
111 #define SFX_DECL_INTERNALOBJECT_DEFINED
112 SO2_DECL_REF(SfxInPlaceObject)
113 #endif
114 SO2_IMPL_REF(SfxInPlaceObject)
116 #if _SOLAR__PRIVATE
117 class SfxForceLinkTimer_Impl
119 SfxInPlaceObject *pInObj;
121 public:
122 SfxForceLinkTimer_Impl( SfxObjectShell *pObj );
123 ~SfxForceLinkTimer_Impl()
124 { if( pInObj ) pInObj->SetTriggerLinkTimer( TRUE ); }
126 #endif
129 }//end of namespace binfilter
130 #endif