Понадобилось написать макрос включения и выключения в FarColorer cross-выделения в редакторе. Ну, просто, чтобы не делать это каждый раз вручную. Проблема в том, что в диалоге Main settings этого плагина настройка cross-выделения задается 3-state-чекбоксом с дефолным значением [?]. Т.е. нельзя его просто включить/выключить, его надо перебирать.
Я пока написал так:
Но понятно, что вызывать их надо в правильном порядке: сначала один из первых тех, потом четвертый. Переключиться без явного возврата в исходное состояние с, скажем, vertical на both не получится.
Вопросы. Если способ узнать состояние чекбокса в произвольно открытом диалоге? Можно ли изменить его состояние, не эмулиря последовательное нажатие клавиш? И можно ли вообще такое в целом на lua реализовать?
Узнать состояние 3-state-чекбокса в диалоговом окне
-
- Posts: 6839
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Узнать состояние 3-state-чекбокса в диалоговом окне
Dlg.GetValue
Можно через DialogEvent (описано в мануалах), но не для начинающих.
Можно (хотя Lua как язык здесь ни при чём).
- buniak_a_h
- Posts: 4267
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
Узнать состояние 3-state-чекбокса в диалоговом окне
Вообще-то, такое предусмотрено (посмотрите хелп к фарколореру, раздел «Макрофункции», статья «Работа с параметрами текущего редактора», пункт
"CrossVisible" - Видимость и тип креста в редакторе:
. Но если лениво, то в архиве turbo есть скрипт Alt-C-colorer.lua - управление функциями колорера (в т.ч. и вкл/выкл/перекл креста). Единственно что, в том посте, что по ссылке, он старый и нерабочий (из-за изменения интерфейса). Надо пролистать тему, там есть исправленные варианты скрипта (в т.ч. и мой). Ну и макросы рассчитаны на "двухклавишные хоткеи), а для этого надо ставить ещё один макрос (macroex). Но никто не запретит Вам переназначить кнопки как Вам будет удобно (если у Вас ещё остались свободные клавиши).Узнать состояние 3-state-чекбокса в диалоговом окне
О, спасибо! Не думал, что в хелпе будет инфа про API плагина. Плюс в папке с плагином нашел родной lua-скрипт и на его основе всё получилось:buniak_a_h wrote: ↑Sat 22 Oct, 2022 00:33 Вообще-то, такое предусмотрено (посмотрите хелп к фарколореру, раздел «Макрофункции», статья «Работа с параметрами текущего редактора», пункт "CrossVisible" - Видимость и тип креста в редакторе:.
Спасибо, други!