29 lines
974 B
Python
29 lines
974 B
Python
import enum
|
|
|
|
class BlenderTypeEnum(str, enum.Enum):
|
|
def _generate_next_value_(name, start, count, last_values):
|
|
return name
|
|
|
|
def append_cls_name_to_values(cls):
|
|
# Construct Set w/Modified Member Names
|
|
new_members = {name: f"{name}{cls.__name__}" for name, member in cls.__members__.items()}
|
|
|
|
# Dynamically Declare New Enum Class w/Modified Members
|
|
new_cls = enum.Enum(cls.__name__, new_members, type=BlenderTypeEnum)
|
|
new_cls.__module__ = cls.__module__
|
|
|
|
# Return New (Replacing) Enum Class
|
|
return new_cls
|
|
|
|
def wrap_values_in_MT(cls):
|
|
# Construct Set w/Modified Member Names
|
|
new_members = {name: f"BLENDER_MAXWELL_MT_{name}" for name, member in cls.__members__.items()}
|
|
|
|
# Dynamically Declare New Enum Class w/Modified Members
|
|
new_cls = enum.Enum(cls.__name__, new_members, type=BlenderTypeEnum)
|
|
new_cls.__module__ = cls.__module__
|
|
new_cls.get_tree = cls.get_tree ## TODO: This is wildly specific...
|
|
|
|
# Return New (Replacing) Enum Class
|
|
return new_cls
|