FreeCAD

Форк
0
/
Keyboard.cpp 
86 строк · 2.6 Кб
1
/**************************************************************************\
2
 * Copyright (c) Kongsberg Oil & Gas Technologies AS
3
 * All rights reserved.
4
 * 
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions are
7
 * met:
8
 * 
9
 * Redistributions of source code must retain the above copyright notice,
10
 * this list of conditions and the following disclaimer.
11
 * 
12
 * Redistributions in binary form must reproduce the above copyright
13
 * notice, this list of conditions and the following disclaimer in the
14
 * documentation and/or other materials provided with the distribution.
15
 * 
16
 * Neither the name of the copyright holder nor the names of its
17
 * contributors may be used to endorse or promote products derived from
18
 * this software without specific prior written permission.
19
 * 
20
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
\**************************************************************************/
32

33
/*!
34
  \class SIM::Coin3D::Quarter::Keyboard Keyboard.h Quarter/devices/Keyboard.h
35

36
  \brief The Keyboard class provides translation of keyboard events on
37
  the QuarterWidget.
38
*/
39

40
#ifdef _MSC_VER
41
#pragma warning(disable : 4267)
42
#endif
43

44
#include <QEvent>
45
#include <QKeyEvent>
46
#include <Inventor/events/SoEvent.h>
47

48
#include "KeyboardP.h"
49
#include "devices/Keyboard.h"
50

51

52
using namespace SIM::Coin3D::Quarter;
53

54
#define PRIVATE(obj) obj->pimpl
55

56
Keyboard::Keyboard()
57
{
58
  PRIVATE(this) = new KeyboardP(this);
59
}
60

61
Keyboard::Keyboard(QuarterWidget* quarter) :
62
    InputDevice(quarter)
63
{
64
    PRIVATE(this) = new KeyboardP(this);
65
}
66

67
Keyboard::~Keyboard()
68
{
69
  delete PRIVATE(this);
70
}
71

72
/*! Translates from QKeyEvents to SoKeyboardEvents
73
 */
74
const SoEvent *
75
Keyboard::translateEvent(QEvent * event)
76
{
77
  switch (event->type()) {
78
  case QEvent::KeyPress:
79
  case QEvent::KeyRelease:
80
    return PRIVATE(this)->keyEvent((QKeyEvent *) event);
81
  default:
82
    return nullptr;
83
  }
84
}
85

86
#undef PRIVATE
87

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.