Как узнать наличие заголовка у редактора?
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Как узнать наличие заголовка у редактора?
Показ строки заголовока в редакторе и вьюере можно переключать с помощью CtrlShiftB. Вопрос: как в плагине узнать текущее состояние (показан или нет)?
Зачем надо? Например, чтобы оконные координаты мыши при клике транслировать в координаты (позицию) редактора. Оказалось, моя текущая реализация не учитывает возможность скрытого заголовка, и этом случае полученная строка отличается на единицу от правильной. Если есть такой надежный способ, то вопрос выше не так и важен. Но вопрос тогда об этом способе.
Зачем надо? Например, чтобы оконные координаты мыши при клике транслировать в координаты (позицию) редактора. Оказалось, моя текущая реализация не учитывает возможность скрытого заголовка, и этом случае полученная строка отличается на единицу от правильной. Если есть такой надежный способ, то вопрос выше не так и важен. Но вопрос тогда об этом способе.
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Как узнать наличие заголовка у редактора?
Окно редактора может вообще быть в нестандартном месте, АПИ позволяет открыть таким образом. В этом случае задача трансляции консольных координат в позицию в редакторе еще более усложняется. Это не типичный случай, конечно, но возможный.
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Как узнать наличие заголовка у редактора?
Никак? Или знатокам пока на глаза не попалось?
Подожду еще немного и помещу тогда пожелание на мантис. Сценарий вполне практичный, а решения, получается, нет.
Подожду еще немного и помещу тогда пожелание на мантис. Сценарий вполне практичный, а решения, получается, нет.
Как узнать наличие заголовка у редактора?
Я ни в коем случае не знаток, но в макросе узнаю вот так.
Code: Select all
Macro{
key='CtrlF1';area='Editor';
action=function()
local before= editor.GetInfo().WindowSizeY; Keys('CtrlshiftB')
local after= editor.GetInfo().WindowSizeY; Keys('CtrlShiftB')
local a
if before>after then a='title hidden' else a='title shown' end
far.Show(a)
end;
}
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Как узнать наличие заголовка у редактора?
Изобретательно!
Для макроса, может, и подойдет (за неимением лучшего). Но в плагине такое делать как-то не очень...
Для макроса, может, и подойдет (за неимением лучшего). Но в плагине такое делать как-то не очень...
Как узнать наличие заголовка у редактора?
4590.
Добавлен EOPT_SHOWSCROLLBAR. Может ОТЛИЧАТЬСЯ от соответствующего флага, поскольку умный редактор не рисует скроллбар, если текст помещается на один экран, невзирая на флаг.
Аналогичные изменения для просмотрщика VCTL_GETINFO: VOPT_SHOWxxx, плюс VOPT_QUICKVIEW (чтобы можно было вычислить клиентскую область просмотрщика на основании информации из VCTL_GETINFO).
Добавлен EOPT_SHOWSCROLLBAR. Может ОТЛИЧАТЬСЯ от соответствующего флага, поскольку умный редактор не рисует скроллбар, если текст помещается на один экран, невзирая на флаг.
Аналогичные изменения для просмотрщика VCTL_GETINFO: VOPT_SHOWxxx, плюс VOPT_QUICKVIEW (чтобы можно было вычислить клиентскую область просмотрщика на основании информации из VCTL_GETINFO).