Okular

js_event.cpp
1/*
2 SPDX-FileCopyrightText: 2018 Intevation GmbH <intevation@intevation.de>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#include "js_event_p.h"
8
9#include "event_p.h"
10#include "js_field_p.h"
11
12#include <QJSEngine>
13
14using namespace Okular;
15
16// Event.name
17QString JSEvent::name() const
18{
19 return m_event->name();
20}
21
22// Event.type
23QString JSEvent::type() const
24{
25 return m_event->type();
26}
27
28// Event.targetName (getter)
29QString JSEvent::targetName() const
30{
31 return m_event->targetName();
32}
33
34// Event.targetName (setter)
35void JSEvent::setTargetName(const QString &targetName)
36{
37 m_event->setTargetName(targetName);
38}
39
40// Event.shift
41bool JSEvent::shift() const
42{
43 return m_event->shiftModifier();
44}
45
46// Event.source
47QJSValue JSEvent::source() const
48{
49 if (m_event->eventType() == Event::FieldCalculate) {
50 FormField *src = m_event->source();
51 if (src) {
52 return JSField::wrapField(qjsEngine(this), src, m_event->sourcePage());
53 }
54 }
56}
57
58// Event.target
59QJSValue JSEvent::target() const
60{
61 switch (m_event->eventType()) {
62 case Event::FieldCalculate:
63 case Event::FieldFormat:
64 case Event::FieldKeystroke:
65 case Event::FieldFocus:
66 case Event::FieldValidate:
67 case Event::FieldMouseUp: {
68 FormField *target = static_cast<FormField *>(m_event->target());
69 if (target) {
70 return JSField::wrapField(qjsEngine(this), target, m_event->targetPage());
71 }
72 break;
73 }
74 case Event::DocOpen:
75 case Event::DocWillClose:
76 case Event::DocWillSave:
77 case Event::DocWillPrint:
78 case Event::DocDidSave:
79 case Event::DocDidPrint: {
80 return qjsEngine(this)->globalObject().property(QStringLiteral("Doc"));
81 }
82 default: {
83 }
84 }
86}
87
88// Event.value (getter)
89QJSValue JSEvent::value() const
90{
91 return m_event->value().toString();
92}
93
94// Event.value (setter)
95void JSEvent::setValue(const QJSValue &value)
96{
97 m_event->setValue(QVariant(value.toString()));
98}
99
100// Event.rc (getter)
101bool JSEvent::returnCode() const
102{
103 return m_event->returnCode();
104}
105
106// Event.rc (setter)
107void JSEvent::setReturnCode(bool rc)
108{
109 m_event->setReturnCode(rc);
110}
111
112// Event.willCommit (getter)
113bool JSEvent::willCommit() const
114{
115 return m_event->willCommit();
116}
117
118// Event.change (getter)
119QString JSEvent::change() const
120{
121 return m_event->change();
122}
123
124// Event.selStart (getter)
125int JSEvent::selStart() const
126{
127 return m_event->selStart();
128}
129
130// Event.selEnd (getter)
131int JSEvent::selEnd() const
132{
133 return m_event->selEnd();
134}
135
136JSEvent::JSEvent(Event *event, QObject *parent)
137 : QObject(parent)
138 , m_event(event)
139{
140}
141
142JSEvent::~JSEvent() = default;
The base interface of a form field.
Definition form.h:40
AKONADI_CALENDAR_EXPORT KCalendarCore::Event::Ptr event(const Akonadi::Item &item)
global.h
Definition action.h:17
QString toString() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Jul 26 2024 11:51:37 by doxygen 1.11.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.