2010-12-01 2 views
0

Я создаю API графического интерфейса. Он идет очень хорошо, за исключением одного аспекта. Мне нужны темы, похожие на GTK. Способ, которым я хочу, чтобы он работал, состоит в том, что каждый элемент GUI будет иметь по умолчанию Windows9X-образный способ рисования. Если обнаружено, что для этого типа виджета задана тема, он будет нарисован с помощью этих растровых изображений.Помогите с этим вопросом дизайна

Моя первоначальная концепция заключалась в том, чтобы создать класс темы, который имел бы геттеры и сеттеры для растровых изображений.

, например:

themeManager.setButtonHover(Bitmap *bitmap); 

Проблема с этим, то, что это не flexable, если я хочу, чтобы создать новые типы виджетов. В конечном итоге я могу создать супербайт, который будет использовать другую тему, чем кнопку. Это недостаток этой концепции. Концепция, о которой я думаю, заключается в том, что у каждого типа виджета есть статические методы для установки темы для себя, и конструктор использует это.

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

Благодаря

ответ

0

Может быть шаблон в superButton на политики и затем политику по умолчанию, который делает по умолчанию, и пользователь имеет возможность предоставлять другую политику? Затем политика может определять атрибуты кнопки (например, изображение наведения и т. Д.) - что я описываю?

+0

oh .. Вы решили пойти с этой идеей? Все ли получилось? – Nim 2010-12-05 20:59:29

Смежные вопросы