1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
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 .
18  */
19 #ifndef INCLUDED_SW_SOURCE_UIBASE_INC_ANNOTSH_HXX
20 #define INCLUDED_SW_SOURCE_UIBASE_INC_ANNOTSH_HXX
21 
22 #include <sfx2/shell.hxx>
23 #include <shellid.hxx>
24 #include <swmodule.hxx>
25 #include <unotools/caserotate.hxx>
26 
27 class SwView;
28 class SwAnnotationShell final : public SfxShell
29 {
30     SwView&     rView;
31     RotateTransliteration m_aRotateCase;
32 
33 public:
34     SFX_DECL_INTERFACE(SW_ANNOTATIONSHELL)
35 
36 private:
37     /// SfxInterface initializer.
38     static void InitInterface_Impl();
39 
40 public:
41                 SwAnnotationShell(SwView&);
42     virtual     ~SwAnnotationShell() override;
43 
44     static void StateDisableItems(SfxItemSet &);
45     void        Exec(SfxRequest &);
46 
47     void        GetState(SfxItemSet &);
48     void        StateInsert(SfxItemSet &rSet);
49 
50     void        NoteExec(SfxRequest const &);
51     void        GetNoteState(SfxItemSet &);
52 
53     void        ExecLingu(SfxRequest &rReq);
54     void        GetLinguState(SfxItemSet &);
55 
56     void        ExecClpbrd(SfxRequest const &rReq);
57     void        StateClpbrd(SfxItemSet &rSet);
58 
59     void        ExecTransliteration(SfxRequest const &);
60     void        ExecRotateTransliteration(SfxRequest const &);
61 
62     void        ExecUndo(SfxRequest &rReq);
63     void        StateUndo(SfxItemSet &rSet);
64 
65     static void StateStatusLine(SfxItemSet &rSet);
66 
67     void        InsertSymbol(SfxRequest& rReq);
68 
69     void        ExecSearch(SfxRequest&);
70     void        StateSearch(SfxItemSet &);
71 
72     virtual SfxUndoManager*
73                 GetUndoManager() override;
74 
75     static SfxItemPool* GetAnnotationPool(SwView const & rV);
76 };
77 
78 #endif
79 
80 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
81