Latest post of the previous page:
Придумал - в Common макросе добавил область ShellПоведение, когда нужно сделать выбор из нескольких макросов
- zg
- zero-gravity
- Posts: 6015
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
а нужна ли в текущей ситуации область common?
- zg
- zero-gravity
- Posts: 6015
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
внутри фара. при задании области коммон просто раскрывать макрос на все области.SUSim wrote:лучше оставить, а то перечислять очень много...
- Aidar
- Posts: 541
- Joined: Mon 09 Mar, 2009 22:43
- Location: Kazan
- Has thanked: 8 times
- Been thanked: 7 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
По-моему, не нужно.zg wrote:внутри фара. при задании области коммон просто раскрывать макрос на все области.SUSim wrote:лучше оставить, а то перечислять очень много...
Текущее поведение позволяет перекрыть общий макрос в Common специальным для конкретной области (напр., Shell).
Кроме того, в текущем варианте для области Shell выберется Shell-макрос, а при раскрытии (и равенстве приоритетов) будет меню из двух макросов - из Common-Shell и из Shell.
Кому нужно второе поведение, тот впишет дополнительно к Common область Shell - как это сделал SUSim.
- John Doe
- Бюрократ
- Posts: 13801
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 72 times
- Been thanked: 425 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Т.е. просто "перегрузить" обобщённое значение точным (как раньше) теперь нельзя.shmuel 13.01.2013 11:40:40 +0200 - build 3078 wrote:Code: Select all
1.4. Спецификации ключей не имеют приоритетов друг перед другом. Если есть макросы 1 (key="RCtrlX"), 2 (key="CtrlX") и 3 (key="/.CtrlX/"), то при нажатии RCtrlX все они будут рассматриваться на одинаковых основаниях, а выбор будет производиться по совокупности заданных полей: flags (включая возможный вызов callback для макросов MCTL_ADDMACRO), condition и priority.
Нет больше такого механизма.
Надо использовать приоритеты (или условия).
Но что такое этот callback?
-
- Posts: 6815
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 526 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Этот механизм убран, потому что получалось слишком много механизмов, а условия или приоритеты успешно решают эту же задачу.John Doe wrote:Т.е. просто "перегрузить" обобщённое значение точным (как раньше) теперь нельзя.
Нет больше такого механизма.
Надо использовать приоритеты (или условия).
Это актуально только для плагинописателей. Плагин может добавить макросы во время своей работы (см. MCTL_ADDMACRO), а callback в этом случае является аналогом condition (только он не на Lua, а на C, Pascal и т.п.).John Doe wrote:Но что такое этот callback?
- John Doe
- Бюрократ
- Posts: 13801
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 72 times
- Been thanked: 425 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Т.е. поведение по умолчанию не изменилось, и например макрос из Shell перекроет Common.shmuel 13.01.2013 11:40:40 +0200 - build 3078 wrote:Code: Select all
1.6. Макросы, назначенные на область "Common", имеют приоритет по умолчанию = 40.
Но при необходимости можно поднять приоритет макроса из Common, и тогда он будет иметь приоритет.
Стало гибче. Имхо слишком гибко.
- John Doe
- Бюрократ
- Posts: 13801
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 72 times
- Been thanked: 425 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Возвращаясь к прошлому обсуждению:
Т.е. появилась новая сущность, да ещё и с собственным форматом.
1) Почему бы не продолжать хранить их как раньше и в прежнем формате?
2) Почему вообще понадобилось отдельная сущность?
Живое появилось, и хотелось бы поговорить конкретнее.Shmuel wrote:Со стороны это может показаться так. Детально объяснять сейчас нет времени. Когда что-то живое появится, можно будет говорить конкретнее.John Doe wrote:Зачем множить сущности?
Я вижу только усложнение.
Т.е. появилась новая сущность, да ещё и с собственным форматом.
1) Почему бы не продолжать хранить их как раньше и в прежнем формате?
2) Почему вообще понадобилось отдельная сущность?
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Наверное, потому что это дает больший контроль над тем, что определено файлом клавиатурного макроса. Если бы это был обычный макро-скрипт, то он мог бы все что угодно делать и кучу макросов определить или ни одного. А тут ожидается конкретно определение данных для одного единственного макроса. Мне такой подход понятен вроде.
Мне только интересно из любопытства - имена файлов клавиатурных макросов существенны?
Мне только интересно из любопытства - имена файлов клавиатурных макросов существенны?
-
- Posts: 6815
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 526 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Макросы, записываемые с клавиатуры, выделены в отдельную сущность, поскольку, в отличие от "стационарных" макросов, они:John Doe wrote:Зачем понадобилась новая отдельная сущность, да ещё и с собственным форматом?
Почему бы не продолжать хранить их как раньше и в прежнем формате?
1. Являются "read-write" (стационарные являются "read-only").
2. Являются средством временной автоматизации, то-есть покрывают какие-то сиюминутные нужды, после чего обычно удаляются. Их "сиюминутность" обуславливает их высокий приоритет. Если такой макрос оказался полезным в долговременном плане (что бывает редко), его следует сделать стационарным.
Что касается их формата, то это - детали реализации. На данный момент выбран самый простой из всех форматов. Вообще, пользователю не рекомендуется полагаться на детали содержимого папки internal. Нет гарантии неизменности форматов макросов, имён файлов и прочих деталей внутри этой папки.
Да, они более чем существенны - при удалении или модификации этих макросов. Не исключено, что поля "area" и "key" будут вообще убраны из содержимого этих файлов, а останутся только в имени.NightRoman wrote:Мне только интересно из любопытства - имена файлов клавиатурных макросов существенны?
- John Doe
- Бюрократ
- Posts: 13801
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 72 times
- Been thanked: 425 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Правильно ли я понимаю, что основная причина выделения их в отдельную сущность состоит в том, что реализация "write" для стационарных проблематична?1. Являются "read-write" (стационарные являются "read-only").
Будь они в одном формате - это существенно упростило бы такой перенос.Если такой макрос оказался полезным в долговременном плане (что бывает редко), его следует сделать стационарным.
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Да, это я и имел в виду. Если инфа в имени файла, то внутри как-то некошерно повторять. (Но это так, типа дублирование *почти* всегда плохо).Да, они более чем существенны - при удалении или модификации этих макросов. Не исключено, что поля "area" и "key" будут вообще убраны из содержимого этих файлов, а останутся только в имени.
-
- Posts: 6815
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 526 times
Re: Поведение, когда нужно сделать выбор из нескольких макро
Реализация "write" для стационарных просто не нужна. Открывается редактор, в нём эта функциональность уже имеется.John Doe wrote:Правильно ли я понимаю, что основная причина выделения их в отдельную сущность состоит в том, что реализация "write" для стационарных проблематична?1. Являются "read-write" (стационарные являются "read-only").
Согласен, но поскольку данные макросы обычно короткие и простые, а необходимость в переносе возникает редко, то и проблемы как бы нет.John Doe wrote:Будь они в одном формате - это существенно упростило бы такой перенос.Если такой макрос оказался полезным в долговременном плане (что бывает редко), его следует сделать стационарным.
- John Doe
- Бюрократ
- Posts: 13801
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 72 times
- Been thanked: 425 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
Как-бы нужна.Shmuel wrote:Реализация "write" для стационарных просто не нужна. Открывается редактор, в нём эта функциональность уже имеется.John Doe wrote:Правильно ли я понимаю, что основная причина выделения их в отдельную сущность состоит в том, что реализация "write" для стационарных проблематична?1. Являются "read-write" (стационарные являются "read-only").
В идеале хочется нажать клавишу, получить список назначенных на неё макросов, и чтобы редактор открылся с нужным файлом, и в нужном месте.
Многие сложные макросы начинаются с простого.Shmuel wrote:Согласен, но поскольку данные макросы обычно короткие и простые, а необходимость в переносе возникает редко, то и проблемы как бы нет.John Doe wrote:Будь они в одном формате - это существенно упростило бы такой перенос.
Да и вообще удобно начинать макрос с клавиатуры, чтобы фар создал "шаблон". Особенно для неподготовленного пользователя
И наличие избыточных сущностей мне видится проблемой.
Начиная с того, что это сложно в понимании.
Обсуждаем ли вообще вариант событий с объединением макросов обратно, в один тип?
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: Поведение, когда нужно сделать выбор из нескольких макро
John Doe
Критичный подход - это хорошо. Но ты не нагнетаешь черезчур?
Да не поможет это неподготовленному пользователю. А шаблонов полно в аддонах.
Критичный подход - это хорошо. Но ты не нагнетаешь черезчур?
Может быть, ну и что. Много чего в Фаре хочется еще, "что б само".В идеале хочется нажать клавишу, получить список назначенных на неё макросов, и чтобы редактор открылся с нужным файлом, и в нужном месте.
Да и вообще удобно начинать макрос с клавиатуры, чтобы фар создал "шаблон". Особенно для неподготовленного пользователя
Да не поможет это неподготовленному пользователю. А шаблонов полно в аддонах.