merge the formfield patch from ooo-build
[ooovba.git] / svx / source / editeng / editsel.cxx
blob90e1ea91d2f7f7d47e035aeb6e7c328e547f491c
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: editsel.cxx,v $
10 * $Revision: 1.7 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_svx.hxx"
34 #include <eeng_pch.hxx>
36 #include <editsel.hxx>
37 #include <impedit.hxx>
38 #include <svx/editview.hxx>
40 // ----------------------------------------------------------------------
41 // class EditSelFunctionSet
42 // ----------------------------------------------------------------------
43 EditSelFunctionSet::EditSelFunctionSet()
45 pCurView = NULL;
48 void __EXPORT EditSelFunctionSet::CreateAnchor()
50 if ( pCurView )
51 pCurView->pImpEditView->CreateAnchor();
54 void __EXPORT EditSelFunctionSet::DestroyAnchor()
56 // Nur bei Mehrfachselektion
59 BOOL __EXPORT EditSelFunctionSet::SetCursorAtPoint( const Point& rPointPixel, BOOL )
61 if ( pCurView )
62 return pCurView->pImpEditView->SetCursorAtPoint( rPointPixel );
64 return FALSE;
67 BOOL __EXPORT EditSelFunctionSet::IsSelectionAtPoint( const Point& rPointPixel )
69 if ( pCurView )
70 return pCurView->pImpEditView->IsSelectionAtPoint( rPointPixel );
72 return FALSE;
75 void __EXPORT EditSelFunctionSet::DeselectAtPoint( const Point& )
77 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
78 // ! Implementieren, wenn Mehrfachselektion moeglich !
79 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
82 void __EXPORT EditSelFunctionSet::BeginDrag()
84 // Nur bei Mehrfachselektion
88 void __EXPORT EditSelFunctionSet::DeselectAll()
90 if ( pCurView )
91 pCurView->pImpEditView->DeselectAll();
94 // ----------------------------------------------------------------------
95 // class EditSelectionEngine
96 // ----------------------------------------------------------------------
97 EditSelectionEngine::EditSelectionEngine() : SelectionEngine( (Window*)0 )
99 // Wegen Bug OV: (1994)
100 // 1995: RangeSelection lassen, SingleSelection nur fuer ListBoxen geeignet!
101 SetSelectionMode( RANGE_SELECTION );
102 EnableDrag( TRUE );
105 void EditSelectionEngine::SetCurView( EditView* pNewView )
107 if ( GetFunctionSet() )
108 ((EditSelFunctionSet*)GetFunctionSet())->SetCurView( pNewView );
110 if ( pNewView )
111 SetWindow( pNewView->GetWindow() );
112 else
113 SetWindow( (Window*)0 );
116 EditView* EditSelectionEngine::GetCurView()
118 EditView* pView = 0;
119 if ( GetFunctionSet() )
120 pView = ((EditSelFunctionSet*)GetFunctionSet())->GetCurView();
122 return pView;