Salome HOME
updated copyright message
[modules/gui.git] / src / GLViewer / GLViewer_Selector.cxx
1 // Copyright (C) 2007-2023  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22
23 //  Author : OPEN CASCADE
24 // File:      GLViewer_Selector.cxx
25 // Created:   November, 2004
26 //#include <GLViewerAfx.h>
27 //
28 #include "GLViewer_Selector.h"
29
30 #include "GLViewer_Viewer.h"
31
32 int GLViewer_Selector::apppendKey = Qt::ShiftModifier;
33
34 /*!
35     Constructor
36 */
37 GLViewer_Selector::GLViewer_Selector( GLViewer_Viewer* viewer )
38 : QObject( 0 ),
39 myViewer( viewer ),
40 myLocked( false ),
41 myMinRectSize( 1, 1 )
42 {
43 }
44
45 /*!
46     Destructor
47 */
48 GLViewer_Selector::~GLViewer_Selector()
49 {
50 }
51
52 /*!
53     Sets the min size of rectangle to treat it as a rectangle for multiple
54     selection( sensitivity ). If a rectangle size is less than that min size,
55     the right-bottom point of the rectangle will be used for single selection.
56     The default min size is ( 1,1 ). [ public ]
57 */
58 void GLViewer_Selector::setMinRectSize( const QSize& minSize )
59 {
60     myMinRectSize = minSize;
61 }
62
63 /*!
64     Locks / unlocks the selector. If locked, nothing can be selected
65     regadless of the selection mode. [ public ]
66 */
67 void GLViewer_Selector::lock( bool locked )
68 {
69     myLocked = locked;
70 }