Avoid duplicating BEGIN/END_QT_REGISTERED_ENUM macros

This commit is contained in:
Dmitri Ovodok 2020-12-15 04:57:18 +03:00 committed by Igor Korsukov
parent be7672a095
commit dafdde1dd2
4 changed files with 17 additions and 30 deletions

View file

@ -360,3 +360,5 @@ endif (USE_SYSTEM_FREETYPE)
set(MODULE_LINK ${MODULE_LINK} midi_old qzip)
include(${PROJECT_SOURCE_DIR}/build/module.cmake)
set_property(TARGET ${MODULE} APPEND PROPERTY AUTOMOC_MACRO_NAMES "BEGIN_QT_REGISTERED_ENUM")

13
src/libmscore/qtenum.h Normal file
View file

@ -0,0 +1,13 @@
#ifdef SCRIPT_INTERFACE
#define BEGIN_QT_REGISTERED_ENUM(Name) \
class MSQE_##Name { \
Q_GADGET \
public:
#define END_QT_REGISTERED_ENUM(Name) \
Q_ENUM(Name); \
}; \
using Name = MSQE_##Name::Name;
#else
#define BEGIN_QT_REGISTERED_ENUM(Name)
#define END_QT_REGISTERED_ENUM(Name)
#endif

View file

@ -18,6 +18,7 @@
#include "chordlist.h"
#include "types.h"
#include "qtenum.h"
namespace Ms {
enum class Pid : int;
@ -26,21 +27,6 @@ struct ChordDescription;
class Element;
class Score;
// Needs to be duplicated here and in sym.h since moc doesn't handle macros from #include'd files
#ifdef SCRIPT_INTERFACE
#define BEGIN_QT_REGISTERED_ENUM(Name) \
class MSQE_##Name { \
Q_GADGET \
public:
#define END_QT_REGISTERED_ENUM(Name) \
Q_ENUM(Name); \
}; \
using Name = MSQE_##Name::Name;
#else
#define BEGIN_QT_REGISTERED_ENUM(Name)
#define END_QT_REGISTERED_ENUM(Name)
#endif
//---------------------------------------------------------
// Sid
/// Enumerates the list of score style settings

View file

@ -17,25 +17,11 @@
#include "config.h"
#include "style.h"
#include "qtenum.h"
#include "ft2build.h"
#include FT_FREETYPE_H
// Needs to be duplicated here and in style.h since moc doesn't handle macros from #include'd files
#ifdef SCRIPT_INTERFACE
#define BEGIN_QT_REGISTERED_ENUM(Name) \
class MSQE_##Name { \
Q_GADGET \
public:
#define END_QT_REGISTERED_ENUM(Name) \
Q_ENUM(Name); \
}; \
using Name = MSQE_##Name::Name;
#else
#define BEGIN_QT_REGISTERED_ENUM(Name)
#define END_QT_REGISTERED_ENUM(Name)
#endif
namespace Ms {
//---------------------------------------------------------
// SymId