Re: Добавил Animation
От: c-smile Канада http://terrainformatica.com
Дата: 03.06.05 06:50
Оценка:
Здравствуйте, c-smile, Вы писали:

Собственно ничего выдающегося пока.

Анимация в стиле Opera. Пока только кнопки и toolbar.
testbed.exe в
http://www.terrainformatica.com/harmonia/HarmoniaDemo.zip

Harmonia Wiki
http://www.terrainformatica.com/wiki/pmwiki.php?pagename=Harmonia.Harmonia
Re[2]: Добавил Animation
От: Mamut Швеция http://dmitriid.com
Дата: 03.06.05 07:16
Оценка:
CS>Анимация в стиле Opera. Пока только кнопки и toolbar.
CS>testbed.exe в
CS>http://www.terrainformatica.com/harmonia/HarmoniaDemo.zip

В пакете нет HTMLEffects.html, требуемого для testbed->html effects test. Дополнительно возникает access violation при тестировании диалога ask
... << RSDN@Home 1.1.4 beta 7 rev. 447>> ... <<Winamp is playing "Silence">> ...


dmitriid.comGitHubLinkedIn
Re: Harmonia GUI Framework
От: WinterMute Россия http://yarrr.ru
Дата: 03.06.05 12:20
Оценка: 1 (1)
Заметил багу (под XP SP2): Если поводить поверх окна каким-нибудь TopMost окном (например Windows Task Manager), то окно Harmonia не перерисовывается.
Re[3]: Добавил Animation
От: c-smile Канада http://terrainformatica.com
Дата: 04.06.05 17:56
Оценка:
Здравствуйте, Mamut, Вы писали:

CS>>Анимация в стиле Opera. Пока только кнопки и toolbar.

CS>>testbed.exe в
CS>>http://www.terrainformatica.com/harmonia/HarmoniaDemo.zip

M>В пакете нет HTMLEffects.html, требуемого для testbed->html effects test. Дополнительно возникает access violation при тестировании диалога ask


Ага, спасибо. Починил access violation.
Заодно приделал более вразумительное сообщение об ошибках.

HTMLEffects.html я не положил пока сознательно.
Re[2]: Добавил Animation
От: Кодт Россия  
Дата: 04.06.05 19:10
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>testbed.exe в

CS>http://www.terrainformatica.com/harmonia/HarmoniaDemo.zip

В dialogs, dialog ask — иногда, если очень быстро мышкой махнуть, прилетает кнопка с исходного окна:

Один раз мне даже удалось вызвать AV — кликнул по ней, что ли? Не понял, что именно сделал. Воспроизвести не смог.
Перекуём баги на фичи!
Re[3]: Добавил Animation
От: c-smile Канада http://terrainformatica.com
Дата: 04.06.05 19:47
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, c-smile, Вы писали:


CS>>testbed.exe в

CS>>http://www.terrainformatica.com/harmonia/HarmoniaDemo.zip

К>В dialogs, dialog ask — иногда, если очень быстро мышкой махнуть, прилетает кнопка с исходного окна:

К>
К>Один раз мне даже удалось вызвать AV — кликнул по ней, что ли? Не понял, что именно сделал. Воспроизвести не смог.

Кул Спасибо.
Re: Harmonia/C++
От: c-smile Канада http://terrainformatica.com
Дата: 04.06.05 19:59
Оценка: 34 (2)
Здравствуйте, c-smile, Вы писали:

FYI: Начал перевод Harmonia на C++.

По причинам сугубо практическим.
Есть три проекта требующих оного.

Плюс неопределенность с самим D.
Там есть пара мест где пока в дизайне
сияют большие дыры:
1) отсуствие const references как факта.
т.е. нельзя сказать const char[] str например
что делает например наличие хорошего механизма slicing
в общем-то бессмысленным/pointless.
Особенно для библиотек и больших проектов.
2) Отсуствие возможности переопределить
operator =. Т.е. ownership patterns имплементировать
невозможно пока.

По этим пунктам Вальтер глухо молчит и не комментирует.
Соотвесвенно решение на сейчас принято о портировании
Harmonia/D -> Harmonia/C++
Re: Harmonia GUI Framework
От: Mazay Россия  
Дата: 07.06.05 08:30
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Выложил в Public Domain свою/свой Harmonia GUI Framework.


Project Harmony
Главное гармония ...
Re[2]: Harmonia/C++
От: korzhik Россия  
Дата: 02.07.05 13:45
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, c-smile, Вы писали:


CS>FYI: Начал перевод Harmonia на C++.


Супер! Буду с нетерпением ждать.
Re[3]: Harmonia/C++
От: c-smile Канада http://terrainformatica.com
Дата: 04.07.05 20:06
Оценка: 1 (1)
Здравствуйте, korzhik, Вы писали:...

Кстати в Harmonia/C++ пытаюсь построить систему в которой внешний вид
всех widgets определяется с помощью CSS.

Т.е. theme это внешний CSS файл или ресурс в котором сказано например так:


editbox 
{
  border: 1px solid black;
  background-color: white;
}

editbox:focus
{
  background-color: yellow;
}


Плюс если widget hosted in html container его стиль можно переопределять и в HTML.

So far so good — из имплементации базового набора код рисования и стилирования вынесен
практически полностью в отдельный style engine.
Re: Harmonia GUI Framework
От: Александр Сергеевич Россия  
Дата: 04.07.05 21:17
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Выложил в Public Domain свою/свой Harmonia GUI Framework.


CS>Harmonia это GUI для D language — моя попытка сделать

