Page 8 of 11

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

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

https://github.com/dr-dba/LUA-FAR-STUFF ... .XeR0X.Lua


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

Posted: Sun 22 Dec, 2019 17:27
by Xerox

Latest post of the previous page:

citRiks wrote:
Sun 22 Dec, 2019 09:52
Возможно это от того, что оно не детектится ни как диалоговое, ни как менюшное?
да, оно не вызывает срабатывания в эвенте
а если нет евента, значит у нас нет dialog handle
в макросе получается срабатывание (т.е/ видно что мы на этом окошке поиска)
Ho его не видно тоже как диалог, т.е. без handle тоже там.
если нет handle, то ничего на уровне элементов диалога не сделать..

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

Posted: Sun 22 Dec, 2019 17:32
by Xerox
buniak_a_h,
да, там есть такая неясность, но это просто глюк ФАРа такой:
что если мы на живом открытом диалоге уменьшаем размер элемента,
то этим самым обрезается и значение.
Все же изменение размеров элементов для ФАРа это ненатуральная операция,
поэтому не предусмотрен такой сценарий
да и нам это не является необходимостью,
будем сужать элементы пока влазит значение и не дальше

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

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

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

Posted: Sun 22 Dec, 2019 18:12
by Xerox
citRiks wrote:
Sun 22 Dec, 2019 14:50
Необходимость реализации данного Вашего вывода ярко подтверждается следующим примером с окном диалога "Информация о плагине" (вызывается через F11 > плагин > F3). Гуид диалога: A39D546A-9A8F-441D-9627-920DED96BDF6. Стоит только чуть-чуть уменьшить размер данного диалогового окна и пропадает вся информация в нём до перезагрузки макросов. .
У меня вроде ничего не пропадает (это ГИФ-анимация):
F3_plugin_info.gif

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

Posted: Sun 22 Dec, 2019 18:41
by zg
Xerox wrote:
Sun 22 Dec, 2019 17:32
да, там есть такая неясность, но это просто глюк ФАРа такой:
что если мы на живом открытом диалоге уменьшаем размер элемента,
то этим самым обрезается и значение.
это не так. то что вы воспринимаете как глюк, на самом деле фича элемента с типом DI_FIXEDIT. в нём нет горизонтального прокручивания и максимальная длина текста всегда устанавливается в ширину поля. вы ширину уменьшили, максимальная длина уменьшилась, текст обрезался.
Xerox wrote:
Sun 22 Dec, 2019 17:32
Все же изменение размеров элементов для ФАРа это ненатуральная операция
это не так, просто надо понимать, что вы делаете.

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

Posted: Sun 22 Dec, 2019 20:09
by buniak_a_h
Xerox wrote:
Sat 21 Dec, 2019 18:24
на данный момент так, в заголовок чего-то уже не добавляется (лимит количества attachments?), кладу здесь
<…>
Вложения "Не брать" "Не брать" и т.д. …
А почему бы Вам не почистить лишнее? И место освободите, и ограничение преодолеете, м в заблуждение вводить не будете …
Хотел скачать - посмотреть последний вариант, но не понял, откуда . Разбираться лень.
И, кстати, у меня "ручной" вариант ресайзинга (без автоматического выбора размера) занял 121 строчку. Я неправильно задачу понял? Увы, скачать скрипт не удалось из-за тормозов …

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

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

В действительности же, в отсутствие указанного макроса вызова, окно диалога "Информация о плагине" плагинного меню "Команды плагинов" вызывается через F11 > "Команды плагинов" > F3 (на любой строке меню). И приведённые мною картинки были сделаны оттуда. .
это ГИФ-анимация
Спасибо, что показали эту возможность. Так намного информативнее.

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

Posted: Mon 23 Dec, 2019 09:18
by John Doe
zg wrote:
Sun 22 Dec, 2019 18:41
на самом деле фича элемента с типом DI_FIXEDIT. в нём нет горизонтального прокручивания и максимальная длина текста всегда устанавливается в ширину поля. вы ширину уменьшили, максимальная длина уменьшилась, текст обрезался.
Не правильнее ли будет запретить такие изменения размеров, при которых значение теряется?

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

Posted: Mon 23 Dec, 2019 09:25
by zg
John Doe wrote:
Mon 23 Dec, 2019 09:18
Не правильнее ли будет запретить такие изменения размеров, при которых значение теряется?
может это задумано, а следующей командой текст на новый переписывается. не очень понимаю смысл предложения.

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

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

Эммм... и что с этим не так? )
Это поле данного диалога предназначено для ввода только одного знака (буквы или цифры). И удвоение его ширины в данном случае неадекватно назначению этого поля.

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

Posted: Mon 23 Dec, 2019 09:57
by Xerox
zg wrote:
Mon 23 Dec, 2019 09:25
John Doe wrote:
Mon 23 Dec, 2019 09:18
Не правильнее ли будет запретить такие изменения размеров, при которых значение теряется?
может это задумано, а следующей командой текст на новый переписывается. не очень понимаю смысл предложения.
Не, думаю что товарисч Джон имел ввиду что мне скриптом нехорошо уменьшать РАЗМЕР ФихедЕдита до меньшего когда его ЗНАЧЕНИЕ уже не влазит, и соответсвенно обрезается.
(с эим я согласен и где-то выше сам так уже и сообщал что в дальнейшем исправлю запретом на такие чрезмерные размероуменьшения)
Хотя с другой стороны, это нелогично (хоть и не критично) что геометрические размеры ФихедЕдита должны быть теми же что и размер значения ФикседЕдита.
А ты тоже правильно отметил что в целом это всего лишь функциональность, с которой каждый пусть делает что хочет

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

Posted: Mon 23 Dec, 2019 10:06
by Xerox
citRiks wrote:
Mon 23 Dec, 2019 09:37
Это поле данного диалога предназначено для ввода только одного знака (буквы или цифры). И удвоение его ширины в данном случае неадекватно назначению этого поля.
Фик знает
может пусть его, а то слишком много условий получается,
запутывает логику скрипта и посему:
* снижает его образовательную ценность
* менее генерено
* хрупкость перед future downstream changes

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

Posted: Mon 23 Dec, 2019 10:07
by Xerox
John Doe wrote:
Mon 23 Dec, 2019 09:18
Не правильнее ли будет запретить такие изменения размеров, при которых значение теряется?
ну да, я так и писал выше

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

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

Если же действительно так задумано, то замысел можно выразить в коде явным образом.

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

Posted: Mon 23 Dec, 2019 10:50
by John Doe
Xerox wrote:
Mon 23 Dec, 2019 09:57
Хотя с другой стороны, это нелогично (хоть и не критично) что геометрические размеры ФихедЕдита должны быть теми же что и размер значения ФикседЕдита.
Напротив, это вполне логично и наглядно.
И смысла в изменении его размеров вашим скриптом нет никакого.

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

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