Поведение, когда нужно сделать выбор из нескольких макросов

Здесь обсуждается всё, что касается макросов.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Max Rusov »

Latest post of the previous page:

Что, возможно, имеет смысл - это добавит галочку "использовать в дальнейшем", чтобы при повторных вызовах сразу вызывался предпочитаемый макрос, без меню. Только нужно придумать способ сбросить эту галочку и вернуть меню, если хочется сменить предпочтение...
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Shmuel »

Max Rusov wrote:А вот в варианте 3 как раз нет нормального решения для задачи выбора между одним плагином и стандартным обработчиком - в меню всегда будут 3 варианта, из которых 2 будут делать одно и то же.
Это наводит на идею: считать все кнопки стандартных обработчиков макросами с приоритетом, например, 25 (по 100-балльной шкале).
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Kildor »

Вариант раз — съедать.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by 2useven10 »

1++
с вариантом 3, если быть последовательным, надо и перед выполнением единственного макроса-кандидата спрашивать 'а не передать ли клавишу дальше ?'
User avatar
John Doe
Бюрократ
Posts: 13850
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

Бессмысленно об этом спрашивать каждый раз, да.

Но "прецеденты" такому поведению есть.
Сравните с аналогичной опцией менеджера плагинов:

Code: Select all

[x] File processing
  [x] Show standard association item
    [x] Even if only one plugin found


Ещё можно провести аналогию с конфликтом ассоциаций.
(Но там нет пункта [x] Show standard association item)

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

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

В этом направлении возникло развитие идеи - что если сделать специальный режим?
По нажатию клавиши будет выводиться список всех существующих на данной кнопке макросов, со всеми приоритетами, и последним пунктом (с наименьшим приоритетом) - "оригинальное" значение клавиши. Сюда же прекрасно впишутся и Common-макросы.

Во-первых, так можно сделать очень неплохую замену имеющемуся интерфейсу назначения/удаления/редактирования макросов.
(В текущем виде он малопригоден для ситуации "много макросов на одной кнопке")

И во-вторых, этот же диалог можно выводить в случае конфликта макросов.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Shmuel »

John Doe wrote:так можно сделать очень неплохую замену имеющемуся интерфейсу назначения/удаления/редактирования макросов.
(В текущем виде он малопригоден для ситуации "много макросов на одной кнопке")
Макросы, записываемые с клавиатуры, предположительно выделяются в отдельную сущность, которая будет жить в текущем формате, то-есть, как и сейчас, сможет быть только один "записанный" макрос на одной кнопке. "Записанные" макросы будут иметь приоритет над "стационарными".
User avatar
John Doe
Бюрократ
Posts: 13850
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

Зачем множить сущности?
Я вижу только усложнение.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Shmuel »

John Doe wrote:Зачем множить сущности?
Я вижу только усложнение.
Со стороны это может показаться так. Детально объяснять сейчас нет времени. Когда что-то живое появится, можно будет говорить конкретнее.
User avatar
John Doe
Бюрократ
Posts: 13850
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by John Doe »

Я и без объяснений верю, что с какой-то стороны (например со стороны простоты реализации) разделить сущности проще.
Но это же для пользователя делается, а со стороны пользователя лишняя сущность это определённо усложнение.

Ок, подождём конкретики.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Shmuel »

Возникла небольшая идея: объединить поля priority и condition в одно поле - priority (имя можно выбрать и другое). Если число - то как теперь, если функция - то в зависимости от её возвращаемого значения. А то есть ощущение какой-то избыточности. Мнения?
User avatar
zg
zero-gravity
Posts: 6034
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by zg »

Shmuel wrote:Возникла небольшая идея: объединить поля priority и condition в одно поле - priority (имя можно выбрать и другое). Если число - то как теперь, если функция - то в зависимости от её возвращаемого значения. А то есть ощущение какой-то избыточности. Мнения?
есть два макроса. скажем для редактора. в одном в кондишн проверяется имя файла. в другом расширение. у обоих есть кондишены. как в предложенном варианте обеспечить нужную очерёдность обработки?
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Shmuel »

zg wrote:есть два макроса. скажем для редактора. в одном в кондишн проверяется имя файла. в другом расширение. у обоих есть кондишены. как в предложенном варианте обеспечить нужную очерёдность обработки?
Очерёдность вызова condition() и сейчас не зависит от приоритетов. Они вызываются в случайном порядке для каждого из макросов, затем анализируются результаты. В этом плане ничего не меняется. (Возможно, не понял твой вопрос).
User avatar
zg
zero-gravity
Posts: 6034
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by zg »

Shmuel wrote:Очерёдность вызова condition() и сейчас не зависит от приоритетов. Они вызываются в случайном порядке для каждого из макросов, затем анализируются результаты. В этом плане ничего не меняется. (Возможно, не понял твой вопрос).
два макроса в кондишн вернули тру. у одного приоритет 20, у другого 10. сейчас, если я правильно понимаю однозначно вызовется первый. в новом варианте — меню.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Shmuel »

zg wrote:два макроса в кондишн вернули тру. у одного приоритет 20, у другого 10. сейчас, если я правильно понимаю однозначно вызовется первый. в новом варианте — меню.
В новом варианте первый кондишн вернёт 20, второй 10.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Re: Поведение, когда нужно сделать выбор из нескольких макро

Post by Smitis »

Тогда надо, например, если возвращается 0 - макрос не выполняется, меню, если все остальные тоже вернули ноль, не показывается.
Или даже, обрабатывать возвращаемое логическое значение, false,nil - не выполнять, true - стандартный приоритет (50?)
Разум когда-нибудь победит.
Post Reply

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