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)
28};
29
30struct FloorLevelModelForeign {
31 Q_GADGET
32 QML_NAMED_ELEMENT(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)
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)
76};
77
78struct AmenitySortFilterProxyModelForeign {
79 Q_GADGET
80 QML_NAMED_ELEMENT(AmenitySortFilterProxyModel)
82};
83
84struct FloorLevelChangeModelForeign {
85 Q_GADGET
86 QML_NAMED_ELEMENT(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)
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)
119};
120
121#endif
List all amenities in a given data set.
Filtering/sorting on top of the AmenityModel.
Overlay source for elevators and escalators.
Floor level changes on steps or elevators.
Lists all airport gates found in the current map.
Definition gatemodel.h:34
Raw OSM map data, separated by levels.
Definition mapdata.h:60
Map renderer for the IndoorMap QML item.
Definition mapitem.h:32
Loader for OSM data for a single station or airport.
Definition maploader.h:29
Model containing information about a selected element.
QML wrapper around an OSM element.
Definition osmelement.h:21
Lists all platforms/tracks and platform sections found in the current map.
List all rooms of buildings in a given data set.
Definition roommodel.h:22
Filtering/sorting on top of the RoomModel.
View transformations and transformation manipulation.
Definition view.h:40
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 29 2024 11:55:43 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.