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 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_sw.hxx" 30 31 32 #include <sfx2/bindings.hxx> 33 #include "view.hxx" 34 #include "edtwin.hxx" 35 #include "wrtsh.hxx" 36 #include "cmdid.h" 37 #include "drawbase.hxx" 38 #include "dselect.hxx" 39 40 extern sal_Bool bNoInterrupt; // in mainwn.cxx 41 42 /************************************************************************* 43 |* 44 |* Konstruktor 45 |* 46 \************************************************************************/ 47 48 DrawSelection::DrawSelection(SwWrtShell* pWrtShell, SwEditWin* pEditWin, SwView* pSwView) : 49 SwDrawBase(pWrtShell, pEditWin, pSwView) 50 { 51 m_bCreateObj = sal_False; 52 } 53 54 /************************************************************************* 55 |* 56 |* Tastaturereignisse bearbeiten 57 |* 58 |* Wird ein KeyEvent bearbeitet, so ist der Return-Wert sal_True, andernfalls 59 |* sal_False. 60 |* 61 \************************************************************************/ 62 63 sal_Bool DrawSelection::KeyInput(const KeyEvent& rKEvt) 64 { 65 sal_Bool bReturn = sal_False; 66 67 switch (rKEvt.GetKeyCode().GetCode()) 68 { 69 case KEY_ESCAPE: 70 { 71 if (m_pWin->IsDrawAction()) 72 { 73 m_pSh->BreakMark(); 74 m_pWin->ReleaseMouse(); 75 } 76 bReturn = sal_True; 77 } 78 break; 79 } 80 81 if (!bReturn) 82 bReturn = SwDrawBase::KeyInput(rKEvt); 83 84 return (bReturn); 85 } 86 87 /************************************************************************* 88 |* 89 |* Function aktivieren 90 |* 91 \************************************************************************/ 92 93 void DrawSelection::Activate(const sal_uInt16 nSlotId) 94 { 95 m_pWin->SetSdrDrawMode(OBJ_NONE); 96 m_pWin->SetObjectSelect( sal_True ); 97 SwDrawBase::Activate(nSlotId); 98 99 m_pSh->GetView().GetViewFrame()->GetBindings().Invalidate(SID_INSERT_DRAW); 100 } 101 102 103