CS>нечто унифицированное для D как была\есть AWT для Java. Harmonia
CS>пытается следовать духу AWT (простота использования и прозрачность)

А что для D нет стандартных GUI-библиотек? Или нет ТАКИХ библиотек? Как я понял язык этот молодой. Меня впечатлил. Ээххх как будет время, присмотрюсь к нему...
А Вам большой респект за Ваше правое дело =)
<<Winamp играет: 'Twin Peaks' soundtrack — Andrey's Dance>>
Re[2]: Harmonia GUI Framework
От: c-smile Канада http://terrainformatica.com
Дата: 05.07.05 03:00
Оценка:
Здравствуйте, Александр Сергеевич, Вы писали:

АС>Здравствуйте, c-smile, Вы писали:


CS>>Выложил в Public Domain свою/свой Harmonia GUI Framework.


CS>>Harmonia это GUI для D language — моя попытка сделать

CS>>нечто унифицированное для D как была\есть AWT для Java. Harmonia
CS>>пытается следовать духу AWT (простота использования и прозрачность)

АС>А что для D нет стандартных GUI-библиотек? Или нет ТАКИХ библиотек? Как я понял язык этот молодой. Меня впечатлил. Ээххх как будет время, присмотрюсь к нему...


http://www.prowiki.org/wiki4d/wiki.cgi?AvailableGuiLibraries

Стандартных нет и хорошо.
В том смысле что у Java например есть и это в общем-то мало
помогает. Библиотек должно быть несколько — на разные ситуации.
Наверное. Или одна, но хорошо расширяемая на разные классы задач —
фактически позволяющая делать суббиблиотеки.

АС>А Вам большой респект за Ваше правое дело =)

Угу. Спасибо. "Ничего не нада"
Re[2]: Добавил Animation
От: adontz Грузия http://adontz.wordpress.com/
Дата: 05.07.05 20:05
Оценка: -1
Здравствуйте, c-smile, Вы писали:

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

файлы 1.html и 2.html
Browser.exe
  1. Вылетает на файле 1.html с сообщением acces violation
  2. Вылетает на файле 2.html вообще без сообщений
TestBed.exe
  1. Баг указанный Кодт'ом подтверждаю. Надо открыть несколько диалогов одновременно, потом закрыть, потом снова открыть несколько и т.д. артефакты не только в диалогах, но и в основном окне между кнопками.
  2. Если, когда мышь над кнопкой, нажать левую клавишу мыши, то кнопка прижмётся. Если потом вывести мышь за пределы кнопки, не отпуская клавиши, то она отожмётся. Если потом ввести мышь обратно, то кнопка не прижмётся, хотя должна.
  3. Если водить поверху окном то перерисовка выполняется некорректно (содержимое кона при перетаскивании показывается).
  4. Табуляция не циклична. Tab на последнем контрле и Shift+Tab на первом не работают.

МЫСЛИ:
Насчёт HWND-less — не нравится мне всё это. Никаких катастрофических тормозов в отрисовке с использованием HWND нет, если конечно грамотно пользоваться. Свои контролы, когда это кнопка, то конечно забавно, когда editbox — я против.
Многие стандартные вещи и вещи расчитанные на стандартные вещи перестают работать. Как пример IME или программа для людей с ослабленным зрением Narator или Onscreen Keyboard.
Более того, несмотря на правильные системные настройки ввести русские буквы мне так и не удалось. На размера системного шрифта контролы не реагируют, да и вообще не поддерживают Accessibility.
Глюки отрисовки конечно можно исправить, но не думаю что удастся повторять поведение стандартных контролов хоть на сколько нибудь приемлемом уровне.
Далее если бы мне нужен был HTML, то я скорее внедрю WebBrowser control и получу всю мощь DHTML, чем буду связыватся с неизвестной библиотекой которая не известно что поддерживает, а что нет.
Кучу диалогов (выбор цвета, настрока принтера, запись файла) тоже сам руками будешь делать?
Плюс ко всему, зачем мне ещё один рендерер? Harmonia это layout manager, но что насчёт реакции на события? Как мне реагировать на собития? Опять message maps?
Тогда уж лучше взять MFC, для неё есть куча расширений, она уже хорошо изучена, а скорость отрисовки в 99% случаев страдать не будет.
То что ты показал в testbed.exe это замечательно, но однооконно! Где же dockable toolbars (с окошечком настройки кстати говоря), dockable child windows, MDI наконец?
И есть ещё куча вопросов на которые HWND-less библиотека ответит однозначным отказом!
Переливы бежевого это конечно замечательно, но знакомое поведение контрола для пользователя ИМХО важнее. Особенно когда делается приложение со сложным и интенсивно используемым интерфейсом, где возможность заменить клик мыши нажатием кнопки это экономия часов рабочего времени.

ВЫВОДЫ:
Я не вижу причин использовать Harmonia в серьёзных проектах. Её текущие недостатки и, что важнее, недостатки вызванные архитектурой системы не позволяют её использовать. Инородный вид и, что самое главное, поведение будут вызывать больше проблем, чем можно чебе позволить.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: Добавил Animation
От: WinterMute Россия http://yarrr.ru
Дата: 06.07.05 09:05
Оценка:
A>Я буду ругать, но ты не обижайся Я уважаю твой огромный труд, хотя и считаю его малополезным.

Можно я тут влезу в ваш разговор? Если нельзя, то не читай дальше

A>файлы 1.html и 2.html


На сколько я знаю, Harmoniа понимает XHTML, точнее его разновидность, т.е. твой документ должен быть как минимум валидным XML документом.

