おきしみみ (oxij) wrote,
おきしみみ
oxij

О зипперах и мышке

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

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

Это всё прекрасно, поскольку от интерфейса, где ввод производится только с клавиатуры, не требуется фитбека, однако тыканье мышкой в кнопку гуя обычно подразумевает наличие самой кнопки. То есть, если теперь я хочу в свой редактор зипперов добавить, например, возможность выбирать мышкой произвольный узел редактируемого дерева, то, кажется, мой зиппер перестаёт быть зиппером. Это печалит.
Tags: lambda, random
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments