Как узнать наличие заголовка у редактора?

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Как узнать наличие заголовка у редактора?

Post by NightRoman »

Показ строки заголовока в редакторе и вьюере можно переключать с помощью CtrlShiftB. Вопрос: как в плагине узнать текущее состояние (показан или нет)?

Зачем надо? Например, чтобы оконные координаты мыши при клике транслировать в координаты (позицию) редактора. Оказалось, моя текущая реализация не учитывает возможность скрытого заголовка, и этом случае полученная строка отличается на единицу от правильной. Если есть такой надежный способ, то вопрос выше не так и важен. Но вопрос тогда об этом способе.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Как узнать наличие заголовка у редактора?

Post by NightRoman »

Окно редактора может вообще быть в нестандартном месте, АПИ позволяет открыть таким образом. В этом случае задача трансляции консольных координат в позицию в редакторе еще более усложняется. Это не типичный случай, конечно, но возможный.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Как узнать наличие заголовка у редактора?

Post by NightRoman »

Никак? Или знатокам пока на глаза не попалось?

Подожду еще немного и помещу тогда пожелание на мантис. Сценарий вполне практичный, а решения, получается, нет.
iva
Posts: 128
Joined: Sat 02 Nov, 2013 21:32
Been thanked: 3 times

Как узнать наличие заголовка у редактора?

Post by iva »

Я ни в коем случае не знаток, но в макросе узнаю вот так.

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;
}
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Как узнать наличие заголовка у редактора?

Post by NightRoman »

Изобретательно!

Для макроса, может, и подойдет (за неимением лучшего). Но в плагине такое делать как-то не очень...
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Как узнать наличие заголовка у редактора?

Post by Shmuel »

В 4587 уже можно.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Как узнать наличие заголовка у редактора?

Post by 2useven10 »

Shmuel wrote:В 4587 уже можно.
Тогда уж надо было и scroll bar добавить, а заодно и для просмотрщика аналогичные изменения.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Как узнать наличие заголовка у редактора?

Post by Shmuel »

Так вроде никто не препятствует.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Как узнать наличие заголовка у редактора?

Post by 2useven10 »

4590.
Добавлен EOPT_SHOWSCROLLBAR. Может ОТЛИЧАТЬСЯ от соответствующего флага, поскольку умный редактор не рисует скроллбар, если текст помещается на один экран, невзирая на флаг.
Аналогичные изменения для просмотрщика VCTL_GETINFO: VOPT_SHOWxxx, плюс VOPT_QUICKVIEW (чтобы можно было вычислить клиентскую область просмотрщика на основании информации из VCTL_GETINFO).
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Как узнать наличие заголовка у редактора?

Post by Shmuel »

2useven10 wrote: 4590
В энциклопедию надо добавить новые флаги.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Как узнать наличие заголовка у редактора?

Post by 2useven10 »

Shmuel wrote: Так вроде никто не препятствует.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Как узнать наличие заголовка у редактора?

Post by Shmuel »

2useven10, здесь аналогии нет. Кто вносит изменения, тот и обновляет документацию.
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

Как узнать наличие заголовка у редактора?

Post by 2useven10 »

Shmuel wrote: В энциклопедию надо добавить новые флаги.
добавил.
Shmuel wrote: здесь аналогии нет.
Может и нет, но соблазн был велик.
Post Reply

Return to “Разработка плагинов”