Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
window.h
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QARKUI__WINDOW_H
5#define QARKUI__WINDOW_H
6
7#include <QtCore/private/qnapi_p.h>
8#include <QtCore/private/qohoscommon_p.h>
9#include <QtCore/qglobal.h>
10#include <QtCore/qrect.h>
11#include <optional>
12#include <qohosdisplayinfo.h>
13#include <qohosplugincore.h>
14#include <qohosutils.h>
15#include <string>
16#include <vector>
17
18QT_BEGIN_NAMESPACE
19
20namespace QArkUi {
21
22using JsWindowId = QtOhos::TypedId<double, struct JsWindowIdTag>;
23
25{
28 JsWindowId id;
29 std::optional<QOhosDisplayInfo::JsDisplayId> displayId;
30};
31
32std::optional<WindowProperties> tryGetWindowProperties(JsWindowId jsWindowId);
33
35{
36public:
37 explicit JsWindowRef(
38 std::string owningQAbilityInstanceId, JsWindowId windowId,
39 QNapi::Object jsWindow, QtOhos::QObjectThreadSafeRef owningQWindowRef);
40
41 JsWindowRef(const JsWindowRef &) = delete;
42 JsWindowRef &operator=(const JsWindowRef &) = delete;
43
46
47 bool isFocused() const;
48 bool isWindowShown() const;
49 const std::string &owningQAbilityInstanceId() const;
50 JsWindowId id() const;
52
53 template<typename Result = QNapi::Value>
54 Result eval(const std::string &expr, const std::vector<QNapi::ValueWrapper> &exprArgs = {}) const;
55
57 const std::string &expr, const std::vector<QNapi::ValueWrapper> &exprArgs = {}) const;
58
60
61private:
62 std::string m_owningQAbilityInstanceId;
63 JsWindowId m_jsWindowId;
64 QNapi::Reference<QNapi::Object> m_jsWindow;
65 QtOhos::QObjectThreadSafeRef m_owningQWindowRef;
66};
67
68template<typename Result>
69Result JsWindowRef::eval(const std::string &expr, const std::vector<QNapi::ValueWrapper> &exprArgs) const
70{
71 return m_jsWindow.eval<Result>(expr, exprArgs);
72}
73
75 const std::string &expr, const std::vector<QNapi::ValueWrapper> &exprArgs) const
76{
77 return m_jsWindow.evalToPromiseOrRejectOnThrow(expr, exprArgs);
78}
79
80}
81
82QT_END_NAMESPACE
83
84#endif
QNapi::Object jsObject()
Definition window.cpp:90
JsWindowRef(JsWindowRef &&)=delete
JsWindowRef(std::string owningQAbilityInstanceId, JsWindowId windowId, QNapi::Object jsWindow, QtOhos::QObjectThreadSafeRef owningQWindowRef)
Definition window.cpp:45
bool isFocused() const
Definition window.cpp:68
JsWindowRef(const JsWindowRef &)=delete
QtOhos::QObjectThreadSafeRef owningQWindowRef() const
Definition window.cpp:85
JsWindowRef & operator=(JsWindowRef &&)=delete
Result eval(const std::string &expr, const std::vector< QNapi::ValueWrapper > &exprArgs={}) const
Definition window.h:69
bool isWindowShown() const
Definition window.cpp:55
JsWindowId id() const
Definition window.cpp:80
JsWindowRef & operator=(const JsWindowRef &)=delete
const std::string & owningQAbilityInstanceId() const
Definition window.cpp:75
QNapi::Promise evalToPromiseOrRejectOnThrow(const std::string &expr, const std::vector< QNapi::ValueWrapper > &exprArgs={}) const
Definition window.h:74
std::optional< WindowProperties > tryGetWindowProperties(JsWindowId jsWindowId)
Definition window.cpp:27
Combined button and popup list for selecting options.
std::optional< QOhosDisplayInfo::JsDisplayId > displayId
Definition window.h:29