A>Баг указанный Кодт'ом подтверждаю. Надо открыть несколько диалогов одновременно, потом закрыть, потом снова открыть несколько и т.д. артефакты не только в диалогах, но и в основном окне между кнопками.

A>Если, когда мышь над кнопкой, нажать левую клавишу мыши, то кнопка прижмётся. Если потом вывести мышь за пределы кнопки, не отпуская клавиши, то она отожмётся. Если потом ввести мышь обратно, то кнопка не прижмётся, хотя должна.
A>Если водить поверху окном то перерисовка выполняется некорректно (содержимое кона при перетаскивании показывается).
A>Табуляция не циклична. Tab на последнем контрле и Shift+Tab на первом не работают.

Баги есть. А где их нет? Это ведь не релиз.

A>МЫСЛИ:

A>Насчёт HWND-less — не нравится мне всё это. Никаких катастрофических тормозов в отрисовке с использованием HWND нет, если конечно грамотно пользоваться. Свои контролы, когда это кнопка, то конечно забавно, когда editbox — я против.
Заметные тормоза есть, особенно, если попытаться подвигать контролы по форме.
Едитбокс себя весьма прилично ведёт. Как раз сегодня я добавил перемещение по тексту с клавишой Ctrl, выделение по дабл клику ещё не работает, но это вопрос времени.

A>Многие стандартные вещи и вещи расчитанные на стандартные вещи перестают работать. Как пример IME или программа для людей с ослабленным зрением Narator или Onscreen Keyboard.

Трудно это прокомментировать, большая часть названий незнакома Думаю всё-же можно извратится и заставить это работать. Лучше день потерять, зато потом за пять минут долететь.

A>Более того, несмотря на правильные системные настройки ввести русские буквы мне так и не удалось. На размера системного шрифта контролы не реагируют, да и вообще не поддерживают Accessibility.

Заметил правильно, но это поправимо.

A>Глюки отрисовки конечно можно исправить, но не думаю что удастся повторять поведение стандартных контролов хоть на сколько нибудь приемлемом уровне.

Каких например? Честно говоря борьба со стандартеыми контролами за их приличное поведение порой сложнее чем написание своего контрола который будет выглядеть как стандартный. Пример? Хотябы ListView, который не прокручивается колёсиком если у него нет фокуса, опять же ListView и TreeView, custom-draw для которых очень плохо реализован. Не побоюсь сказать: дизайн WinApi это образец ректального паттерна проектирования.

A>Далее если бы мне нужен был HTML, то я скорее внедрю WebBrowser control и получу всю мощь DHTML, чем буду связыватся с неизвестной библиотекой которая не известно что поддерживает, а что нет.

Это далеко не то. Во-первых, заметно тормозит. Во-вторых, ты не знаешь какая версия IE у пользователя, а это может вызвать проблемы. И в-третьих гибкость совсем не та.

A>Кучу диалогов (выбор цвета, настрока принтера, запись файла) тоже сам руками будешь делать?

Диалоги, скорее всего, будут стандартными.

A>Плюс ко всему, зачем мне ещё один рендерер? Harmonia это layout manager, но что насчёт реакции на события? Как мне реагировать на собития? Опять message maps?

A>Тогда уж лучше взять MFC, для неё есть куча расширений, она уже хорошо изучена, а скорость отрисовки в 99% случаев страдать не будет.
Реакция на события есть, и она организована лучше чем в MFC, об этом c-smile писал.

A>То что ты показал в testbed.exe это замечательно, но однооконно! Где же dockable toolbars (с окошечком настройки кстати говоря), dockable child windows, MDI наконец?

A>И есть ещё куча вопросов на которые HWND-less библиотека ответит однозначным отказом!
Так, на вскидку, что мешает создать несколько окон в каждом из которых будет жить Harmonia. (звучит-то как!)

A>Переливы бежевого это конечно замечательно, но знакомое поведение контрола для пользователя ИМХО важнее. Особенно когда делается приложение со сложным и интенсивно используемым интерфейсом, где возможность заменить клик мыши нажатием кнопки это экономия часов рабочего времени.


Знакомое поведение это не проблема. В чём смысл заменять "клик мыши нажатием кнопки" я не понял

Вкратце, зачем, по-моему, нужна harmonia: HTML позволяет созавать хороший и красивый интерфейс быстро. HTML'у не хватает гибкости, у Harmonia гибкости выше крыши, начиная от самостоятельной прорисовки элементов, заканчивая возможностью вводить новые элементы управления.
Re[4]: Добавил Animation
От: adontz Грузия http://adontz.wordpress.com/
Дата: 06.07.05 11:22
Оценка:
Здравствуйте, WinterMute, Вы писали:

WM>Можно я тут влезу в ваш разговор? Если нельзя, то не читай дальше


Пожалуйста

A>>файлы 1.html и 2.html

WM>На сколько я знаю, Harmoniа понимает XHTML, точнее его разновидность, т.е. твой документ должен быть как минимум валидным XML документом.

Понимает это одно, зачем вылетает?

WM>Баги есть. А где их нет? Это ведь не релиз.


c-smile я так понял просил найти баги, я что смог нашёл.

WM>Заметные тормоза есть, особенно, если попытаться подвигать контролы по форме.


В смысле когда окно меняет размеры и некоторые контролы следуют за правой и/или нижней границей? Вот сейчас открыл окно VisualStudio и мигала только страничка Start которая HTML.

WM>Едитбокс себя весьма прилично ведёт. Как раз сегодня я добавил перемещение по тексту с клавишой Ctrl, выделение по дабл клику ещё не работает, но это вопрос времени.


