В иерархии классов, где один класс представляет абстрактный элемент пользовательского интерфейса, существует ли набор значений (представляемых, например, как перечисление, в зависимости от языка), который представляет состояние, которое разделяют все элементы пользовательского интерфейса?
В качестве элементов пользовательского интерфейса я считаю:
- Кнопка
- TextFields
- Флажки
- Радиогруппы и кнопки
- и т.д.
Прямо сейчас я столкнулся с тем, что мне нужно реализовать State для каждого элемента, который состоит из состояний "IDLE, HOT и ACTIVE", представляющих элемент, который не находится ниже мыши, находится ниже мыши и был подавленный щелчком мыши. Если эти состояния приводят к другому визуальному представлению, это другое дело, но программно, чтобы обеспечить базовую функциональность, мне понадобились эти три во всех представлениях элементов пользовательского интерфейса. Хотя я еще не реализовал их все, поэтому, если кто-то может сказать мне сейчас, что на самом деле все элементы пользовательского интерфейса в известном и часто используемом наборе метафор содержат эти состояния (среди других, например, «выбран» для переключателей, которые отделены от состояние внимания со стороны пользователя и т. д.) Я могу изменить свой подход ко всей проблеме.