MuseScore  3.4
Music composition and notation
enums.h
Go to the documentation of this file.
1 //=============================================================================
2 // MuseScore
3 // Music Composition & Notation
4 //
5 // Copyright (C) 2019 Werner Schweer and others
6 //
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License version 2.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 //=============================================================================
19 
20 #ifndef __PLUGIN_API_ENUMS_H__
21 #define __PLUGIN_API_ENUMS_H__
22 
23 #include <QQmlPropertyMap>
24 
25 namespace Ms {
26 namespace PluginAPI {
27 
28 //---------------------------------------------------------
31 //---------------------------------------------------------
32 
33 class Enum : public QQmlPropertyMap {
34  Q_OBJECT
35 
36  public:
38  Enum(const QMetaEnum& _enum, QObject* parent = nullptr);
40  };
41 
42 //---------------------------------------------------------
43 // wrapEnum
46 //---------------------------------------------------------
47 
48 template <class T>
49 Enum* wrapEnum(QObject* parent = nullptr)
50  {
51  return new Enum(QMetaEnum::fromType<T>(), parent);
52  }
53 
54 } // namespace PluginAPI
55 } // namespace Ms
56 #endif
Enum * wrapEnum(QObject *parent=nullptr)
Definition: enums.h:49
Wrapper for enumerations.
Definition: enums.h:33
Definition: aeolus.cpp:26
Enum(const QMetaEnum &_enum, QObject *parent=nullptr)
Definition: enums.cpp:29