okular/core/script/js_event_p.h
2024-05-31 19:43:12 +00:00

60 lines
1.7 KiB
C++

/*
SPDX-FileCopyrightText: 2018 Intevation GmbH <intevation@intevation.de>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef OKULAR_SCRIPT_JS_EVENT_P_H
#define OKULAR_SCRIPT_JS_EVENT_P_H
#include <QJSValue>
#include <QObject>
namespace Okular
{
class Event;
class JSEvent : public QObject
{
Q_OBJECT
Q_PROPERTY(QString name READ name CONSTANT)
Q_PROPERTY(QString type READ type CONSTANT)
Q_PROPERTY(QString targetName READ targetName WRITE setTargetName) // clazy:exclude=qproperty-without-notify
Q_PROPERTY(bool shift READ shift CONSTANT)
Q_PROPERTY(QJSValue source READ source CONSTANT)
Q_PROPERTY(QJSValue target READ target CONSTANT)
Q_PROPERTY(bool willCommit READ willCommit CONSTANT)
Q_PROPERTY(QJSValue value READ value WRITE setValue) // clazy:exclude=qproperty-without-notify
Q_PROPERTY(bool rc READ returnCode WRITE setReturnCode) // clazy:exclude=qproperty-without-notify
Q_PROPERTY(QString change READ change CONSTANT)
Q_PROPERTY(int selStart READ selStart CONSTANT)
Q_PROPERTY(int selEnd READ selEnd CONSTANT)
public:
explicit JSEvent(Event *event, QObject *parent = nullptr);
~JSEvent() override;
QString name() const;
QString type() const;
QString targetName() const;
void setTargetName(const QString &targetName);
bool shift() const;
QJSValue source() const;
QJSValue target() const;
bool willCommit() const;
QJSValue value() const;
void setValue(const QJSValue &value);
bool returnCode() const;
void setReturnCode(bool rc);
QString change() const;
int selStart() const;
int selEnd() const;
private:
Event *m_event = nullptr;
};
}
#endif