merge the formfield patch from ooo-build
[ooovba.git] / sc / source / ui / inc / seltrans.hxx
blobb635be44d5764973319f05089eaf6be6a657c739
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: seltrans.hxx,v $
10 * $Revision: 1.3 $
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 ************************************************************************/
31 #ifndef SC_SELTRANS_HXX
32 #define SC_SELTRANS_HXX
34 #include <svtools/transfer.hxx>
36 class ScTabView;
37 class ScTransferObj;
38 class ScDrawTransferObj;
40 enum ScSelectionTransferMode
42 SC_SELTRANS_INVALID,
43 SC_SELTRANS_CELL,
44 SC_SELTRANS_CELLS,
45 SC_SELTRANS_DRAW_BITMAP,
46 SC_SELTRANS_DRAW_GRAPHIC,
47 SC_SELTRANS_DRAW_BOOKMARK,
48 SC_SELTRANS_DRAW_OLE,
49 SC_SELTRANS_DRAW_OTHER
52 class ScSelectionTransferObj : public TransferableHelper
54 private:
55 ScTabView* pView;
56 ScSelectionTransferMode eMode;
57 ScTransferObj* pCellData;
58 ScDrawTransferObj* pDrawData;
60 ScSelectionTransferObj( ScTabView* pSource, ScSelectionTransferMode eNewMode );
61 void CreateCellData();
62 void CreateDrawData();
64 public:
65 // creates an object if the view has a valid selection,
66 // returns NULL otherwise
67 static ScSelectionTransferObj* CreateFromView( ScTabView* pSource );
69 virtual ~ScSelectionTransferObj();
71 void ForgetView();
72 BOOL StillValid();
73 ScTabView* GetView() const { return pView; }
75 ScTransferObj* GetCellData();
76 ScDrawTransferObj* GetDrawData();
78 virtual void AddSupportedFormats();
79 virtual sal_Bool GetData( const ::com::sun::star::datatransfer::DataFlavor& rFlavor );
80 virtual void ObjectReleased();
83 #endif