?

Log in

No account? Create an account

[icon] /^.in$/
View:Recent Entries.
View:Archive.
View:Friends.
View:Profile.
View:Website (/me (домен, хотящийся в углу комнаты)).
Missed some entries? Then simply jump to the previous day or the next day.

Tags:,
Security:
Subject:О зипперах и мышке
Time:01:09 am
Последние несколько дней сходил (и до сих пор схожу) с ума на почве проекций потоковых функций, а позавчера вечером на ночь читал статью о том, какие противные тачскрин-интерфейсы на современных девайсах.
Видимо от диалектического синтеза этих двух фактов вчера утром мне в голову стрельнула шальная мысль о том, что интерфейсы с возможностью ткнуть куда попало (курсором мышки, например, я могу ткнуть куда попало, а курсором в тексте — нет), или не представимы чисто функционально, или я не знаю как.

Вот, скажем, как можно построить «текстовый редактор» для произвольных зипперов (zipper)?
Например так: определим «шагающие» и «редактирующие» операции для интересующего нас зиппера, сделаем маппинг из потока нажатых на клавиатуре клавиш в поток этих операций. Тогда редактор будет просто пожирать этот поток операций и выплёвывать поток состояний интерфейса — отрендеренных состояний зиппера.

Это всё прекрасно, поскольку от интерфейса, где ввод производится только с клавиатуры, не требуется фитбека, однако тыканье мышкой в кнопку гуя обычно подразумевает наличие самой кнопки. То есть, если теперь я хочу в свой редактор зипперов добавить, например, возможность выбирать мышкой произвольный узел редактируемого дерева, то, кажется, мой зиппер перестаёт быть зиппером. Это печалит.
withComments $ delay new Flag

[icon] /^.in$/
View:Recent Entries.
View:Archive.
View:Friends.
View:Profile.
View:Website (/me (домен, хотящийся в углу комнаты)).
Missed some entries? Then simply jump to the previous day or the next day.