aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/lua/bindings/inheritance.h
blob: 5e6703e75f0162af452845d722ffc8b7bcb523cd (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

#pragma once

#include <sol/forward.hpp>

namespace Lua::Internal {
class LuaAspectContainer;
}

namespace Utils {
class AspectContainer;
class BoolAspect;
class ColorAspect;
class SelectionAspect;
class MultiSelectionAspect;
class StringAspect;
class FilePathAspect;
class IntegerAspect;
class DoubleAspect;
class StringListAspect;
class FilePathListAspect;
class IntegersAspect;
class StringSelectionAspect;
class ToggleAspect;
class TriStateAspect;
class TextDisplay;
class AspectList;
class BaseAspect;
} // namespace Utils

SOL_BASE_CLASSES(::Lua::Internal::LuaAspectContainer, Utils::AspectContainer, Utils::BaseAspect);

SOL_BASE_CLASSES(Utils::BoolAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::ColorAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::SelectionAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::MultiSelectionAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::StringAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::FilePathAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::IntegerAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::DoubleAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::StringListAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::FilePathListAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::IntegersAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::StringSelectionAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::ToggleAspect, Utils::BoolAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::TriStateAspect, Utils::SelectionAspect, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::TextDisplay, Utils::BaseAspect);
SOL_BASE_CLASSES(Utils::AspectList, Utils::BaseAspect);

SOL_DERIVED_CLASSES(Utils::AspectContainer, Lua::Internal::LuaAspectContainer);

SOL_DERIVED_CLASSES(
    Utils::BaseAspect,
    Utils::AspectContainer,
    Utils::BoolAspect,
    Utils::ColorAspect,
    Utils::SelectionAspect,
    Utils::MultiSelectionAspect,
    Utils::StringAspect,
    Utils::FilePathAspect,
    Utils::IntegerAspect,
    Utils::DoubleAspect,
    Utils::StringListAspect,
    Utils::FilePathListAspect,
    Utils::IntegersAspect,
    Utils::StringSelectionAspect,
    Utils::ToggleAspect,
    Utils::TriStateAspect,
    Utils::TextDisplay,
    Utils::AspectList);

namespace Layouting {
class Object;

class Layout;
class Column;
class Flow;
class Form;
class Grid;

class Widget;
class Group;
class PushButton;
class Row;
class SpinBox;
class Splitter;
class Stack;
class Tab;
class TabWidget;
class TextEdit;
class ToolBar;
} // namespace Layouting

SOL_BASE_CLASSES(Layouting::Layout, Layouting::Object);
SOL_BASE_CLASSES(Layouting::Column, Layouting::Layout);
SOL_BASE_CLASSES(Layouting::Row, Layouting::Layout);
SOL_BASE_CLASSES(Layouting::Flow, Layouting::Layout);
SOL_BASE_CLASSES(Layouting::Grid, Layouting::Layout);
SOL_BASE_CLASSES(Layouting::Form, Layouting::Layout);
SOL_BASE_CLASSES(Layouting::Widget, Layouting::Object);
SOL_BASE_CLASSES(Layouting::Stack, Layouting::Widget);
SOL_BASE_CLASSES(Layouting::Tab, Layouting::Widget);
SOL_BASE_CLASSES(Layouting::Group, Layouting::Widget);
SOL_BASE_CLASSES(Layouting::TextEdit, Layouting::Widget);
SOL_BASE_CLASSES(Layouting::PushButton, Layouting::Widget);
SOL_BASE_CLASSES(Layouting::SpinBox, Layouting::Widget);
SOL_BASE_CLASSES(Layouting::Splitter, Layouting::Widget);
SOL_BASE_CLASSES(Layouting::ToolBar, Layouting::Widget);
SOL_BASE_CLASSES(Layouting::TabWidget, Layouting::Widget);

SOL_DERIVED_CLASSES(
    Layouting::Object,
    Layouting::Layout,
    Layouting::Column,
    Layouting::Row,
    Layouting::Flow,
    Layouting::Grid,
    Layouting::Form,
    Layouting::Widget,
    Layouting::Stack,
    Layouting::Tab,
    Layouting::Group,
    Layouting::TextEdit,
    Layouting::PushButton,
    Layouting::SpinBox,
    Layouting::Splitter,
    Layouting::ToolBar,
    Layouting::TabWidget);