Динамическое/заданное изменение размеров/ сдвиг любых диалогов, меню, списков в зависимости от размера консоли

Здесь обсуждается всё, что касается макросов.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Динамическое/заданное изменение размеров/ сдвиг любых диалогов, меню, списков в зависимости от размера консоли

Post by citRiks »

ВВИДУ ОТСУТСТВИЯ ОБЩЕСТВЕННОГО ИНТЕРЕСА (нет лайков)
ОБНОВЛЯТСЯ В ДАЛьНЕЙШЕМ НЕ БУДЕТ
(текущая/экспериментальная/обновленная версия находится у меня,
но дальнейшей синхронизации скорее всего не будет
если все-же. кому чего нужно, то пишите сюда,
скорее всего отвечу, и скорее всего быстро)

Предыстория вопроса
Современный мир характеризуется большим количеством больших экранов.
А также длинными именами файлов, и прочими "многа букав"
В то же время, размер диалоговых окон в ФАРе, не менялся десятилетиями,
обладая слишком малой величиной, чтобы полностью соответствать современным вызовам.
Более того, не было никакой возможности расширить окошки до приемлимых размеров даже вручную.
Но эти эти горести остались в далеком темном прошлом (смахивает слезу)
поскольку сейчас у нас есть Автоматический Раздвигатель Окон!

https://github.com/dr-dba/far-lua-dialogs-control


Этот "мануал/ридми" старый и не отражает всего функционала.
вопросы, пожелания - писать, опять же, см. начало текста
Last edited by citRiks on Fri 27 Aug, 2021 11:25, edited 50 times in total.
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by Xerox »

Latest post of the previous page:

citRiks wrote: Sun 22 Dec, 2019 09:52 Возможно это от того, что оно не детектится ни как диалоговое, ни как менюшное?
да, оно не вызывает срабатывания в эвенте
а если нет евента, значит у нас нет dialog handle
в макросе получается срабатывание (т.е/ видно что мы на этом окошке поиска)
Ho его не видно тоже как диалог, т.е. без handle тоже там.
если нет handle, то ничего на уровне элементов диалога не сделать..
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by Xerox »

buniak_a_h,
да, там есть такая неясность, но это просто глюк ФАРа такой:
что если мы на живом открытом диалоге уменьшаем размер элемента,
то этим самым обрезается и значение.
Все же изменение размеров элементов для ФАРа это ненатуральная операция,
поэтому не предусмотрен такой сценарий
да и нам это не является необходимостью,
будем сужать элементы пока влазит значение и не дальше
Last edited by Xerox on Sun 22 Dec, 2019 17:33, edited 1 time in total.
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by Xerox »

citRiks wrote: Sun 22 Dec, 2019 08:10 Поле ввода буквы или цифры в качестве горячей клавиши в диалоге "Назначение горячей клавиши" команды "Параметры плагинов" при увеличении размеров данного диалога сабжевым скриптом текущей версии (dialog-ReXiZeR.lua.20191219-2330.7z) удваивается по размеру. И возвращается в норму при возвращении к нативному размеру диалога.
Эммм... и что с этим не так? )
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by Xerox »

citRiks wrote: Sun 22 Dec, 2019 14:50 Необходимость реализации данного Вашего вывода ярко подтверждается следующим примером с окном диалога "Информация о плагине" (вызывается через F11 > плагин > F3). Гуид диалога: A39D546A-9A8F-441D-9627-920DED96BDF6. Стоит только чуть-чуть уменьшить размер данного диалогового окна и пропадает вся информация в нём до перезагрузки макросов. .
У меня вроде ничего не пропадает (это ГИФ-анимация):
F3_plugin_info.gif
Last edited by Xerox on Sun 22 Dec, 2019 18:14, edited 3 times in total.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by zg »

Xerox wrote: Sun 22 Dec, 2019 17:32да, там есть такая неясность, но это просто глюк ФАРа такой:
что если мы на живом открытом диалоге уменьшаем размер элемента,
то этим самым обрезается и значение.
это не так. то что вы воспринимаете как глюк, на самом деле фича элемента с типом DI_FIXEDIT. в нём нет горизонтального прокручивания и максимальная длина текста всегда устанавливается в ширину поля. вы ширину уменьшили, максимальная длина уменьшилась, текст обрезался.
Xerox wrote: Sun 22 Dec, 2019 17:32Все же изменение размеров элементов для ФАРа это ненатуральная операция
это не так, просто надо понимать, что вы делаете.
User avatar
buniak_a_h
Posts: 4262
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 644 times
Contact:

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by buniak_a_h »

Xerox wrote: Sat 21 Dec, 2019 18:24 на данный момент так, в заголовок чего-то уже не добавляется (лимит количества attachments?), кладу здесь
<…>
Вложения "Не брать" "Не брать" и т.д. …
А почему бы Вам не почистить лишнее? И место освободите, и ограничение преодолеете, м в заблуждение вводить не будете …
Хотел скачать - посмотреть последний вариант, но не понял, откуда . Разбираться лень.
И, кстати, у меня "ручной" вариант ресайзинга (без автоматического выбора размера) занял 121 строчку. Я неправильно задачу понял? Увы, скачать скрипт не удалось из-за тормозов …
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

