HTMLayout, версия "Pandorra".
От: c-smile Канада http://terrainformatica.com
Дата: 13.10.05 18:40
Оценка: 115 (6)
Нахожусь в процессе доводки новой версии HTMLayout.
Кратко о новой версии: основная фича — набор встроенных input behaviors —

Проще всего объяснить на примере, вот как описана кнопка в т.н. master style sheet:

/* text button */
input[type="button"] 
{ 
    padding:0.5em 1em; 
        white-space; no-wrap;
        display: inline-block;
    behavior:input-button; 
    background-repeat:stretch; 
    background-image:url(theme:button-normal); }
input[type="button"]:hover 
{ 
    background-image:url(theme:button-hover);  
}
input[type="button"]:hover:active 
{ 
    background-image:url(theme:button-pressed);  
}
input[type="button"][disabled] 
{ 
    background-image:url(theme:button-disabled);  
}


Принципиальные вещи выделены.

behavior:input-button — описывает поведение. этот (как и любой другой) behavior может быть назначен любому элементу. В данном случае назаначение behavior — послать нотификацию button_click хосту.
background-image:url(theme:button-normal); — этот чудный url означает что рендеринг делегируется операционной системе — на WinXP это например uxtheme.dll. Полный список включает практически полный набор из tmschema.h

Т.к. все элементы контроля и их содержимое есть элементы DOM то становится возможным стилировать их по всякому вплоть до конкретного суб элемента контрола.
Например вот как выглядит <select> (list box) теперь:


Концепт декларативного описания стиля состояний оказался очень сильным и гибким.
API позволяет писать свои собcтвенные behaviors в коде host applications — в том числе и рисовать.
HTMLayout как UI платформа предлагает использовать унифицированный HELEMENT вместо HWND, HLVITEM и иже с ними.

Так как такой UI это HTML то в любом месте работает контекстная команда copy — т.е. можно например скопировать tree view item в клипбоард и "выгрузить" его в MS Word.

Вот такие вот идеи. А?





16.12.06 17:08: Перенесено модератором из 'Пользовательский интерфейс: проектирование, usability' — Odi$$ey
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.