Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

convert as many "enum" as possible to "enum class", and make them ": char" in the due course #4 #936

Merged
merged 14 commits into from
May 30, 2014

Conversation

Jojo-Schmitz
Copy link
Contributor

Follow up of PR #914, #927 and #935
Several enum types are "enum class" (i.e. typesafe C++ enums), several others are not.
Also making them ": char" should reduce the size of these structures.

Help in converting "enum AlignmentFlags", "enum ArticulationShowIn", "enum ElementFlag", "enum Hidden", "enum LayoutFlag", "enum Repeat" and "enum SegmentType" into an "enum class" needed, these are used as flags.
Also some help is needed to convert "enum TextStyleType" into an "enum class", but for different reasons (read: complexity).

@wschweer
Copy link
Contributor

Please do not change enum Tpc, its not a real enum.

@Jojo-Schmitz
Copy link
Contributor Author

Glad to hear that ;-)

@Jojo-Schmitz
Copy link
Contributor Author

This should conclude the series of changes to enums in libmscore, so this might be the time to merge.
I will continue with the enums in mscore now.

more work needed to make it an enum class
and change to a better sentinel for end of list.
Also move the Q_DECLARE_METATYPE(Ms::ValueType) nearer to its
definition.

This should conclude the work on the enums in libmsore/mscore.h.
and make enum LayoutFlag a ": char" (making it an enum class requires
more work, as it is used for flags)
but an attempt to get rid of the FILE_ prefix failed miserably whith
some bizarre compiler error message.
and to be able to ret rid of the KEY_ prefix, change enum Tpc's members
by adding (back) the prefix TPC_
more work needed in midi/midiinstrument.{h,cpp}?
as it is used for flags, turning into an enum would require much more
work
and adjust entire file to MuseScore coding style
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants