KOSMIndoorMap

map-quick/types.h
1/*
2 SPDX-FileCopyrightText: 2024 Volker Krause <vkrause@kde.org>
3 SPDX-License-Identifier: LGPL-2.0-or-later
4*/
5
6#ifndef KOSMINDOORMAP_TYPES_H
7#define KOSMINDOORMAP_TYPES_H
8
9#include <KOSMIndoorMap/EquipmentModel>
10#include <KOSMIndoorMap/GateModel>
11#include <KOSMIndoorMap/PlatformModel>
12
13#include "amenitymodel.h"
14#include "amenitysortfilterproxymodel.h"
15#include "floorlevelchangemodel.h"
16#include "mapitem.h"
17#include "osmelementinformationmodel.h"
18#include "roommodel.h"
19#include "roomsortfilterproxymodel.h"
20
21#include <QQmlEngine>
22
23// from base library
24struct EquipmentModelForeign {
25 Q_GADGET
26 QML_NAMED_ELEMENT(EquipmentModel)
27 QML_FOREIGN(KOSMIndoorMap::EquipmentModel)
28};
29
30struct FloorLevelModelForeign {
31 Q_GADGET
32 QML_NAMED_ELEMENT(FloorLevelModel)
33 QML_FOREIGN(KOSMIndoorMap::FloorLevelModel)
34 QML_UNCREATABLE("only provided via C++ API")
35};
36
37struct GateModelForeign {
38 Q_GADGET
39 QML_NAMED_ELEMENT(GateModel)
40 QML_FOREIGN(KOSMIndoorMap::GateModel)
41};
42
43struct MapDataForeign {
44 Q_GADGET
45 QML_FOREIGN(KOSMIndoorMap::MapData)
46 QML_VALUE_TYPE(mapData)
47 QML_UNCREATABLE("only provided via C++ API")
48};
49
50struct MapLoaderForeign {
51 Q_GADGET
52 QML_NAMED_ELEMENT(MapLoader)
53 QML_FOREIGN(KOSMIndoorMap::MapLoader)
54 QML_UNCREATABLE("only provided via C++ API")
55};
56
57struct PlatformModelForeign {
58 Q_GADGET
59 QML_NAMED_ELEMENT(PlatformModel)
60 QML_FOREIGN(KOSMIndoorMap::PlatformModel)
61};
62
63struct ViewForeign {
64 Q_GADGET
65 QML_NAMED_ELEMENT(View)
66 QML_FOREIGN(KOSMIndoorMap::View)
67 QML_UNCREATABLE("only provided via C++ API")
68};
69
70
71// from QML library
72struct AmenityModelForeign {
73 Q_GADGET
74 QML_NAMED_ELEMENT(AmenityModel)
75 QML_FOREIGN(KOSMIndoorMap::AmenityModel)
76};
77
78struct AmenitySortFilterProxyModelForeign {
79 Q_GADGET
80 QML_NAMED_ELEMENT(AmenitySortFilterProxyModel)
81 QML_FOREIGN(KOSMIndoorMap::AmenitySortFilterProxyModel)
82};
83
84struct FloorLevelChangeModelForeign {
85 Q_GADGET
86 QML_NAMED_ELEMENT(FloorLevelChangeModel)
87 QML_FOREIGN(KOSMIndoorMap::FloorLevelChangeModel)
88};
89
90struct MapItemForeign {
91 Q_GADGET
92 QML_NAMED_ELEMENT(MapItemImpl)
93 QML_FOREIGN(KOSMIndoorMap::MapItem)
94};
95
96struct OSMElementForeign {
97 Q_GADGET
98 QML_NAMED_ELEMENT(osmElement)
99 QML_FOREIGN(KOSMIndoorMap::OSMElement)
100 QML_UNCREATABLE("only provided via C++ API")
101};
102
103struct OSMElementInformationModelForeign {
104 Q_GADGET
105 QML_NAMED_ELEMENT(OSMElementInformationModel)
106 QML_FOREIGN(KOSMIndoorMap::OSMElementInformationModel)
107};
108
109struct RoomModelForeign {
110 Q_GADGET
111 QML_NAMED_ELEMENT(RoomModel)
112 QML_FOREIGN(KOSMIndoorMap::RoomModel)
113};
114
115struct RoomSortFilterProxyModelForeign {
116 Q_GADGET
117 QML_NAMED_ELEMENT(RoomSortFilterProxyModel)
118 QML_FOREIGN(KOSMIndoorMap::RoomSortFilterProxyModel)
119};
120
121#endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Jan 24 2025 11:54:42 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.