Залил на сайт версию 3.3.0.0 в которой наличествует CSSS! — css-script engine.
CSSS! это в общем-то простой (я бы даже сказал спартанский) script'овый движок который тем не менее позволяет делать на удивление много вещей.
Например всякого рода простейшие автоматы: click на эту кнопку — enable ту группу inputs. Валидация. Всякого рода форматирование и локализация. Простые рачсеты типа totals. Короче смотрите примеры в html_samples/csss!/ папке.
CSSS! живет рядом с behaviors — они друг друга дополняют. Из CSSS! можно вызывать native методы (on_script_call).
(кажется я родил очередной лисапет. наверное судьба такая)
Здравствуйте, c-smile, Вы писали:
CS>CSSS! это в общем-то простой (я бы даже сказал спартанский) script'овый движок который тем не менее позволяет делать на удивление много вещей. Например всякого рода простейшие автоматы: click на эту кнопку — enable ту группу inputs. Валидация. Всякого рода форматирование и локализация. Простые рачсеты типа totals. Короче смотрите примеры в html_samples/csss!/ папке.
хм. не нашел примера на тему validation. в behavior_form.cpp ничего похожего нет...
CS>CSSS! живет рядом с behaviors — они друг друга дополняют. Из CSSS! можно вызывать native методы (on_script_call).
А можно использовать HTMLayoutAttachEventHandler для получения on_script_call?
CS>(кажется я родил очередной лисапет. наверное судьба такая)
В sciter такой будет?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, aloch, Вы писали:
A>Здравствуйте, c-smile, Вы писали:
A>Пример label-for-activation.htm вызывает падение browse.exe после примерно трех щелчков по разным label
Ага, спсибо. Поймал.
Чего-то VC optimizer невзлюбил один мой файл...
Поправил. Залил на сайт. Можно забирать.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, c-smile, Вы писали:
CS>>CSSS! это в общем-то простой (я бы даже сказал спартанский) script'овый движок который тем не менее позволяет делать на удивление много вещей. Например всякого рода простейшие автоматы: click на эту кнопку — enable ту группу inputs. Валидация. Всякого рода форматирование и локализация. Простые рачсеты типа totals. Короче смотрите примеры в html_samples/csss!/ папке.
TK>хм. не нашел примера на тему validation. в behavior_form.cpp ничего похожего нет...
Validation примеры будут в след билдах. В CSSS! надо еще regexp втащить.
CS>>CSSS! живет рядом с behaviors — они друг друга дополняют. Из CSSS! можно вызывать native методы (on_script_call).
TK>А можно использовать HTMLayoutAttachEventHandler для получения on_script_call?
Да.
CS>>(кажется я родил очередной лисапет. наверное судьба такая)
TK>В sciter такой будет?
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, c-smile, Вы писали:
TK>>>А можно использовать HTMLayoutAttachEventHandler для получения on_script_call? CS>>Да.
TK>А как его из CSS звать? У меня такое только для behaviors прокатило...
Здравствуйте, c-smile, Вы писали:
CS>Должно прийти на on_script_call() на те event handlers что сидят на view. (т.е. HTMLayoutWindowAttachEventHandler) CS>Попробуй.
хм. что-то не приходит...
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, TK, Вы писали:
TK>Здравствуйте, c-smile, Вы писали:
CS>>Должно прийти на on_script_call() на те event handlers что сидят на view. (т.е. HTMLayoutWindowAttachEventHandler) CS>>Попробуй.
TK>хм. что-то не приходит...
есть какие-нибудь новости? В Sciter уведомления INITIALIZATION_EVENTS.BEHAVIOR_DETACH после удаления элемента так и не приходят...
Еще раз, что-то держит элемент.
Я вообще не понимаю зачем для Sciter нужна обертка DOM в .NET.
В принципе в .NET должен быть обработчик host callback вызовов. Апотому обработку событий эффективнее делать в скрипте sciter.
host callback как gate UI <-> логика вообще представляется очень привлекательным. Эдакий ultimate layer splitter.
.NET имеет смысл для htmlayout. Это да. Потому как behaviors надо же на чем-то писать...
Честно говоря на C++ даже в общем-то как-то поприятнее-то будет. Но это уж дело личных предпочтений.
select#INPUT_CODE
{
assigned! :
self.value-changed(); /* call when-value-changed event handler as a function */
value-changed! :
$(code#INPUT_CODE):value = self:value;
}
В итоге в code#INPUT_CODE попадает значение из выбранного option[value], а мне нужно, что бы присвоилось не значение а содержимое (текст)
Если написать вот так: $(code#INPUT_CODE):value = $c(caption):content; то не прокатывает,
и так тоже: $(code#INPUT_CODE):value = $c(option:current):content;
Если написать вот так: $(code#INPUT_CODE):value = $c(option:current);
получаю {undefined}. Но это в принципе понятно.
Здравствуйте, c-smile, Вы писали:
CS>Попробуй так:
Заработало !!!
Но есть пара особенностей:
1. При первоначальной загрузке страницы (хотя select имеет определенный выбранный пункт) у code#INPUT_CODE значение пустое пока не перещелкнешь select.
2. При перещелкивании select с помощью курсорных клавиш, значение у code#INPUT_CODE меняется на адекватное, но при этом сам select остается неизменным (не перерисовывается).
как можно побороть пункт 1 ?
по второму щас постараюсь прислать пример.
есть какие-нибудь новости? В Sciter уведомления INITIALIZATION_EVENTS.BEHAVIOR_DETACH после удаления элемента так и не приходят...
CS>Еще раз, что-то держит элемент.
А в HTMLayout не держит? Реализация для Htmlayout/Sciter отличается только тем, что в одном случае дергаются функции Htmlayout а в другом, SciterGetDomApi() и вызовы SciterDomApi — в HTMLayout при удалении все детачится, в Sciter нет. Я правильно понимаю, что HELEMENT это просто поинтер на какой-то C++ объект? Если смотреть на него отладчиком то, счетчик ссылок в ноль уходит.
Например, почему element.Parent.InnerHtml = "" приводит к вызову BEHAVIOR_DETACH для element, а если заменить на element.DetachElement() нет?
CS>Я вообще не понимаю зачем для Sciter нужна обертка DOM в .NET.
Есть обертка, она может работать или с Htmlayout или со Sciter. какой смысл отрезать для варианта со Sciter DOM, раз он уже там есть?
CS>В принципе в .NET должен быть обработчик host callback вызовов. Апотому обработку событий эффективнее делать в скрипте sciter. host callback как gate UI <-> логика вообще представляется очень привлекательным. Эдакий ultimate layer splitter.
Не спорю С другой стороны, есть некоторые заморочки с CompactFramework — там проще использовать htmlayout.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.