QWindowKit  1.5.1.0
Cross-platform window customization framework
Loading...
Searching...
No Matches
windowagentbase_p.h
1// Copyright (C) 2023-present Stdware Collections (https://www.github.com/stdware)
2// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao)
3// SPDX-License-Identifier: Apache-2.0
4
5#ifndef WINDOWAGENTBASEPRIVATE_H
6#define WINDOWAGENTBASEPRIVATE_H
7
8//
9// W A R N I N G !!!
10// -----------------
11//
12// This file is not part of the QWindowKit API. It is used purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or may even be removed.
15//
16
17#include <QWKCore/windowagentbase.h>
18#include <QWKCore/private/abstractwindowcontext_p.h>
19
20namespace QWK {
21
22 class QWK_CORE_EXPORT WindowAgentBasePrivate {
23 Q_DECLARE_PUBLIC(WindowAgentBase)
24 public:
25 WindowAgentBasePrivate();
26 virtual ~WindowAgentBasePrivate();
27
28 void init();
29
30 WindowAgentBase *q_ptr = nullptr;
31
32 virtual AbstractWindowContext *createContext() const;
33
34 void setup(QObject *host, WindowItemDelegate *delegate);
35
36 std::unique_ptr<AbstractWindowContext> context;
37
38 public:
39 using WindowContextFactoryMethod = AbstractWindowContext *(*) ();
40
41 static WindowContextFactoryMethod windowContextFactoryMethod;
42
43 private:
44 Q_DISABLE_COPY(WindowAgentBasePrivate)
45 };
46
47}
48
49#endif // WINDOWAGENTBASEPRIVATE_H
QWindowKit namespace.
Definition abstractwindowcontext.cpp:13