HTMLayoutDbg. Техно-демка.
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 17.05.07 15:13
Оценка: 169 (7)
Привет!

Довел небольшой проект до состояния, когда его можно показать. Вкратце, что это и с чем его едят.

Основная задача проекта – обеспечить программиста набором компонентов облегчающих разработку UI на основе HTMLayout

Основой библиотеки стали несколько behavior, призванных сообщать информацию о

Предполагается предоставлять два способа подключения HTMLayoutDBG к клиентскому приложению:

  1. Набор независимых behavior, подключаемых и настраиваемых пользователем самостоятельно
  2. Приложение HTMLayoutDBG, пригодное для поверхностного анализа и отладки документа.

Список behavior:
  1. dbgpath – полный путь до элемента над которым находится курсор
  2. dbgelement – вывод базовой информации об элементе над которым находится курсор
  3. dbgbar – упрощенный аналог Web Developer Toolbar из комплекта расширений Mozilla Firefox
  4. dbgtree – дерево документа (с возможностью модификации)
  5. dbgeventlog – контейнер позволяющий просматривать (в удобном виде) (группировки, подсветка) события.

Скриншот forms/datetime.htm из SDK. Подсвечены элементы таблички и тег h3


Флеш-демо на три минуты

src
exe
Лицензия. В будущем, если дойдут руки до чего-то сложного, возможно, часть behavior-ов будет распространяться по коммерческой лицензии, а пока boost

В начале следующей недели причешу код и выложу комментарии, как подключать behavior-ы к клиентскому приложению (в текущий момент это может быть затруднительно).
Пока оно сырое, поэтому просьба на баги сильно не ругаться.

Комментарии, пожелания, любые идеи are welcome
Хорошо там, где мы есть! :)
Re: HTMLayoutDbg. Техно-демка.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 17.05.07 15:32
Оценка:
Здравствуйте, ShaggyOwl, Вы писали:

ИМХО надо делать что-то навешивающееся сверху типа Spy++ и HTMLDump.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: HTMLayoutDbg. Техно-демка.
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 17.05.07 15:49
Оценка:
Здравствуйте, adontz, Вы писали:

A>ИМХО надо делать что-то навешивающееся сверху типа Spy++ и HTMLDump.


А оно удобно в работе? (ни с тем ни с другим плотно не сталкивался)
Надо будет подумать, как можно приаттачить к пользовательскому приложению свои behaviors. Если это получится сделать, то можно легко собрать HTMLayoutSpy
Хорошо там, где мы есть! :)
Re[3]: HTMLayoutDbg. Техно-демка.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 17.05.07 16:07
Оценка:
Здравствуйте, ShaggyOwl, Вы писали:

SO>А оно удобно в работе? (ни с тем ни с другим плотно не сталкивался)


ДУмаю да, инструмент в целевой аудитории весьма популярен.

SO>Надо будет подумать, как можно приаттачить к пользовательскому приложению свои behaviors. Если это получится сделать, то можно легко собрать HTMLayoutSpy


А зачем именно behavior? behavior это просто имя группы обработчиков сообщений. Совершенно не объязательно в данном конкретном случае из группировать и именовать.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[4]: HTMLayoutDbg. Техно-демка.
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 17.05.07 16:15
Оценка:
Здравствуйте, adontz, Вы писали:

A>ДУмаю да, инструмент в целевой аудитории весьма популярен.

Ок, понятно. Запишу, как фичу

SO>>Надо будет подумать, как можно приаттачить к пользовательскому приложению свои behaviors. Если это получится сделать, то можно легко собрать HTMLayoutSpy

A>А зачем именно behavior? behavior это просто имя группы обработчиков сообщений. Совершенно не объязательно в данном конкретном случае из группировать и именовать.
Тут что интересует. Есть HWND пользовательского приложения, в котором происходит событие, допустим BUTTON_PRESS. Как мне узнать о событии?
Хорошо там, где мы есть! :)
Re[5]: HTMLayoutDbg. Техно-демка.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 17.05.07 16:47
Оценка:
Здравствуйте, ShaggyOwl, Вы писали:

HTMLayoutAttachEventHandler
HTMLayoutDetachEventHandler
HTMLayoutAttachEventHandlerEx
HTMLayoutWindowAttachEventHandler
HTMLayoutWindowDetachEventHandler
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[6]: HTMLayoutDbg. Техно-демка.
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 17.05.07 17:12
Оценка:
Здравствуйте, adontz, Вы писали:

A>HTMLayoutWindowAttachEventHandler

A>HTMLayoutWindowDetachEventHandler

Верно.
Момент который не укладывается в голове, вот в чем.
Допустим в приложении HTMLayoutSpy реализован EventHandler, который надо приаттачить к пользовательскому процессу Sacrifice.exe.
Получаем ситуацию при которой HTMLayout и наш EventHandler лежат в двух разных процессах (и соответственно, адресных пространствах). Это нормально? Или тут должна использоваться более сложная схема? Может говорю глупость, но этот вопрос действительно не понимаю
Хорошо там, где мы есть! :)
Re[7]: HTMLayoutDbg. Техно-демка.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 17.05.07 18:15
Оценка: 14 (1)
Здравствуйте, ShaggyOwl, Вы писали:

SO>Получаем ситуацию при которой HTMLayout и наш EventHandler лежат в двух разных процессах (и соответственно, адресных пространствах). Это нормально? Или тут должна использоваться более сложная схема? Может говорю глупость, но этот вопрос действительно не понимаю


Надо в целевой процесс внедрять DLL в которой и будет EventHandler. Так что всё в рамках 1 процесса. Собственно этот EventHandler уже через какие-то особые механизмы может пересылать копии сообщений HMLayoutSpy.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[8]: HTMLayoutDbg. Техно-демка.
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 17.05.07 18:25
Оценка:
Здравствуйте, adontz, Вы писали:

A>Надо в целевой процесс внедрять DLL в которой и будет EventHandler. Так что всё в рамках 1 процесса. Собственно этот EventHandler уже через какие-то особые механизмы может пересылать копии сообщений HMLayoutSpy.


Ага, теперь понятно куда копать
Хорошо там, где мы есть! :)
Re[9]: HTMLayoutDbg. Техно-демка.
От: c-smile Канада http://terrainformatica.com
Дата: 17.05.07 19:58
Оценка:
Здравствуйте, ShaggyOwl, Вы писали:

SO>Здравствуйте, adontz, Вы писали:


A>>Надо в целевой процесс внедрять DLL в которой и будет EventHandler. Так что всё в рамках 1 процесса. Собственно этот EventHandler уже через какие-то особые механизмы может пересылать копии сообщений HMLayoutSpy.


SO>Ага, теперь понятно куда копать


Там еще бы входы выходы оставить для automated testing — логгирование событий и их воспроизведение. И можно продавать — покупатели есть.
ПыСы: Я вскорости выведу наружу API для манипуляции и опроса стилей элементов.
Re[10]: HTMLayoutDbg. Техно-демка.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 17.05.07 20:20
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>И можно продавать — покупатели есть.


Уверен? Там без красивого интерфейса работы от силы на день. С интерфейсом — неделя.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[10]: HTMLayoutDbg. Техно-демка.
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 17.05.07 20:42
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Там еще бы входы выходы оставить для automated testing — логгирование событий и их воспроизведение. И можно продавать — покупатели есть.

Если есть заказчик, надо делать

CS>ПыСы: Я вскорости выведу наружу API для манипуляции и опроса стилей элементов.

Это будет круто
Хорошо там, где мы есть! :)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.