Привет!
Довел небольшой проект до состояния, когда его можно показать. Вкратце, что это и с чем его едят.
Основная задача проекта – обеспечить программиста набором компонентов облегчающих разработку UI на основе HTMLayout
Основой библиотеки стали несколько behavior, призванных сообщать информацию о
текущем состоянии дерева документа и отдельных элементов
выводить отладочную информацию по запрошенным элементам (type.class#id, родственники/потомки, положение на экране)
упростить выявление ошибок связанных с event-ами
предложить простой способ изменения отдельных атрибутов css (например, подсветка элементов одного класса)
создавать дампы html (всего документа или отдельных элементов)
обеспечивать возможность модификации дерева документа
Предполагается предоставлять два способа подключения HTMLayoutDBG к клиентскому приложению:
Набор независимых behavior, подключаемых и настраиваемых пользователем самостоятельно
Приложение HTMLayoutDBG, пригодное для поверхностного анализа и отладки документа.
Список behavior:
dbgpath – полный путь до элемента над которым находится курсор
dbgelement – вывод базовой информации об элементе над которым находится курсор
dbgbar – упрощенный аналог Web Developer Toolbar из комплекта расширений Mozilla Firefox
dbgtree – дерево документа (с возможностью модификации)
dbgeventlog – контейнер позволяющий просматривать (в удобном виде) (группировки, подсветка) события.
Скриншот forms/datetime.htm из SDK. Подсвечены элементы таблички и тег h3
Флеш-демо на три минуты
src
exe
Лицензия. В будущем, если дойдут руки до чего-то сложного, возможно, часть behavior-ов будет распространяться по коммерческой лицензии, а пока
boost
В начале следующей недели причешу код и выложу комментарии, как подключать behavior-ы к клиентскому приложению (в текущий момент это может быть затруднительно).
Пока оно сырое, поэтому просьба на баги сильно не ругаться.
Комментарии, пожелания, любые идеи are welcome