1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: seltrans.hxx,v $
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>
38 class ScDrawTransferObj
;
40 enum ScSelectionTransferMode
45 SC_SELTRANS_DRAW_BITMAP
,
46 SC_SELTRANS_DRAW_GRAPHIC
,
47 SC_SELTRANS_DRAW_BOOKMARK
,
49 SC_SELTRANS_DRAW_OTHER
52 class ScSelectionTransferObj
: public TransferableHelper
56 ScSelectionTransferMode eMode
;
57 ScTransferObj
* pCellData
;
58 ScDrawTransferObj
* pDrawData
;
60 ScSelectionTransferObj( ScTabView
* pSource
, ScSelectionTransferMode eNewMode
);
61 void CreateCellData();
62 void CreateDrawData();
65 // creates an object if the view has a valid selection,
66 // returns NULL otherwise
67 static ScSelectionTransferObj
* CreateFromView( ScTabView
* pSource
);
69 virtual ~ScSelectionTransferObj();
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();