Вопрос в том, когда же вы закончите? В Windows несколько десятков стандартных контролов, сколько времени займёт вылизать все аналоги? Да и стоит ли?

A>>Многие стандартные вещи и вещи расчитанные на стандартные вещи перестают работать. Как пример IME или программа для людей с ослабленным зрением Narator или Onscreen Keyboard.


WM>Трудно это прокомментировать, большая часть названий незнакома Думаю всё-же можно извратится и заставить это работать. Лучше день потерять, зато потом за пять минут долететь.


Это серсисы для инвалидов. Программы должны их поддерживать, что бы получить некоторые очень важные сертификаты (в частности правительственные заказы, заказы ВУЗов и некоторые коммерческие заказы без них не получить). Чтобы узнать о них нажми Win+U

A>>Более того, несмотря на правильные системные настройки ввести русские буквы мне так и не удалось. На размера системного шрифта контролы не реагируют, да и вообще не поддерживают Accessibility.

WM>Заметил правильно, но это поправимо.

Поддержка Accessibility (сервисы для инвалидов) в HWND-less окружении практически не реазилуема. Для меня это может означать значительный спад продаж конечного продукта или судебные иски к заказчику, со сторны конечных пользователей. Простой пример программа поиска и просмотра оцифрованных книг в публичной библиотеке, которой человек с ослабленным зрением не сможет воспользоваться.
c-smile из своей Канады, должен был это понимать

A>>Глюки отрисовки конечно можно исправить, но не думаю что удастся повторять поведение стандартных контролов хоть на сколько нибудь приемлемом уровне.


WM>Каких например? Честно говоря борьба со стандартеыми контролами за их приличное поведение порой сложнее чем написание своего контрола который будет выглядеть как стандартный. Пример? Хотябы ListView, который не прокручивается колёсиком если у него нет фокуса, опять же ListView и TreeView, custom-draw для которых очень плохо реализован. Не побоюсь сказать: дизайн WinApi это образец ректального паттерна проектирования.


Непрокручиваемость ListView в некоторых случаях не такой недостаток, чтобы вообще от него отказываться. Ругать WinAPI можно долго, но это целостная среда, а вы из неё выделяетесь. Когда что-то добавят в Windows все программы использующие стандартные контролы получат исправления бесплатно Добавили, например, Visual Styles, чтобы их подключить надо было просто разместить XML файл, а что делать с Harmonia? Правильно, скачать новую версию и перекомпилировать

A>>Далее если бы мне нужен был HTML, то я скорее внедрю WebBrowser control и получу всю мощь DHTML, чем буду связыватся с неизвестной библиотекой которая не известно что поддерживает, а что нет.

WM>Это далеко не то. Во-первых, заметно тормозит. Во-вторых, ты не знаешь какая версия IE у пользователя, а это может вызвать проблемы. И в-третьих гибкость совсем не та.

Нужную версию, если это так важно, можно ставить при инсталляции программы. Да и Mozilla ActiveX тоже никто не отменял.

Ведь по сути у вас What You See Is Something Like What You Get. В чём редактировать HTML для диалогов и в чём его предпросматривать? У вас уже width="%" обрабатывается как-то по-особенному, дальше больше...

A>>Кучу диалогов (выбор цвета, настрока принтера, запись файла) тоже сам руками будешь делать?


WM>Диалоги, скорее всего, будут стандартными.


То есть будут очень инородно выглядеть отношению к основному приложению.

A>>Плюс ко всему, зачем мне ещё один рендерер? Harmonia это layout manager, но что насчёт реакции на события? Как мне реагировать на собития? Опять message maps?

A>>Тогда уж лучше взять MFC, для неё есть куча расширений, она уже хорошо изучена, а скорость отрисовки в 99% случаев страдать не будет.

WM>Реакция на события есть, и она организована лучше чем в MFC, об этом c-smile писал.


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

A>>То что ты показал в testbed.exe это замечательно, но однооконно! Где же dockable toolbars (с окошечком настройки кстати говоря), dockable child windows, MDI наконец?

A>>И есть ещё куча вопросов на которые HWND-less библиотека ответит однозначным отказом!

WM>Так, на вскидку, что мешает создать несколько окон в каждом из которых будет жить Harmonia. (звучит-то как!)


Конечно ничено не мешает, но они должны активно взаимодействовать!

A>>Переливы бежевого это конечно замечательно, но знакомое поведение контрола для пользователя ИМХО важнее. Особенно когда делается приложение со сложным и интенсивно используемым интерфейсом, где возможность заменить клик мыши нажатием кнопки это экономия часов рабочего времени.


WM>Знакомое поведение это не проблема. В чём смысл заменять "клик мыши нажатием кнопки" я не понял


Простой пример — когда я плачу в банке за газ, электричество, воду и сборку мусора оператор вводит мои имя, фамилию, номера какие-то в одной программе ни разу не коснувшись мыши. Клавиатура так и щёлкает. Чеки печатаются дольше, чем оформляются, хотя принтер у них не плохой Заставь опреатора щёлкнуть мышью 1 раз и как результат оформление затормозиться в 2-3 раза, это очереди и огромные убытки (люди пойдут платить в другое место и банк не получит свои проценты).

Ещё не прочувствовал? Отключи себе клавишу Tab на сутки

WM>Вкратце, зачем, по-моему, нужна harmonia: HTML позволяет созавать хороший и красивый интерфейс быстро. HTML'у не хватает гибкости, у Harmonia гибкости выше крыши, начиная от самостоятельной прорисовки элементов, заканчивая возможностью вводить новые элементы управления.


