merge the formfield patch from ooo-build
[ooovba.git] / svx / source / svxlink / fileobj.hxx
blob9acbcfb0a176046256e34436fbf4f4738dc2ff0b
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: fileobj.hxx,v $
10 * $Revision: 1.9 $
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 _FILEOBJ_HXX
31 #define _FILEOBJ_HXX
33 #include <tools/string.hxx>
34 #include <sfx2/linksrc.hxx>
35 #include <sfx2/docfile.hxx>
36 #include "linkmgr.hxx"
38 class Graphic;
39 struct Impl_DownLoadData;
40 namespace sfx2 { class FileDialogHelper; }
42 class SvFileObject : public sfx2::SvLinkSource
44 String sFileNm;
45 String sFilter;
46 String sReferer;
47 Link aEndEditLink;
48 SfxMediumRef xMed;
49 Impl_DownLoadData* pDownLoadData;
50 Window* pOldParent;
52 BYTE nType;
54 BOOL bLoadAgain : 1;
55 BOOL bSynchron : 1;
56 BOOL bLoadError : 1;
57 BOOL bWaitForData : 1;
58 BOOL bInNewData : 1;
59 BOOL bDataReady : 1;
60 BOOL bMedUseCache : 1;
61 BOOL bNativFormat : 1;
62 BOOL bClearMedium : 1;
63 BOOL bStateChangeCalled : 1;
64 BOOL bInCallDownLoad : 1;
66 BOOL GetGraphic_Impl( Graphic&, SvStream* pStream = 0 );
67 BOOL LoadFile_Impl();
68 void SendStateChg_Impl( LinkState nState );
70 DECL_STATIC_LINK( SvFileObject, DelMedium_Impl, SfxMediumRef* );
71 DECL_STATIC_LINK( SvFileObject, LoadGrfReady_Impl, void* );
72 DECL_STATIC_LINK( SvFileObject, LoadGrfNewData_Impl, void* );
73 DECL_LINK( DialogClosedHdl, sfx2::FileDialogHelper* );
75 protected:
76 virtual ~SvFileObject();
78 public:
79 SvFileObject();
81 virtual BOOL GetData( ::com::sun::star::uno::Any & rData /*out param*/,
82 const String & rMimeType,
83 BOOL bSynchron = FALSE );
85 virtual BOOL Connect( sfx2::SvBaseLink* );
86 virtual void Edit( Window *, sfx2::SvBaseLink *, const Link& rEndEditHdl );
88 // erfrage ob das man direkt auf die Daten zugreifen kann oder ob das
89 // erst angestossen werden muss
90 virtual BOOL IsPending() const;
91 virtual BOOL IsDataComplete() const;
93 void CancelTransfers();
94 void SetTransferPriority( USHORT nPrio );
98 #endif