Свойство "Always On Top" для немодальных диалогов?

Хотите предложить идею нового плагина или знаете, что улучшить в существующем? Пишите сюда.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Свойство "Always On Top" для немодальных диалогов?

Post by citRiks »

citRiks wrote: Tue 17 Mar, 2020 19:25 а нельзя ли сделать свойство "AlwaysOnTop" для немодальных диалогов?
Если предложение вызовет интерес у разработчиков, распишу подробнее. Хотя на мой взгляд концептуально расписывать особо нечего.
Если затруднения вызывает Z-index, то за него можно не беспокоиться, просто каждый последующий AlwaysOnTop диалог лепится поверх предыдущего AlwaysOnTop. Если же не вызвает, то пожалуйсте, с ним еще лучше Идея простая, вопрос насколько проста реализация?
Last edited by HaRT on Tue 17 Mar, 2020 22:12, edited 1 time in total.
Reason: Добавлена цитата из исходной темы; улучшена формулировка заголовка; исправлено форматирование.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by zg »

вот у нас есть немодальные окна, а над ними модальные. вот эти ваши aot где отображать? реально над всеми или между немодальными и модальными?
HaRT wrote: Tue 17 Mar, 2020 20:10Сначала распишите детально (и в отдельной теме), как несколько подобных диалогов должны взаимодействовать между собой (в смысле Z-order'а)
не очень понятно, в чём проблема.
Last edited by zg on Wed 18 Mar, 2020 00:43, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by buniak_a_h »

zg wrote: Wed 18 Mar, 2020 00:33 не очень понятно, в чём проблема.
Я вчера как раз столкнулся.
Сдклал симуляцию ALT-поиска на основе немодального диалога; по OnChange и по CtrlEnter происходит смена позиции на активной панели. Всё просто замечательно, но мелкая неприятность: иногда (закономерность не могу выявить) диалог с полем ввода искомой строки "прячется" под панелью. Он на экране у меня расположен так, что нижняя часть рамки расположена под панелью. Так вот: после изменения позиции на панели из-под неё только кусок рамки и виден. При этом, что уж совсем странно, у меня стоит обработка DN_KILLFOCUS с Param1== -1 (написано, что это потеря фокуса всем диалогом), и по этому событию высылается сообщение DM_CLOSE (закрываться диалог должен). Он и закрывается в остальных случаях, а тут, получается, что диалог имеет фокус ввода (и так он и есть!), но сам диалог прячется под панелью.
Если надо, я пришлю скрипт, но он ещё не готов.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by zg »

это конечно всё замечательно. вполне возможно, что это даже баг, но какое отношение это имеет к этой теме? здесь обсуждается возможный будущий функционал.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by buniak_a_h »

zg wrote: Wed 18 Mar, 2020 01:41 какое отношение это имеет к этой теме?
Это прямой ответ на вопрос "в чём проблема", и проблема решается флагом "AlwaysOnTop" для немодального диалога. Так что это имеет абсолютно прямое отношение к этой теме.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by zg »

buniak_a_h wrote: Wed 18 Mar, 2020 02:04Это прямой ответ на вопрос "в чём проблема", и проблема решается флагом "AlwaysOnTop" для немодального диалога. Так что это имеет абсолютно прямое отношение к этой теме.
т.е. правильно ли я понимаю, что вы интерпретируете мой вопрос в смысле: «зачем нужен флаг always on top»?
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by buniak_a_h »

zg wrote: Wed 18 Mar, 2020 02:40 т.е. правильно ли я понимаю, что вы интерпретируете мой вопрос в смысле: «зачем нужен флаг always on top»?
Да, я "смешал" Ваш вопрос с вопросом от HaRT, на который у Вас ссылка. Просто его сообщение больше похоже на вежливый отказ … Ну, я и решил привести пример, почему этот функционал был бы нужен.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by buniak_a_h »

zg wrote: Wed 18 Mar, 2020 01:41 вполне возможно, что это даже баг,
А как узнать, баг это, или так и задумано?
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Свойство "Always On Top" для немодальных диалогов?

Post by citRiks »

zg wrote: Wed 18 Mar, 2020 00:33 вот у нас есть немодальные окна, а над ними модальные. вот эти ваши aot где отображать? реально над всеми или между немодальными и модальными?
думаю было бы логично так:
Модальное окно, в ФАРе единственное на каждый данный момент пока оно есть, должно быть в фокусе,
поэтому имеет приоритет над всеми остальными в силу своей этой уникальности.
Если модальное окно отркывает другое модальное окно, то оно будет поверх прежнего и всех остальных - так как опять же, единственный фокус там.
T.e. "модальные отображать реально над всеми", с фокусом, как сейчас это так и есть,
a АОТ могут терять фокус, но никогда (ну или почти никогда) не исчезают из вида

"почти никогда" ("частичное АОТ") относится например к Area=Desktop, если сложно сделать чтобы АОТ висело и там, то и не нужно.
Или так:
если АОТ вызвано из панелей, то при переходе в редактор его таки не видно.
И наоборот, если АОТ вызвано из редактора, то при переходе в панели его не видно.
Подчеркиваю, что сказанное про "частичное АОТ", имеет смысл "посмотрите там что вам проще и как вам проще сделать АОТ", а не "надо именно так и не иначе".
Last edited by citRiks on Wed 18 Mar, 2020 08:16, edited 1 time in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Свойство "Always On Top" для немодальных диалогов?

Post by citRiks »

(На всякий случай:)
zg wrote: Wed 18 Mar, 2020 00:33 не очень понятно, в чём проблема.
Это вопрос? если вопрос, то просьба сказать кому вопрос, и уточнить формулировку вопроса
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by John Doe »

zg wrote: Wed 18 Mar, 2020 00:33 вот у нас есть немодальные окна, а над ними модальные. вот эти ваши aot где отображать? реально над всеми или между немодальными и модальными
Хороший вопрос. Видимо оба варианта могут иметь смысл.
Что если параметр сделать численным?

Edit: тут давнее пожелание: https://bugs.farmanager.com/view.php?id=3517
https://t.me/FarManager — Telegram чат
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by zg »

buniak_a_h wrote: Wed 18 Mar, 2020 04:31Да, я "смешал" Ваш вопрос с вопросом от HaRT, на который у Вас ссылка.
не надо так делать. я-то ничего не смешивал, и для меня ваш ответ выглядит, как абсолютная дичь.
buniak_a_h wrote: Wed 18 Mar, 2020 04:34А как узнать, баг это, или так и задумано?
в разделе с багами создать тему, в ней привести минимально необходимый скрипт и описание, как добавив этот скрипт к официальному дистрибутиву фара в дефолтной конфигурации воспроизвести поведение, вызывающие вопросы.

что касается темы, то пока у меня складывается впечатление, что всем нужна возможность прилепить что-то к конкретным панелям/просмотру/редактору, но все почему-то просят aot. причём с aot сразу очевидные проблемы. например, меню переключения экранов. оно должно быть сверху в любом случае. а что делать если из него открыли меню плагинов? а потом какой-нибудь редактор?
так что давайте исходить из реальных задач, а не сделаем всё красиво, но бесполезно.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Свойство "Always On Top" для немодальных диалогов?

Post by citRiks »

zg,
Как я уже писал, все что модальное, открывается поверх всего остального, в том числе и ранее открытых модальных.
Вроде очевидная несложная логика.
меню переключения экранов - модальное, и конечно оно сверху.
меню плагинов - модальное, сверху поверх любого другого которое было открыто ранее.
zg wrote: Wed 18 Mar, 2020 14:28 а что делать если из него открыли меню плагинов? а потом какой-нибудь редактор?
то же самое что и сейчас с немодальными диалогами,
только если у них есть флаг AOT, тo пусть рисуются поверх остального
Last edited by citRiks on Wed 18 Mar, 2020 15:09, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by John Doe »

zg wrote: Wed 18 Mar, 2020 14:28причём с aot сразу очевидные проблемы[...]
Полагаю это всё можно учесть.
zg wrote: Wed 18 Mar, 2020 14:28 что касается темы, то пока у меня складывается впечатление, что всем нужна возможность прилепить что-то к конкретным панелям/просмотру/редактору, но все почему-то просят aot.
Возможно действительно стоит подойти к вопросу с другой стороны.
У диалога может быть колбэк, вызываемый при переключении окон, и позволяющий указать желаемую позицию.
https://t.me/FarManager — Telegram чат
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Свойство "Always On Top" для немодальных диалогов?

Post by zg »

citRiks wrote: Wed 18 Mar, 2020 15:08Как я уже писал, все что модальное, открывается поверх всего остального, в том числе и ранее открытых модальных.
citRiks wrote: Wed 18 Mar, 2020 15:08то же самое что и сейчас с немодальными диалогами,
только если у них есть флаг AOT, тo пусть рисуются поверх остального
т.е. с одной стороны — модальные окна сверху, с другой aot поверх всего — это очевидная и несложная логика?
John Doe wrote: Wed 18 Mar, 2020 15:56У диалога может быть колбэк, вызываемый при переключении окон, и позволяющий указать желаемую позицию.
вот давайте сначала не как, а зачем. единственный пример, который я знаю, это в панелях показывать что-то либо о текущем файле, либо абстрактное типа дерева. выглядит костыльно, но ладно. помнится были какие-то идеи про редактор, но я не помню никакой конкретики.
вот выше есть пример про быстрый поиск, но я вообще не понимаю даже, зачем там немодальность, не говоря уже об aot.
пока это выглядит, как фича ради фичи. и да, я попробовал простую реализацию, в принципе прикольно, но непонятно зачем.
Post Reply

Return to “Предложения и идеи”