То есть мелкие приложения, которые берут не функциональностью, а красотой
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[5]: Добавил Animation
От: WinterMute Россия http://yarrr.ru
Дата: 06.07.05 13:57
Оценка: 1 (1)
A>>>файлы 1.html и 2.html
WM>>На сколько я знаю, Harmoniа понимает XHTML, точнее его разновидность, т.е. твой документ должен быть как минимум валидным XML документом.

A>Понимает это одно, зачем вылетает?


Чтобы и ты понял! Это плохо, да, но не критично. HTML для этого движка почти тоже, что исходный код, можно ведь написать код который будет гробить программу, а почему HTML не может? Может! Здесь HTML может всё! Если серьёзно, не думаю, что такая большая проблема это поправить, но есть другие задачи.

WM>>Заметные тормоза есть, особенно, если попытаться подвигать контролы по форме.


A>В смысле когда окно меняет размеры и некоторые контролы следуют за правой и/или нижней границей? Вот сейчас открыл окно VisualStudio и мигала только страничка Start которая HTML.


Это потомучто IE тормозит, но он не один. Можно ради эксперемента написать програмку которая будет двигать штек десять кнопок по форме и посмотреть загркзку процессора.

A>Вопрос в том, когда же вы закончите? В Windows несколько десятков стандартных контролов, сколько времени займёт вылизать все аналоги? Да и стоит ли?


Мне недавно понадобилось сделать контрол который бы вел себя как радиокнопка, но выглядел иначе. Я подумал -- фигня! Возьму радиокнопку, определю код отрисовки и будет мне счастье. Ага. установка стиля ownerDraw затёрла информацию о типе контрола, т.е. теперь Windows даже не догадывался что это радиокнопка и мне пришлось всю ее функциональность реализовывать заново. Извини за технические подробности.

Стоит ли заморочится чтобы избежать таких проблем в будующем? По-моему да.

A>>>Многие стандартные вещи и вещи расчитанные на стандартные вещи перестают работать. Как пример IME или программа для людей с ослабленным зрением Narator или Onscreen Keyboard.


WM>>Трудно это прокомментировать...


A>Это серсисы для инвалидов. Программы должны их поддерживать, что бы получить некоторые очень важные сертификаты (в частности правительственные заказы, заказы ВУЗов и некоторые коммерческие заказы без них не получить). Чтобы узнать о них нажми Win+U


A>Поддержка Accessibility (сервисы для инвалидов) в HWND-less окружении практически не реазилуема. Для меня это может означать значительный спад продаж конечного продукта или судебные иски к заказчику, со сторны конечных пользователей. Простой пример программа поиска и просмотра оцифрованных книг в публичной библиотеке, которой человек с ослабленным зрением не сможет воспользоваться.

A>c-smile из своей Канады, должен был это понимать

Да, это недостаток, но какой процент программ расчитан на инвалидов. Даже не так, печальная правда: какой процент программ расчитан на полноценных людей? Чаще всего встречаются программы написанные так, будто у человека одна цель в жизни -- работать с ними.

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

A>>>Более того, несмотря на правильные системные настройки ввести русские буквы мне так и не удалось. На размера системного шрифта контролы не реагируют, да и вообще не поддерживают Accessibility.

WM>>Заметил правильно, но это поправимо.

A>Непрокручиваемость ListView в некоторых случаях не такой недостаток, чтобы вообще от него отказываться. Ругать WinAPI можно долго, но это целостная среда, а вы из неё выделяетесь. Когда что-то добавят в Windows все программы использующие стандартные контролы получат исправления бесплатно Добавили, например, Visual Styles, чтобы их подключить надо было просто разместить XML файл, а что делать с Harmonia? Правильно, скачать новую версию и перекомпилировать


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

"Бесплатного" нового интерфейса с появлением ThemeApi тоже не появилось, чтобы он включился, нужно положить манифест, а для большинства пользователей самим манифест это всё равно что скачать новую версию.

A>>>Далее если бы мне нужен был HTML, то я скорее внедрю WebBrowser control и получу всю мощь DHTML, чем буду связыватся с неизвестной библиотекой которая не известно что поддерживает, а что нет.

WM>>Это далеко не то. Во-первых, заметно тормозит. Во-вторых, ты не знаешь какая версия IE у пользователя, а это может вызвать проблемы. И в-третьих гибкость совсем не та.

A>Нужную версию, если это так важно, можно ставить при инсталляции программы. Да и Mozilla ActiveX тоже никто не отменял.


Её размер тоже никто не отменял.

A>Ведь по сути у вас What You See Is Something Like What You Get. В чём редактировать HTML для диалогов и в чём его предпросматривать? У вас уже width="%" обрабатывается как-то по-особенному, дальше больше...


"width%%", если быть точнее. HTML это сложно?

A>>>Кучу диалогов (выбор цвета, настрока принтера, запись файла) тоже сам руками будешь делать?

WM>>Диалоги, скорее всего, будут стандартными.
A>То есть будут очень инородно выглядеть отношению к основному приложению.

Почему, у приложения может быть дефолтовая схема. Это раз. И, если видел Оперу: она поддерживает скины, диалоги стандартные, инородно не выглядят. Т.е. мне пофиг как они выглядят, они появляются на короткое время для конкретной цели, которая важнее чем их разглядывание.

WM>>Знакомое поведение это не проблема. В чём смысл заменять "клик мыши нажатием кнопки" я не понял


