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

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

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

Post by NightRoman » Sat 19 Mar, 2016 17:02

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

Зачем надо? Например, чтобы оконные координаты мыши при клике транслировать в координаты (позицию) редактора. Оказалось, моя текущая реализация не учитывает возможность скрытого заголовка, и этом случае полученная строка отличается на единицу от правильной. Если есть такой надежный способ, то вопрос выше не так и важен. Но вопрос тогда об этом способе.

User avatar
NightRoman
Posts: 5849
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 8 times
Been thanked: 8 times
Contact:

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

Post by NightRoman » Sat 19 Mar, 2016 17:09

Окно редактора может вообще быть в нестандартном месте, АПИ позволяет открыть таким образом. В этом случае задача трансляции консольных координат в позицию в редакторе еще более усложняется. Это не типичный случай, конечно, но возможный.

User avatar
NightRoman
Posts: 5849
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 8 times
Been thanked: 8 times
Contact:

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

Post by NightRoman » Sun 20 Mar, 2016 17:08

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

Подожду еще немного и помещу тогда пожелание на мантис. Сценарий вполне практичный, а решения, получается, нет.

iva
Posts: 123
Joined: Sat 02 Nov, 2013 21:32
Been thanked: 3 times

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

Post by iva » Sun 20 Mar, 2016 22:50

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

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: 5849
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 8 times
Been thanked: 8 times
Contact:

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

Post by NightRoman » Sun 20 Mar, 2016 23:19

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

Для макроса, может, и подойдет (за неимением лучшего). Но в плагине такое делать как-то не очень...

Shmuel
Posts: 5166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

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

Post by Shmuel » Mon 21 Mar, 2016 15:43

В 4587 уже можно.

2useven10
Posts: 2984
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 80 times

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

Post by 2useven10 » Mon 21 Mar, 2016 15:49

Shmuel wrote:В 4587 уже можно.
Тогда уж надо было и scroll bar добавить, а заодно и для просмотрщика аналогичные изменения.

Shmuel
Posts: 5166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

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

Post by Shmuel » Mon 21 Mar, 2016 15:53

Так вроде никто не препятствует.

2useven10
Posts: 2984
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 80 times

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

Post by 2useven10 » Tue 22 Mar, 2016 12:13

4590.
Добавлен EOPT_SHOWSCROLLBAR. Может ОТЛИЧАТЬСЯ от соответствующего флага, поскольку умный редактор не рисует скроллбар, если текст помещается на один экран, невзирая на флаг.
Аналогичные изменения для просмотрщика VCTL_GETINFO: VOPT_SHOWxxx, плюс VOPT_QUICKVIEW (чтобы можно было вычислить клиентскую область просмотрщика на основании информации из VCTL_GETINFO).

Shmuel
Posts: 5166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

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

Post by Shmuel » Tue 22 Mar, 2016 12:19

2useven10 wrote: 4590
В энциклопедию надо добавить новые флаги.

2useven10
Posts: 2984
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 80 times

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

Post by 2useven10 » Tue 22 Mar, 2016 12:25

Shmuel wrote: Так вроде никто не препятствует.

Shmuel
Posts: 5166
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

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

Post by Shmuel » Tue 22 Mar, 2016 12:27

2useven10, здесь аналогии нет. Кто вносит изменения, тот и обновляет документацию.

2useven10
Posts: 2984
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 2 times
Been thanked: 80 times

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

Post by 2useven10 » Tue 22 Mar, 2016 12:35

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

Post Reply

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