Page 49 of 49
Posted: Thu Apr 19, 2018 5:39 pm
by Instructor
Исправлено: повторный вызов меню EXPLORER.
Fixed: EXPLORER menu recall.
ContextMenu plugin v17.8
Posted: Fri Jul 05, 2019 2:47 pm
by AZJIO
Можно сделать как то так?
Code: Select all
SET(64, If(`AkelPad.GetFilePath("%f", 4) == "reg"`))
"Открыть раздел реестра" Exec('"C:\AutoIt3\AutoIt3.exe" "C:\AutoIt3\Tools\JumpRegCMD.au3" "%s"') Icon("C:\AutoIt3\AutoIt3.exe", 0)
UNSET(64)
Пишет что метод не работает. Аналог %f но для типа файла нет.
Я понимаю что если оно создаётся на старте, то понятно работать не будет.
Posted: Sun Jul 07, 2019 1:56 pm
by Instructor
AZJIO
Внутри If все математические и логические операции применимы только к целым числам.
Posted: Thu Sep 19, 2019 11:22 am
by AZJIO
будет ли тормозить работу нагромождение меню? То есть много пунктов 300 шт, а будет 1000. Я ведь могу некоторые пункты создать скриптом. Стоит ли овчинка выделки?
Posted: Sat Feb 12, 2022 4:53 pm
by nothing
Подскажите, пожалуйста, что нужно прописать, чтобы в меню определялись и отмечались галочкой выбранный шрифт, начертание и размер? И можно ли вообще без помощи скриптов?
Code: Select all
"Шрифт"
{
"Размер"
{
"8 pt" Font("", 0, 8)
"9 pt" Font("", 0, 9)
"10 pt" Font("", 0, 10)
"11 pt" Font("", 0, 11)
"12 pt" Font("", 0, 12)
"13 pt" Font("", 0, 13)
"14 pt" Font("", 0, 14)
SEPARATOR
"Увеличить Ctrl+Num +" Command(4204)
"Уменьшить Ctrl+Num -" Command(4205)
"Восстановить Ctrl+Num *" Command(4206)
}
"Изменить шрифт..." Command(4201)
SEPARATOR
"Обычный" Font("", 1, 0)
"Курсив" Font("", 3, 0)
"Жирный" Font("", 2, 0)
"Жирный курсив" Font("", 4, 0)
SEPARATOR
"Consolas" Font("Consolas", 0, 0)
"Courier Prime" Font("Courier Prime", 0, 0)
"Cascadia Code" Font("Cascadia Code", 0, 0)
"Fira Code" Font("Fira Code", 0, 0)
"IBM Plex Mono" Font("IBM Plex Mono", 0, 0)
"JetBrains Mono" Font("JetBrains Mono", 0, 0)
"Liberation Mono" Font("Liberation Mono", 0, 0)
"PT Mono" Font("PT Mono", 0, 0)
}
Posted: Tue Feb 15, 2022 1:36 pm
by VladSh
nothing wrote:Подскажите, пожалуйста, что нужно прописать, чтобы в меню определялись и отмечались галочкой выбранный шрифт, начертание и размер?
Вы сами же себе и ответили:
Code: Select all
"Шрифт"
{
"Размер"
{
"8 pt" Font("", 0, 8)
; ...
}
}
Posted: Wed Feb 16, 2022 10:38 am
by nothing
VladSh
В таком виде выбранные пункты никак не обозначаются, обратите внимание на картинку: в нынешнем виде сверху - без галочек, снизу - как хотелось бы. Предполагаю, что нужно каждую строку упаковать в SET(128) с параметрами, но какими - не понимаю, поэтому и обратился за помощью

Posted: Wed Feb 16, 2022 2:48 pm
by VladSh
nothing
Да. В ContextMenu-Rus.txt гляньте инфу по SET(128) - там скрипт передаётся для вычисления. В данном случае нужно каким-то образом определить размер шрифта, если он совпадает с тем, что в пункте меню, то передавать флаг, который отвечает за галку.
У плагина Fonts отсутствует такой метод, т.е. нужно поискать по форуму, может уже кто-то получал размер шрифта. Если скрипт небольшой, 1-2 строчки, то норм, можно делать, если больше, то возможно меню будет тупить, и я бы не делал эти галки, хоть это и удобно.
Posted: Wed Feb 16, 2022 6:30 pm
by nothing
VladSh
В ContextMenu-Rus.txt заглянул в первую очередь, но мало что понял начиная от SET(64), т.к. далёк от кода

По форуму искал, подобного не нашел. Сборки разные посмотрел, но SET(128) никто не использует. Конечно, это не супер важный вопрос, но если поможете его решить, то было бы здорово.
Posted: Thu Feb 17, 2022 9:39 am
by VladSh
nothing
Примеры SET(128) можно посмотреть в сборках в настройках тулбаров, много кто использует.
Получение параметров шрифта есть
здесь, но как я выше и говорил - тащить эту гору кода в каждый пункт меню нецелесообразно.
Можно было бы, если бы:
- плагин одной строкой мог возвращать определённый параметр шрифта;
- был бы метод, одной строкой возвращающий любой параметр из StatusUserFormat или другой подобной ручной установки;
- если бы все вычисления можно было делать единожды, перед загрузкой меню/тулбара, а в самом меню уже использовать вычисленные значения из переменных.
Ни одной из этих возможностей на данный момент нет.
Posted: Fri Feb 18, 2022 3:49 pm
by nothing
VladSh
Благодарю! Оставлю эту затею, и правда не нецелесообразно, хоть и удобно было бы.
Единственное, промелькнула мысль, что в скрипте
CaretOptionsSwitch.js при вызове из контекстного меню с параметрами
Call("Scripts::Main", 1, "CaretOptionsSwitch.js", "2 %m %i") каким-то образом меняется статус меню (отмечается галочкой), несмотря на то что строка не упакована в SET(128). Возможно, что-то подобное можно реализовать и для шрифтов.
Posted: Fri Feb 18, 2022 4:29 pm
by VladSh
nothing
Параметры %m и %i - это передача в вызываемую функцию координат позиции курсора на экране, работает только для тулбаров.
Что-то у меня не получилось заставить CaretOptionsSwitch.js отмечать пункт меню или кнопку тулбара.
Тут сложность не в том, чтобы отметить (ещё и отметку надо будет сохранять в ini скрипта, SET(128) это делает само), а в том, чтобы определить текущий шрифт.
Posted: Sun Feb 20, 2022 11:19 am
by nothing
VladSh wrote:nothing Что-то у меня не получилось заставить CaretOptionsSwitch.js отмечать пункт меню или кнопку тулбара.
Интересно, наверно "минус" в начале строки забыли

У меня все работает в таком виде:
Code: Select all
-"Отображать активную строку" Call("Scripts::Main", 1, "CaretOptionsSwitch.js", "2 %m %i")
-"Отображать активный столбец" Call("Scripts::Main", 1, "CaretOptionsSwitch.js", "1 %m %i")
-"Выход каретки за края строк" Call("Scripts::Main", 1, "CaretOptionsSwitch.js", "0 %m %i")
VladSh wrote: сложность не в том, чтобы отметить (ещё и отметку надо будет сохранять в ini скрипта, SET(128) это делает само), а в том, чтобы определить текущий шрифт.
Понял. Как ранее говорил - это не жизненно важный вопрос, думал, что оно немного проще устроено и поэтому надеялся реализовать. А нет - и ладно, не меняю же я шрифты каждую минуту
И еще раз благодарю за ответы!