A>Простой пример — когда я плачу в банке за газ, электричество, воду и сборку мусора оператор вводит мои имя, фамилию, номера какие-то в одной программе ни разу не коснувшись мыши. Клавиатура так и щёлкает. Чеки печатаются дольше, чем оформляются, хотя принтер у них не плохой Заставь опреатора щёлкнуть мышью 1 раз и как результат оформление затормозиться в 2-3 раза, это очереди и огромные убытки (люди пойдут платить в другое место и банк не получит свои проценты).


A>Ещё не прочувствовал? Отключи себе клавишу Tab на сутки


Т.е., думаешь клавиатура не поддерживается?

WM>>Вкратце, зачем, по-моему, нужна harmonia: HTML позволяет созавать хороший и красивый интерфейс быстро. HTML'у не хватает гибкости, у Harmonia гибкости выше крыши, начиная от самостоятельной прорисовки элементов, заканчивая возможностью вводить новые элементы управления.


A>То есть мелкие приложения, которые берут не функциональностью, а красотой


Не столько красотой, сколько эргономичностью. Аккуратно поданная информация лучше воспринимается.
Re[6]: Добавил Animation
От: adontz Грузия http://adontz.wordpress.com/
Дата: 06.07.05 15:32
Оценка:
Здравствуйте, WinterMute, Вы писали:


WM>Это потомучто IE тормозит, но он не один. Можно ради эксперемента написать програмку которая будет двигать штек десять кнопок по форме и посмотреть загркзку процессора.


60 говоришь? Пожалуйста! Тест на 60 кнопок У меня всё ок

A>>Вопрос в том, когда же вы закончите? В Windows несколько десятков стандартных контролов, сколько времени займёт вылизать все аналоги? Да и стоит ли?

WM>Мне недавно понадобилось сделать контрол который бы вел себя как радиокнопка, но выглядел иначе. Я подумал -- фигня! Возьму радиокнопку, определю код отрисовки и будет мне счастье. Ага. установка стиля ownerDraw затёрла информацию о типе контрола, т.е. теперь Windows даже не догадывался что это радиокнопка и мне пришлось всю ее функциональность реализовывать заново. Извини за технические подробности.

Ну и что? Каким образом это аргумент против стандартной (не custom draw) радиокнопки?

WM>Стоит ли заморочится чтобы избежать таких проблем в будующем? По-моему да.


По моему заморачиватся на странных контролах не стоит, которые ведут себя как утка, но выглядят как идюк.

A>>Это серсисы для инвалидов. Программы должны их поддерживать, что бы получить некоторые очень важные сертификаты (в частности правительственные заказы, заказы ВУЗов и некоторые коммерческие заказы без них не получить). Чтобы узнать о них нажми Win+U


WM>Да, это недостаток, но какой процент программ расчитан на инвалидов.


Все программы, которые используют только стандартные контролы, поддерживают Accessibility. Более того Accessibility поддерживают не только Windows Forms контролы от Microsoft, но и контролы третьих фирм:
Infragistics
Section 508 Compliance
Section 508 Accessibility
DevExpress


WM>Есть большой класс программ, из-за отсутствия этих фишек не пострадают. VS например.

Плохой пример VS поддерживает Accessibility так же как и MS Office, хотя конечно набирать программы на слух не очень удобно.

WM>"Бесплатного" нового интерфейса с появлением ThemeApi тоже не появилось, чтобы он включился, нужно положить манифест, а для большинства пользователей самим манифест это всё равно что скачать новую версию.


Одно дело добавить манифест — другое переписывать уже существующий код.

A>>Ведь по сути у вас What You See Is Something Like What You Get. В чём редактировать HTML для диалогов и в чём его предпросматривать? У вас уже width="%" обрабатывается как-то по-особенному, дальше больше...

WM>"width%%", если быть точнее. HTML это сложно?

HTML как таковой не сложно. Сложно то, что его усложнили HTML диалог открытый в браузере и показанный программой выглядят по разному. Это плохо.

WM>Почему, у приложения может быть дефолтовая схема. Это раз.


Приложение должно свою схему брать из настроек.

WM>И, если видел Оперу: она поддерживает скины, диалоги стандартные, инородно не выглядят.


Да ну? По-моему просто отвратитеььно выглядят даже родные диалоги.


WM>Т.е., думаешь клавиатура не поддерживается?


Т.е. думаю, что не совсем.

WM>Не столько красотой, сколько эргономичностью. Аккуратно поданная информация лучше воспринимается.


Аккуратно можно и без Harmonia Harmonia нужна именно для красоты.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: Добавил Animation
От: c-smile Канада http://terrainformatica.com
Дата: 06.07.05 23:55
Оценка:
Здравствуйте, adontz, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


A>Я буду ругать, но ты не обижайся Я уважаю твой огромный труд, хотя и считаю его малополезным.


Ну что тебе сказать? Спаибо это во первых.

Ну а во вторых поехали по пунктам:


A>файлы 1.html и 2.html

A>Browser.exe
A>

    A>
  1. Вылетает на файле 1.html с сообщением acces violation
    A>
  2. Вылетает на файле 2.html вообще без сообщений
    A>

Есть такое дело. Загрузи те же файлы в мой же HTMLayout.

Встроенный движок он тем и отличается что не для всего
и вся подходит. Другие приоритеты — компактность например.
( я не говорю что обраьотки ошибок не должно быть — должна, как руки дойдут)


A>TestBed.exe

