Stop leaking all ScPostIt instances.
[LibreOffice.git] / sc / source / ui / inc / cellsh.hxx
blobb44eb9f25904de5a26d944b5afdc503418927c0e
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef SC_CELLSH_HXX
21 #define SC_CELLSH_HXX
23 #include <sfx2/shell.hxx>
24 #include "shellids.hxx"
25 #include <sfx2/module.hxx>
26 #include <svx/svdmark.hxx>
27 #include <unotools/caserotate.hxx>
28 #include <tools/link.hxx>
29 #include "formatsh.hxx"
30 #include "address.hxx"
32 class SvxClipboardFmtItem;
33 class TransferableDataHelper;
34 class TransferableClipboardListener;
35 class AbstractScLinkedAreaDlg;
37 struct CellShell_Impl
39 TransferableClipboardListener* m_pClipEvtLstnr;
40 AbstractScLinkedAreaDlg* m_pLinkedDlg;
41 SfxRequest* m_pRequest;
43 CellShell_Impl() :
44 m_pClipEvtLstnr( NULL ),
45 m_pLinkedDlg( NULL ),
46 m_pRequest( NULL ) {}
49 class ScCellShell: public ScFormatShell
51 private:
52 CellShell_Impl* pImpl;
53 sal_Bool bPastePossible;
55 void GetPossibleClipboardFormats( SvxClipboardFmtItem& rFormats );
56 void ExecuteExternalSource(
57 const OUString& _rFile, const OUString& _rFilter, const OUString& _rOptions,
58 const OUString& _rSource, sal_uLong _nRefresh, SfxRequest& _rRequest );
60 void ExecuteDataPilotDialog();
61 void ExecuteXMLSourceDialog();
62 void ExecuteSubtotals(SfxRequest& rReq);
64 DECL_LINK( ClipboardChanged, TransferableDataHelper* );
65 DECL_LINK( DialogClosed, void* );
67 RotateTransliteration m_aRotateCase;
69 public:
71 TYPEINFO();
72 SFX_DECL_INTERFACE(SCID_CELL_SHELL)
74 ScCellShell(ScViewData* pData);
75 virtual ~ScCellShell();
77 void Execute(SfxRequest &);
78 void GetState(SfxItemSet &);
80 void ExecuteEdit( SfxRequest& rReq );
81 void ExecuteTrans( SfxRequest& rReq );
82 void ExecuteRotateTrans( SfxRequest& rReq );
84 void GetBlockState( SfxItemSet& rSet );
85 void GetCellState( SfxItemSet& rSet );
87 void ExecuteDB( SfxRequest& rReq );
88 void GetDBState( SfxItemSet& rSet );
90 void ExecImageMap(SfxRequest& rReq); // ImageMap
91 void GetImageMapState(SfxItemSet& rSet);
93 void GetClipState( SfxItemSet& rSet );
94 void GetHLinkState( SfxItemSet& rSet );
96 void ExecuteCursor( SfxRequest& rReq );
97 void ExecuteCursorSel( SfxRequest& rReq );
98 void ExecutePage( SfxRequest& rReq );
99 void ExecutePageSel( SfxRequest& rReq );
100 void ExecuteMove( SfxRequest& rReq );
101 void GetStateCursor( SfxItemSet& rSet );
104 #endif
106 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */