Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : : #ifndef SC_CELLSH_HXX
30 : : #define SC_CELLSH_HXX
31 : :
32 : : #include <sfx2/shell.hxx>
33 : : #include "shellids.hxx"
34 : : #include <sfx2/module.hxx>
35 : : #include <svx/svdmark.hxx>
36 : : #include <unotools/caserotate.hxx>
37 : : #include <tools/link.hxx>
38 : : #include "formatsh.hxx"
39 : : #include "address.hxx"
40 : :
41 : : class SvxClipboardFmtItem;
42 : : class TransferableDataHelper;
43 : : class TransferableClipboardListener;
44 : : class AbstractScLinkedAreaDlg;
45 : :
46 : : struct CellShell_Impl
47 : : {
48 : : TransferableClipboardListener* m_pClipEvtLstnr;
49 : : AbstractScLinkedAreaDlg* m_pLinkedDlg;
50 : : SfxRequest* m_pRequest;
51 : :
52 : 229 : CellShell_Impl() :
53 : : m_pClipEvtLstnr( NULL ),
54 : : m_pLinkedDlg( NULL ),
55 : 229 : m_pRequest( NULL ) {}
56 : : };
57 : :
58 : : class ScCellShell: public ScFormatShell
59 : : {
60 : : private:
61 : : CellShell_Impl* pImpl;
62 : : sal_Bool bPastePossible;
63 : :
64 : : void GetPossibleClipboardFormats( SvxClipboardFmtItem& rFormats );
65 : : void ExecuteExternalSource(
66 : : const String& _rFile, const String& _rFilter, const String& _rOptions,
67 : : const String& _rSource, sal_uLong _nRefresh, SfxRequest& _rRequest );
68 : :
69 : : void ExecuteDataPilotDialog();
70 : : void ExecuteSubtotals(SfxRequest& rReq);
71 : :
72 : : DECL_LINK( ClipboardChanged, TransferableDataHelper* );
73 : : DECL_LINK( DialogClosed, void* );
74 : :
75 : : RotateTransliteration m_aRotateCase;
76 : :
77 : : public:
78 : :
79 : : TYPEINFO();
80 : 51 : SFX_DECL_INTERFACE(SCID_CELL_SHELL)
81 : :
82 : : ScCellShell(ScViewData* pData);
83 : : virtual ~ScCellShell();
84 : :
85 : : void Execute(SfxRequest &);
86 : : void GetState(SfxItemSet &);
87 : :
88 : : void ExecuteEdit( SfxRequest& rReq );
89 : : void ExecuteTrans( SfxRequest& rReq );
90 : : void ExecuteRotateTrans( SfxRequest& rReq );
91 : :
92 : : void GetBlockState( SfxItemSet& rSet );
93 : : void GetCellState( SfxItemSet& rSet );
94 : :
95 : : void ExecuteDB( SfxRequest& rReq );
96 : : void GetDBState( SfxItemSet& rSet );
97 : :
98 : : void ExecImageMap(SfxRequest& rReq); // ImageMap
99 : : void GetImageMapState(SfxItemSet& rSet);
100 : :
101 : : void GetClipState( SfxItemSet& rSet );
102 : : void GetHLinkState( SfxItemSet& rSet );
103 : :
104 : : void ExecuteCursor( SfxRequest& rReq );
105 : : void ExecuteCursorSel( SfxRequest& rReq );
106 : : void ExecutePage( SfxRequest& rReq );
107 : : void ExecutePageSel( SfxRequest& rReq );
108 : : void ExecuteMove( SfxRequest& rReq );
109 : : void GetStateCursor( SfxItemSet& rSet );
110 : : };
111 : :
112 : : #endif
113 : :
114 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|