Xerox wrote: Sun 22 Dec, 2019 18:12 У меня вроде ничего не пропадает
Оппа-на! Виноват! Настолько привык благодаря макросу по F11 вместо нативного меню Фара "Команды плагинов" вызывать существенно более информативное и удобное меню плагина "Команды плагинов (PlugMenu)", что нечаянно выдал эту свою устоявшуюся иллюзию за реальность. Прошу прощения!

В действительности же, в отсутствие указанного макроса вызова, окно диалога "Информация о плагине" плагинного меню "Команды плагинов" вызывается через F11 > "Команды плагинов" > F3 (на любой строке меню). И приведённые мною картинки были сделаны оттуда. .
это ГИФ-анимация
Спасибо, что показали эту возможность. Так намного информативнее.
Last edited by Guest on Mon 23 Dec, 2019 13:55, edited 2 times in total.
Reason: Спрятан офтопик
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by John Doe »

zg wrote: Sun 22 Dec, 2019 18:41 на самом деле фича элемента с типом DI_FIXEDIT. в нём нет горизонтального прокручивания и максимальная длина текста всегда устанавливается в ширину поля. вы ширину уменьшили, максимальная длина уменьшилась, текст обрезался.
Не правильнее ли будет запретить такие изменения размеров, при которых значение теряется?
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by zg »

John Doe wrote: Mon 23 Dec, 2019 09:18Не правильнее ли будет запретить такие изменения размеров, при которых значение теряется?
может это задумано, а следующей командой текст на новый переписывается. не очень понимаю смысл предложения.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by citRiks »

Xerox wrote: Sun 22 Dec, 2019 18:10 citRiks писал(а): ↑
Вс 22 дек, 2019 10:10
Поле ввода буквы или цифры в качестве горячей клавиши в диалоге "Назначение горячей клавиши" команды "Параметры плагинов" при увеличении размеров данного диалога сабжевым скриптом текущей версии (dialog-ReXiZeR.lua.20191219-2330.7z) удваивается по размеру. И возвращается в норму при возвращении к нативному размеру диалога.

Эммм... и что с этим не так? )
Это поле данного диалога предназначено для ввода только одного знака (буквы или цифры). И удвоение его ширины в данном случае неадекватно назначению этого поля.
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by Xerox »

zg wrote: Mon 23 Dec, 2019 09:25
John Doe wrote: Mon 23 Dec, 2019 09:18Не правильнее ли будет запретить такие изменения размеров, при которых значение теряется?
может это задумано, а следующей командой текст на новый переписывается. не очень понимаю смысл предложения.
Не, думаю что товарисч Джон имел ввиду что мне скриптом нехорошо уменьшать РАЗМЕР ФихедЕдита до меньшего когда его ЗНАЧЕНИЕ уже не влазит, и соответсвенно обрезается.
(с эим я согласен и где-то выше сам так уже и сообщал что в дальнейшем исправлю запретом на такие чрезмерные размероуменьшения)
Хотя с другой стороны, это нелогично (хоть и не критично) что геометрические размеры ФихедЕдита должны быть теми же что и размер значения ФикседЕдита.
А ты тоже правильно отметил что в целом это всего лишь функциональность, с которой каждый пусть делает что хочет
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by Xerox »

citRiks wrote: Mon 23 Dec, 2019 09:37 Это поле данного диалога предназначено для ввода только одного знака (буквы или цифры). И удвоение его ширины в данном случае неадекватно назначению этого поля.
Фик знает
может пусть его, а то слишком много условий получается,
запутывает логику скрипта и посему:
* снижает его образовательную ценность
* менее генерено
* хрупкость перед future downstream changes
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by Xerox »

John Doe wrote: Mon 23 Dec, 2019 09:18 Не правильнее ли будет запретить такие изменения размеров, при которых значение теряется?
ну да, я так и писал выше
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by John Doe »

zg wrote: Mon 23 Dec, 2019 09:25 может это задумано, а следующей командой текст на новый переписывается. не очень понимаю смысл предложения.
Смысл в том чтобы уберечь от случайных ошибок.
А после уменьшения ширины значение попросту невалидно, уж лучше его сбросить в ноль, чем куда-то обрезать.

Если же действительно так задумано, то замысел можно выразить в коде явным образом.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by John Doe »

Xerox wrote: Mon 23 Dec, 2019 09:57 Хотя с другой стороны, это нелогично (хоть и не критично) что геометрические размеры ФихедЕдита должны быть теми же что и размер значения ФикседЕдита.
Напротив, это вполне логично и наглядно.
И смысла в изменении его размеров вашим скриптом нет никакого.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг

Post by zg »

Xerox wrote: Mon 23 Dec, 2019 09:57Хотя с другой стороны, это нелогично (хоть и не критично) что геометрические размеры ФихедЕдита должны быть теми же что и размер значения ФикседЕдита.
какой смысл вы вкладываете в слово «нелогично»? вот описание: Элемент диалога DI_FIXEDIT описывает поле ввода фиксированного размера. То же, что и DI_EDIT, но без возможности прокрутки текста. всё в соответствии с ним.
John Doe wrote: Mon 23 Dec, 2019 10:44Смысл в том чтобы уберечь от случайных ошибок.
давайте тогда циклы запретим, ffi, тоже ж можно ошибок наделать, не?
Post Reply

Return to “Обсуждение макросов”