Шаблон для GUI апплета для управления звуком - PullRequest
1 голос
/ 28 апреля 2010

Написание апплета управления звуком с графическим интерфейсом, который связывается с устройством через USB. Существует несколько типов используемых элементов управления: фейдеры, регуляторы, переключатели вкл / выкл. Хотя существуют функциональные сходства, часто существуют разные расчеты, диапазоны и настройки для каждого, хотя в конечном итоге все превращается в большую структуру и переправляется через нее.
Вопрос заключается в следующем: есть ли конкретный шаблон, на который я должен обратить внимание, чтобы это очистить? В настоящее время почти каждый элемент управления имеет определенный обработчик событий, который обновляет структуру основного элемента управления, любое изменение внешнего вида графического интерфейса пользователя, а затем обновляет устройство, но это кажется грязным и громоздким, и я думаю, что, вероятно, существует установленный шаблон для такого рода вещей , но я не настолько осведомлен.

1 Ответ

0 голосов
/ 29 апреля 2010

Архитектура, в которой каждый элемент управления имеет «измененный» обработчик событий, который обновляет основную структуру, имеет смысл в приложении, где пользователь может манипулировать только одним элементом управления за раз. Если события для каждого элемента управления имеют одинаковую сигнатуру, то, надеюсь, код имеет только один метод-обработчик - если в кодовой базе каждый элемент управления имеет свой собственный метод с таким же идентичным кодом обновления основной структуры, то это хорошее место для рефакторинга .

Если каждый элемент управления имеет разные свойства и разные вещи, которые он должен делать с основной структурой, то эта архитектура обработчика нескольких событий является совершенно разумной.

Одна вещь, которая, возможно, не имеет смысл, - это ваша индикация того, что графический интерфейс обновлен / перекрашен / обновлен до того, как новая управляющая информация будет отправлена ​​на устройство. Однако, если время, необходимое для обеих операций, минимально, это не имеет никакого значения.

Предупреждение - в основном рассылка не по теме: Наконец, я предполагаю из вашего описания, что графический интерфейс пользователя представляет собой стандартную звуковую накладку, смонтированную в стойке. Компонентная вещь. Лично я ненавижу эти вещи. Они хорошо выглядят ( вроде , иногда ), но элементы управления - это просто боль.

Например, типичным регулятором ручки манипулируют, щелкая по нему, а затем перетаскивая вверх и вниз (или иногда вправо и влево). Это функционально (хотя это не так, как работает «настоящая» ручка), хотя я часто нахожу, что сам курсор мыши затеняет и без того малозаметную черную индикаторную линию на ручке (а затем я двигаю мышь так что я вижу, что является проблемой). Я использовал некоторые элементы управления, которые требуют кругового движения, как настоящая ручка, но они полезны только в том случае, если они большие.

Типичное управление тумблером - это еще один незначительный PITA, требующий от вас щелкнуть крошечную вещь и затем переместить ее на небольшое расстояние. Что касается стандартных элементов управления в любой ОС, то, как правило, верно одно: они некрасивы, но по какой-то причине они некрасивы, а причина в простоте использования.

Наконец, все преимущество пользовательского интерфейса экрана компьютера перед реальным аппаратным интерфейсом пользователя состоит в том, что пользовательский интерфейс компьютера может использовать преимущества изменения размера и изменения порядка элементов интерфейса на лету. Это преимущество выбрасывается в окно, когда вы сознательно делаете свой интерфейс похожим на кусок металла или пластика (или деревянного зерна).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...