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 20 #ifndef INCLUDED_SD_SOURCE_UI_INC_FUOLTEXT_HXX 21 #define INCLUDED_SD_SOURCE_UI_INC_FUOLTEXT_HXX 22 23 #include "fupoor.hxx" 24 25 class SdDrawDocument; 26 class SfxRequest; 27 28 namespace sd { 29 30 class View; 31 class ViewShell; 32 class OutlineView; 33 class OutlineViewShell; 34 35 /** 36 * text functions in outline mode 37 */ 38 class FuOutlineText final 39 : public FuPoor 40 { 41 public: 42 43 static rtl::Reference<FuPoor> Create( ViewShell* pViewSh, ::sd::Window* pWin, ::sd::View* pView, SdDrawDocument* pDoc, SfxRequest& rReq ); 44 45 virtual bool Command(const CommandEvent& rCEvt) override; 46 47 virtual bool KeyInput(const KeyEvent& rKEvt) override; 48 virtual bool MouseMove(const MouseEvent& rMEvt) override; 49 virtual bool MouseButtonUp(const MouseEvent& rMEvt) override; 50 virtual bool MouseButtonDown(const MouseEvent& rMEvt) override; 51 52 virtual void DoCut() override; 53 virtual void DoCopy() override; 54 virtual void DoPaste() override; 55 virtual void DoPasteUnformatted() override; 56 57 /** Call this method when the text in the outliner (may) has changed. 58 It will invalidate some slots of the view frame and update the 59 preview in the slide sorter. 60 */ 61 void UpdateForKeyPress (const KeyEvent& rEvent); 62 63 private: 64 FuOutlineText ( 65 ViewShell* pViewShell, 66 ::sd::Window* pWin, 67 ::sd::View* pView, 68 SdDrawDocument* pDoc, 69 SfxRequest& rReq); 70 71 OutlineViewShell* pOutlineViewShell; 72 OutlineView* pOutlineView; 73 }; 74 75 } // end of namespace sd 76 77 #endif 78 79 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 80