A>

    A>
  1. Баг указанный Кодт'ом подтверждаю. Надо открыть несколько диалогов одновременно, потом закрыть, потом снова открыть несколько и т.д. артефакты не только в диалогах, но и в основном окне между кнопками.

    Бага, согласен.

    A>
  2. Если, когда мышь над кнопкой, нажать левую клавишу мыши, то кнопка прижмётся. Если потом вывести мышь за пределы кнопки, не отпуская клавиши, то она отожмётся. Если потом ввести мышь обратно, то кнопка не прижмётся, хотя должна.

    Кто сказал? А если серьезно то я не считаю что это бага.
    Это уже не click на кнопку а чего-то другое.

    A>
  3. Если водить поверху окном то перерисовка выполняется некорректно (содержимое кона при перетаскивании показывается).

    Бага. Согласен.

    A>
  4. Табуляция не циклична. Tab на последнем контрле и Shift+Tab на первом не работают.
    A>

А должна? Может лучше нужно "бибикать" в конце?.


A>МЫСЛИ:

A>Насчёт HWND-less — не нравится мне всё это. Никаких катастрофических тормозов в отрисовке с использованием HWND нет, если конечно грамотно пользоваться. Свои контролы, когда это кнопка, то конечно забавно, когда editbox — я против.

Возьми такое вот приложение: http://www.evernote.com/en/
Я бы не сказал что там какой-то супер UI по сложности.
Он выполнен на HWND — на морде лица стандартные HWND только tree view
и один edit box — все остальное — свое и делается windowless "с полпинка".
Поизменяй размеры окна и скажи стоят ли преимущества использования
этих двух окон полученного результата или нет.

A>Многие стандартные вещи и вещи расчитанные на стандартные вещи перестают работать. Как пример IME или программа для людей с ослабленным зрением Narator или Onscreen Keyboard.


IME должна работать. Onscreen Keyboard — тоже. Если не работает — то баг.
И только Narrator нужно писать свой layer.

A>Более того, несмотря на правильные системные настройки ввести русские буквы мне так и не удалось. На размера системного шрифта контролы не реагируют, да и вообще не поддерживают Accessibility.


"системного шрифта контролы не реагируют" надо проверить — я использую DEFAULT_GUI_FONT — должно работать.

Кстати: Сейчас Дмитрий Давыдов пишет поддержку системных тем — в частности — Windows XP Themes support.

По поводу accessibility вообще. Harmonia в своей основе гораздо лучше это поддерживает.
Напимер импелементация Zoom в случае HTML форм это просто устанвка другого базового размера шрифта.
HTML все остальное сделает сам.

accessibility... Если ты написал программу которая использует только системные controls (очень редкий случай) это не значит что она сразу 100% accessible. Для того чтобы *реально* поддерживать людей
с ограниченным зрением или двигательной активностью нужен отдельный подход и голова на плечах.


A>Глюки отрисовки конечно можно исправить, но не думаю что удастся повторять поведение стандартных контролов хоть на сколько нибудь приемлемом уровне.


Нет там ничего сильно волшебного в стандартных контролах. В смысле вообще ничего нет.

A>Далее если бы мне нужен был HTML, то я скорее внедрю WebBrowser control и получу всю мощь DHTML, чем буду связыватся с неизвестной библиотекой которая не известно что поддерживает, а что нет.


Ты не понял для чего нужен HTML (нечто бликое к HTML) там.
Понятие декларативный UI и пр. XAML тот же вельми показателен.
Только в Harmonia HTML engine не снаружи а внутри.

A>Кучу диалогов (выбор цвета, настрока принтера, запись файла) тоже сам руками будешь делать?


OpenFile/SaveFile/PrinterSelect ипользуются из Shell —
стандартные. Все остальное из common dialogs в том виде что есть никому не нужно
включая этот "выбор цвета" .

Сама MS их не использует.

A>Плюс ко всему, зачем мне ещё один рендерер? Harmonia это layout manager, но что насчёт реакции на события? Как мне реагировать на собития? Опять message maps?


Какие message maps? Нет их там и не нужны они там.

A>Тогда уж лучше взять MFC, для неё есть куча расширений, она уже хорошо изучена, а скорость отрисовки в 99% случаев страдать не будет.


Вопросов нет про MFC. Смотря для чего.
Сылку что я дал глянь, там вообще на WTL все —
"Ну тай хиба жь це ёму допомогло?"

A>То что ты показал в testbed.exe это замечательно, но однооконно! Где же dockable toolbars (с окошечком настройки кстати говоря), dockable child windows, MDI наконец?


MDI не будет точно. MDI это usability disaster. Все остальное будет.

A>И есть ещё куча вопросов на которые HWND-less библиотека ответит однозначным отказом!


"Когда ваша жена начинает фразу со слов: Ты всегда... или Ты никогда... — знайте за этим последует неправда". А если серьезно то Harmonia родилась не от хорошей жизни. Именно из-за того что
система HWND уже ответила однозначным отказом.
См. ссылку верху.

A>Переливы бежевого это конечно замечательно, но знакомое поведение контрола для пользователя ИМХО важнее. Особенно когда делается приложение со сложным и интенсивно используемым интерфейсом, где возможность заменить клик мыши нажатием кнопки это экономия часов рабочего времени.


Соглачен. А какие проблемы?

A>ВЫВОДЫ:

A>Я не вижу причин использовать Harmonia в серьёзных проектах. Её текущие недостатки и, что важнее, недостатки вызванные архитектурой системы не позволяют её использовать. Инородный вид и, что самое главное, поведение будут вызывать больше проблем, чем можно чебе позволить.

Ну как тебе сказать... По всей видимости у нас с тобой
разные оценки серьезности. (Что естественно и нормально).
Поверь мне — очень серьезные вещи делаются сейчас на Harmonia прототипе.
Re[4]: Добавил Animation
От: GarryIV  
Дата: 07.07.05 00:09
Оценка: +1
Hello, c-smile!

