blob: 70e0211d8efea7c409764f3b58753481c8f4e690 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "applicationmanagerwindowimpl.h"
#include "applicationmanagerwindow.h"
QT_BEGIN_NAMESPACE_AM
std::function<ApplicationManagerWindowImpl *(ApplicationManagerWindow *)> ApplicationManagerWindowImpl::s_factory;
ApplicationManagerWindowImpl::ApplicationManagerWindowImpl(ApplicationManagerWindow *window)
: m_amwindow(window)
{ }
void ApplicationManagerWindowImpl::setFactory(const std::function<ApplicationManagerWindowImpl *(ApplicationManagerWindow *)> &factory)
{
s_factory = factory;
}
ApplicationManagerWindowImpl *ApplicationManagerWindowImpl::create(ApplicationManagerWindow *window)
{
return s_factory ? s_factory(window) : nullptr;
}
ApplicationManagerWindow *ApplicationManagerWindowImpl::amWindow()
{
return m_amwindow;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
// ApplicationManagerWindowAttachedImpl
///////////////////////////////////////////////////////////////////////////////////////////////////
std::function<ApplicationManagerWindowAttachedImpl *(ApplicationManagerWindowAttached *, QQuickItem *)> ApplicationManagerWindowAttachedImpl::s_factory;
ApplicationManagerWindowAttachedImpl::ApplicationManagerWindowAttachedImpl(ApplicationManagerWindowAttached *windowAttached,
QQuickItem *attacheeItem)
: m_amWindowAttached(windowAttached)
, m_attacheeItem(attacheeItem)
{ }
void ApplicationManagerWindowAttachedImpl::setFactory(const std::function<ApplicationManagerWindowAttachedImpl *(ApplicationManagerWindowAttached *, QQuickItem *)> &factory)
{
s_factory = factory;
}
ApplicationManagerWindowAttachedImpl *ApplicationManagerWindowAttachedImpl::create(ApplicationManagerWindowAttached *windowAttached, QQuickItem *attacheeItem)
{
return s_factory ? s_factory(windowAttached, attacheeItem) : nullptr;
}
ApplicationManagerWindowAttached *ApplicationManagerWindowAttachedImpl::amWindowAttached() const
{
return m_amWindowAttached;
}
QQuickItem *ApplicationManagerWindowAttachedImpl::attacheeItem() const
{
return m_attacheeItem;
}
void ApplicationManagerWindowAttachedImpl::onWindowChanged(ApplicationManagerWindow *newWin)
{
m_amWindowAttached->reconnect(newWin);
}
QT_END_NAMESPACE_AM
|