1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef SC_SELTRANS_HXX 29 #define SC_SELTRANS_HXX 30 31 #include <svtools/transfer.hxx> 32 33 class ScTabView; 34 class ScTransferObj; 35 class ScDrawTransferObj; 36 37 enum ScSelectionTransferMode 38 { 39 SC_SELTRANS_INVALID, 40 SC_SELTRANS_CELL, 41 SC_SELTRANS_CELLS, 42 SC_SELTRANS_DRAW_BITMAP, 43 SC_SELTRANS_DRAW_GRAPHIC, 44 SC_SELTRANS_DRAW_BOOKMARK, 45 SC_SELTRANS_DRAW_OLE, 46 SC_SELTRANS_DRAW_OTHER 47 }; 48 49 class ScSelectionTransferObj : public TransferableHelper 50 { 51 private: 52 ScTabView* pView; 53 ScSelectionTransferMode eMode; 54 ScTransferObj* pCellData; 55 ScDrawTransferObj* pDrawData; 56 57 ScSelectionTransferObj( ScTabView* pSource, ScSelectionTransferMode eNewMode ); 58 void CreateCellData(); 59 void CreateDrawData(); 60 61 public: 62 // creates an object if the view has a valid selection, 63 // returns NULL otherwise 64 static ScSelectionTransferObj* CreateFromView( ScTabView* pSource ); 65 66 virtual ~ScSelectionTransferObj(); 67 68 void ForgetView(); 69 sal_Bool StillValid(); 70 ScTabView* GetView() const { return pView; } 71 72 ScTransferObj* GetCellData(); 73 ScDrawTransferObj* GetDrawData(); 74 75 virtual void AddSupportedFormats(); 76 virtual sal_Bool GetData( const ::com::sun::star::datatransfer::DataFlavor& rFlavor ); 77 virtual void ObjectReleased(); 78 }; 79 80 #endif 81 82