A>>
  • Табуляция не циклична. Tab на последнем контрле и Shift+Tab на
    A>> первом не работают. [/list]

    c> А должна? Может лучше нужно "бибикать" в конце?.


    Должна. Хотя бы потому что к этому все привыкли.
    Posted via RSDN NNTP Server 1.9
  • WBR, Igor Evgrafov
    Re[4]: Добавил Animation
    От: adontz Грузия http://adontz.wordpress.com/
    Дата: 07.07.05 00:39
    Оценка:
    Здравствуйте, c-smile, Вы писали:

    CS>Кто сказал? А если серьезно то я не считаю что это бага.

    CS>Это уже не click на кнопку а чего-то другое.

    Это то что делает кнопка в Windows и работая под Windows я ожидаю такого же поведения от всех кнопок.

    A>>
  • Табуляция не циклична. Tab на последнем контрле и Shift+Tab на первом не работают.
    A>>[/list]
    CS>А должна? Может лучше нужно "бибикать" в конце?.

    нет, лучше если она будет циклична

    CS>Возьми такое вот приложение: http://www.evernote.com/en/

    CS>Я бы не сказал что там какой-то супер UI по сложности.
    CS>Он выполнен на HWND — на морде лица стандартные HWND только tree view и один edit box — все остальное — свое и делается windowless "с полпинка".
    CS>Поизменяй размеры окна и скажи стоят ли преимущества использования этих двух окон полученного результата или нет.

    ИМХО обе части смотряться плохо и вот почему. Custom Draw TreeView не кеширует (просто не может этого делать) многие вещи и рисует всё заново, а основная программа тоже ничего не кеширует (потому как не догадались), оттого всё и мигает. HWND-less часть просто напросто рисуется раз в секунду, с большим запаздыванием из-за чего у меня возникает чувство что она вообще медленнее рисуется.
    Выводы: Custom Draw для TreeView плохо реализован, HWND-less тормозит сам по себе.

    A>>Многие стандартные вещи и вещи расчитанные на стандартные вещи перестают работать. Как пример IME или программа для людей с ослабленным зрением Narator или Onscreen Keyboard.


    CS>IME должна работать. Onscreen Keyboard — тоже. Если не работает — то баг.

    CS>И только Narrator нужно писать свой layer.

    У меня Onscreen Keyboard по чёрному глючит, клавиши глотаются.

    CS>"системного шрифта контролы не реагируют" надо проверить — я использую DEFAULT_GUI_FONT — должно работать.


    Тут пример: http://www.rsdn.ru/File/2053/1259843-fontsize.gif

    CS>Кстати: Сейчас Дмитрий Давыдов пишет поддержку системных тем — в частности — Windows XP Themes support.


    Это хорошо — одобрям

    CS>По поводу accessibility вообще. Harmonia в своей основе гораздо лучше это поддерживает.

    CS>Напимер импелементация Zoom в случае HTML форм это просто устанвка другого базового размера шрифта.

    Без поддержки Наратора это всё капля в море.

    CS>accessibility... Если ты написал программу которая использует только системные controls (очень редкий случай) это не значит что она сразу 100% accessible. Для того чтобы *реально* поддерживать людей с ограниченным зрением или двигательной активностью нужен отдельный подход и голова на плечах.


    Не спорю кое-что бывает надо и самому сделать, но 99% уже сделали за тебя.

    CS>Нет там ничего сильно волшебного в стандартных контролах. В смысле вообще ничего нет.


    Та же табуляция например. Кстати активные контрол очень трудно визуально найти. Пунктирная рамка на кнопках куда как лучше.

    CS>Ты не понял для чего нужен HTML (нечто бликое к HTML) там. Понятие декларативный UI и пр. XAML тот же вельми показателен. Только в Harmonia HTML engine не снаружи а внутри.


    HTML насколько я понял нужен для разметки (причём такой умной, чтобы задавать не координаты, а взаимное расположение).

    CS>OpenFile/SaveFile/PrinterSelect ипользуются из Shell — стандартные. Все остальное из common dialogs в том виде что есть никому не нужно включая этот "выбор цвета"


    Кроме Open/Save/Printer Select так же часто используются: ChooseFont, FindText, ReplaceText, PageSetupDlg

    CS>Сама MS их не использует.


    А Paint/WordPad?

    A>>Плюс ко всему, зачем мне ещё один рендерер? Harmonia это layout manager, но что насчёт реакции на события? Как мне реагировать на собития? Опять message maps?


    CS>Какие message maps? Нет их там и не нужны они там.


    Message maps это mapping of message to handler в любом виде.

    A>>То что ты показал в testbed.exe это замечательно, но однооконно! Где же dockable toolbars (с окошечком настройки кстати говоря), dockable child windows, MDI наконец?


    CS>MDI не будет точно. MDI это usability disaster. Все остальное будет.


    MDI это распространённая оконная модель от которой в некоторых случаях трудно отказаться. Не надо это рассмотривать именно как Multiple Document Interface. Нередко MDI используется как Multiple View.

    CS>А если серьезно то Harmonia родилась не от хорошей жизни. Именно из-за того что система HWND уже ответила однозначным отказом.

    CS>См. ссылку верху.

    То есть гармонию начали писать когда не смогли сделать нормальный custom draw для treeview? Да даже если бы это было невозможно, сколько раз в процессе использования программы её окно меняет размеры? Короче странная причина, что называется не верю! Давай другие

    CS>Соглачен. А какие проблемы?


    Проблемы с кнопками. Вон у вас переход по таб не циклический
  • A journey of a thousand miles must begin with a single step © Lau Tsu
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.