Инструменты пользователя

Инструменты сайта


developers:references:core.plugin:contexts

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
developers:references:core.plugin:contexts [2023/01/19 19:27]
proxor [Подменю]
developers:references:core.plugin:contexts [2023/01/19 20:02] (текущий)
proxor [Элементы меню]
Строка 6: Строка 6:
  
 ^  Параметр ​ ^  Описание ​ ^ ^  Параметр ​ ^  Описание ​ ^
-|  "​priority" ​ | Целочисленное значение приоритета сортировки. Чем выше значение,​ тем дальше объект сдвигается в порядке очереди |+|  "​priority" ​ | (необязательный) ​Целочисленное значение приоритета сортировки. Чем выше значение,​ тем дальше объект сдвигается в порядке очереди |
 |  "​flags" ​ | (необязательный) Флаги отображения. Допускаемые значения:​ «0» - показывать,​ «1» - скрыть.\\ По умолчанию установлено значение "​1"​ | |  "​flags" ​ | (необязательный) Флаги отображения. Допускаемые значения:​ «0» - показывать,​ «1» - скрыть.\\ По умолчанию установлено значение "​1"​ |
 |  "​items" ​ | Массив вложенных элементов меню | |  "​items" ​ | Массив вложенных элементов меню |
Строка 13: Строка 13:
 ===== Элементы меню ===== ===== Элементы меню =====
 Элементами меню могут быть объекты со следующими параметрами:​ Элементами меню могут быть объекты со следующими параметрами:​
- +^ [[developers:​references:​core.plugin:​actions|Action]] или [[developers:​references:​core.plugin.macros|Макрос]] ​ ^^
- [[developers:​references:​core.plugin:​actions|Action]] или [[developers:​references:​core.plugin.macros|Макрос]] ​ ^^+
 | В качестве элемента указывается строковый идентификатор **[[developers:​references:​core.plugin:​actions|action'​а]]** или **[[developers:​references:​core.plugin.macros|макрос]]** || | В качестве элемента указывается строковый идентификатор **[[developers:​references:​core.plugin:​actions|action'​а]]** или **[[developers:​references:​core.plugin.macros|макрос]]** ||
- Элемент вызываемый по умолчанию при двойном клике мыши по объекту ​ ^^+^ Элемент вызываемый по умолчанию при двойном клике мыши по объекту ​ ^^
 |  "​default" ​ | Строковый идентификатор **[[developers:​references:​core.plugin:​actions|action'​а]]** или **[[developers:​references:​core.plugin.macros|макрос]]** | |  "​default" ​ | Строковый идентификатор **[[developers:​references:​core.plugin:​actions|action'​а]]** или **[[developers:​references:​core.plugin.macros|макрос]]** |
- Подменю ​ ^^+^ Подменю ​ ^^
 |  "​id" ​ | Строковый идентификатор подменю | |  "​id" ​ | Строковый идентификатор подменю |
 |  "​title" ​ | Строка отображаемая на экране в родительском контекстном меню | |  "​title" ​ | Строка отображаемая на экране в родительском контекстном меню |
 |  "​items" ​ | Массив вложенных элементов | |  "​items" ​ | Массив вложенных элементов |
- Встраиваемое контекстное меню ​ ^^+^ Встраиваемое контекстное меню ​ ^^
 |  "​contextrefs" ​ | Ключ-идентификатор контекстного меню (объекта секции "​contexts"​) | |  "​contextrefs" ​ | Ключ-идентификатор контекстного меню (объекта секции "​contexts"​) |
- Разделитель ​ ^^+^ Разделитель ​ ^^
 | Разделитель обозначается знаком дефиса заключённого в кавычки **("​-"​)** ​ || | Разделитель обозначается знаком дефиса заключённого в кавычки **("​-"​)** ​ ||
-==== Пример plugin-файла ==== +===== Пример plugin-файла ​===== 
-Ниже приведён пример plugin-файла,​ в котором мы создадим контекстное меню **"​my_custom_ctx"​** и встроим его в уже существующее меню **"​rbproj"​**,​ с целью его расширения. Контекстное меню **"​rbproj"​** связано с корневым элементом структуры проекта. Plugin-файл сформирует следующий вид расширенного контекстного меню:+Ниже приведён пример plugin-файла,​ в котором мы создадим контекстное меню **"​my_custom_ctx"​** и встроим его в уже существующее меню **"​rbproj"​**,​ с целью его расширения. Контекстное меню **"​rbproj"​** связано с корневым элементом структуры проекта. ​**Plugin-файл** сформирует следующий вид расширенного контекстного меню:
 {{ :​developers:​tutorial:​ctx:​tut_custom_ctx.png?​direct |}} {{ :​developers:​tutorial:​ctx:​tut_custom_ctx.png?​direct |}}
 +
 +<file javascript my_contexts.plugin>​
 +{
 +    "​actions":​{ ​   ​
 +        "​my_action_id_1":​ {
 +            "​cmd":​ "​my_command_1",​
 +            "​title":​ "​Пользовательская команда 1",
 +            "​description":​ "​Вызов пользовательской комманды 1",
 +            "​icon":​ "​my_icon1"​
 +        },
 +        "​my_action_id_2":​ {
 +            "​cmd":​ "​my_command_2",​
 +            "​title":​ "​Пользовательская команда 2",
 +            "​description":​ "​Вызов пользовательской комманды 2",
 +            "​icon":​ "​my_icon2"​
 +        },
 +        "​my_action_id_3":​ {
 +            "​cmd":​ "​my_command_3",​
 +            "​title":​ "​Пользовательская команда 3",
 +            "​description":​ "​Вызов пользовательской комманды 3",
 +            "​icon":​ "​my_icon3"​
 +        }
 +    },
 +  ​
 +    // Секция контекстных меню
 +    "​contexts"​ :{
 +        // Идентификатор контекстного меню
 +        "​my_custom_ctx"​ :{
 +            // Значение для сортировки
 +            "​priority":​ 1000,
 +            // Отображения меню
 +            "​flags":​ "​$(editor)",​
 +            // Вложенные элементы
 +            "​items":​[
 +                // Идентификатор action'​а (объект секции "​actions"​)
 +                "​my_action_id_1",​
 +                // Подменю
 +                {
 +                    // Идентификатор подменю
 +                    "​id":​ "​my_sub_ctx",​
 +                    // Строка отображаемая в родительском контекстном меню
 +                    "​title":​ "​Пользовательское подменю",​
 +                    // Вложенные элементы
 +                    "​items":​ [
 +                        // Элемент вызываемый при двойном клике мыши по объекту
 +                        { "​default"​ : "​my_action_id_2"​ },
 +                        // Разделитель
 +                        "​-",​
 +                        // Макрос
 +                        "​$(if,​$(editor),​my_action_id_3,​my_action_id_4)"​
 +                    ]
 +                }
 +            ]
 +        },
 +        // Существующее контекстное меню
 +        "​rbproj"​ :{
 +            "​items":​[
 +                "​-",​
 +                // Встраиваем описаное выше контекстное меню в существующее
 +                { "​contextrefs":​ "​my_custom_ctx"​ }
 +            ]
 +        }
 +    }
 +}
 +</​file>​
developers/references/core.plugin/contexts.1674156466.txt.gz · Последние изменения: 2023/01/19 19:27 — proxor