Russian Qt Forum

Qt => Общие вопросы => Тема начата: ElderOrb от Сентябрь 05, 2006, 12:30



Название: Qt + state machines (конечные автоматы) ?
Отправлено: ElderOrb от Сентябрь 05, 2006, 12:30
Кто-нибудь использовал такую связку? Какие для этого существуют инструменты? Не планируют ли Trolltech-и ввести в Qt поддержку subj-а?.

Дело просто в том что мне надоело писать огромный уродливый код в eventFilter-ах когда нужно например обработать несколько клавиш, проверить на вхождение мыши в пару регионов и т.п. Получается ужасно некрасиво и трудночитаемо, тогда как state machines позволили бы процесс не только автоматизировать но и сделать удобночитаемым.


Название: Qt + state machines (конечные автоматы) ?
Отправлено: KADABRA от Сентябрь 06, 2006, 19:48
А что мешает написать свою простую реализацию как раз для этих целей?


Название: Qt + state machines (конечные автоматы) ?
Отправлено: ElderOrb от Сентябрь 07, 2006, 10:17
Цитата: "KADABRA"
А что мешает написать свою простую реализацию как раз для этих целей?


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


Название: Qt + state machines (конечные автоматы) ?
Отправлено: SLK от Сентябрь 07, 2006, 13:52
может QInputContext подойдёт?


Название: Qt + state machines (конечные автоматы) ?
Отправлено: ElderOrb от Сентябрь 07, 2006, 14:29
Ого, странно что я просмотрел такой интересный класс. Судя по описанию он способен как-то упростить то что мне нужно. А вот как именно - буду разбираться ж) Спасибо!

ps. Похоже что www.intelliwizard.com делает как раз то что мне нужно. Правда вот незадача - у меня не работает ж)


Название: Qt + state machines (конечные автоматы) ?
Отправлено: LestorN от Сентябрь 08, 2006, 07:11
http://fsme.sourceforge.net/
помоему как раз то что нужно


Название: Qt + state machines (конечные автоматы) ?
Отправлено: ElderOrb от Сентябрь 08, 2006, 09:50
Дело в том что у меня не осталось Qt 3 чтобы собрать этот fsme. А так это действитель то что нужно. Лучше и не придумаешь..