File indexing completed on 2024-05-12 04:33:32
0001 /* 0002 SPDX-FileCopyrightText: 2018 Intevation GmbH <intevation@intevation.de> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "js_event_p.h" 0008 0009 #include "event_p.h" 0010 #include "js_field_p.h" 0011 0012 #include <QJSEngine> 0013 0014 using namespace Okular; 0015 0016 // Event.name 0017 QString JSEvent::name() const 0018 { 0019 return m_event->name(); 0020 } 0021 0022 // Event.type 0023 QString JSEvent::type() const 0024 { 0025 return m_event->type(); 0026 } 0027 0028 // Event.targetName (getter) 0029 QString JSEvent::targetName() const 0030 { 0031 return m_event->targetName(); 0032 } 0033 0034 // Event.targetName (setter) 0035 void JSEvent::setTargetName(const QString &targetName) 0036 { 0037 m_event->setTargetName(targetName); 0038 } 0039 0040 // Event.shift 0041 bool JSEvent::shift() const 0042 { 0043 return m_event->shiftModifier(); 0044 } 0045 0046 // Event.source 0047 QJSValue JSEvent::source() const 0048 { 0049 if (m_event->eventType() == Event::FieldCalculate) { 0050 FormField *src = m_event->source(); 0051 if (src) { 0052 return JSField::wrapField(qjsEngine(this), src, m_event->sourcePage()); 0053 } 0054 } 0055 return QJSValue(QJSValue::UndefinedValue); 0056 } 0057 0058 // Event.target 0059 QJSValue JSEvent::target() const 0060 { 0061 switch (m_event->eventType()) { 0062 case Event::FieldCalculate: 0063 case Event::FieldFormat: 0064 case Event::FieldKeystroke: 0065 case Event::FieldFocus: 0066 case Event::FieldValidate: 0067 case Event::FieldMouseUp: { 0068 FormField *target = static_cast<FormField *>(m_event->target()); 0069 if (target) { 0070 return JSField::wrapField(qjsEngine(this), target, m_event->targetPage()); 0071 } 0072 break; 0073 } 0074 default: { 0075 } 0076 } 0077 return QJSValue(QJSValue::UndefinedValue); 0078 } 0079 0080 // Event.value (getter) 0081 QJSValue JSEvent::value() const 0082 { 0083 return m_event->value().toString(); 0084 } 0085 0086 // Event.value (setter) 0087 void JSEvent::setValue(const QJSValue &value) 0088 { 0089 m_event->setValue(QVariant(value.toString())); 0090 } 0091 0092 // Event.rc (getter) 0093 bool JSEvent::returnCode() const 0094 { 0095 return m_event->returnCode(); 0096 } 0097 0098 // Event.rc (setter) 0099 void JSEvent::setReturnCode(bool rc) 0100 { 0101 m_event->setReturnCode(rc); 0102 } 0103 0104 // Event.willCommit (getter) 0105 bool JSEvent::willCommit() const 0106 { 0107 return m_event->willCommit(); 0108 } 0109 0110 // Event.change (getter) 0111 QString JSEvent::change() const 0112 { 0113 return m_event->change(); 0114 } 0115 0116 JSEvent::JSEvent(Event *event, QObject *parent) 0117 : QObject(parent) 0118 , m_event(event) 0119 { 0120 } 0121 0122 JSEvent::~JSEvent() = default;