Снегопат

Обсуждение Снегопата
Текущее время: 27 апр 2024, 13:08

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: 30 авг 2011, 09:59 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
Саш, не удается перехватить точку, отрабатывает штатное нажатие Снегопата :(
Точнее, вешаю макрос на точку, в макросе пишу Message("перехватили")
и ничего.
http://snegopat.ru/main/tktview?name=826f9cc4e9


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 авг 2011, 10:15 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
Точнее, поведение такое:
В английской раскладке при нажатию на клавишу (. или Ю) перехват проходит, если в Снегопате поставить перехват на .
Для перехвата нажатия точки на цифровой клавиатуре нужно перехвать Num + .
В русской раскладке при нажатии на эти клавиши все также хорошо.
Но вот при нажатии в русской раскладке самой правой нижней клавиши, на которой нарисованы 4 символа ".,/?",
перехвата не происходит, вставляется точка и вызывается окно Снегопата :(

как нужно поставить перехват ?

ЗЫ никаких других хоткеев у меня не настроено
ЗЗЫ закинул в задачу http://snegopat.ru/main/tktview/826f9cc ... 3422fd2561


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2011, 13:23 
Не в сети

Зарегистрирован: 29 авг 2011, 11:24
Сообщения: 32
Коллеги, подскажите как в моем скрипте вызвать функцию AddHotKey(str, addin, macros) которая лежит в hotkeys.js ?
Или есть другой, более правильный способ регистрации хоткеев моего скрипта?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 авг 2011, 23:44 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
palytsh писал(а):
Коллеги, подскажите как в моем скрипте вызвать функцию AddHotKey(str, addin, macros) которая лежит в hotkeys.js ?
Или есть другой, более правильный способ регистрации хоткеев моего скрипта?

Код:
addins.byUniqueName("hotkeys").object.AddHotKey

Но так-то этот метод - просто обертка над снегопатовским HotKeys.add, только преобразует текстовое представление хоткея в числовой код. В сохраняемые настройки хоткей, добавленный таким образом, не попадает. То есть надо либо каждый раз добавлять так хоткей, либо один раз внести его в настройки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 сен 2011, 09:43 
Не в сети

Зарегистрирован: 29 авг 2011, 11:24
Сообщения: 32
orefkov
Ага, как вызвать понятно. Пригодится :-)

Тогда, предлагаю обсудить концепцию использования хоткеев в разрабатываемых аддинах.
Тут есть два аспекта:

1. Регистрация хоткеев для вновь добавляемых скриптов. Насколько понимаю, пока, предлагается прописывать их руками. Но, если скриптов будет много, это будет весьма трудоемко. Наверно, нужен способ автоматического добавления при подключении нового скрипта: при подключении нового макроса он должен автоматически прописать свои хоткеи. При чем так, чтобы они сохранились при сохранении профиля. Например, ядро снегопата пытается вызвать метод Setup() в добавляемом скрипте, который прописывает дефолтные хоткеи.

2. Через какой программный интерфейс добавлять хоткей? В принципе, понятно, что надо использовать IHotKeys::add. Но хотелось бы прописывать комбинации символов в более простом виде, нежели числовые коды, примерно так, как это с делано в скрипте hotkeys. Какие будут предложения? Может, сделать скрипт в разделе core с методом, который бы принимал на входе строку вида "Ctrl+A" и прописывал бы перманентный хоткей?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 сен 2011, 12:35 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
palytsh писал(а):
orefkov
Тогда, предлагаю обсудить концепцию использования хоткеев в разрабатываемых аддинах.

1. Регистрация хоткеев для вновь добавляемых скриптов. Насколько понимаю, пока, предлагается прописывать их руками. Но, если скриптов будет много, это будет весьма трудоемко. Наверно, нужен способ автоматического добавления при подключении нового скрипта: при подключении нового макроса он должен автоматически прописать свои хоткеи. При чем так, чтобы они сохранились при сохранении профиля. Например, ядро снегопата пытается вызвать метод Setup() в добавляемом скрипте, который прописывает дефолтные хоткеи.

2. Через какой программный интерфейс добавлять хоткей? В принципе, понятно, что надо использовать IHotKeys::add. Но хотелось бы прописывать комбинации символов в более простом виде, нежели числовые коды, примерно так, как это с делано в скрипте hotkeys. Какие будут предложения? Может, сделать скрипт в разделе core с методом, который бы принимал на входе строку вида "Ctrl+A" и прописывал бы перманентный хоткей?

1. ИМХО настройка хоткеев должна быть индивидуальным делом.
Тем более непонятно, что делать в этом случае, если хоткей уже занят.

2. Да, хорошее предложение.

Мне кажется, что нужен набор каких-то общих хоткеев (я уже писал об этом).
Давайте обсудим эти общие хоткеи и спец.скриптом или спец.настроек зафиксируем их.
Пользователям Снегопата останется только либо запустить этот скрипт или загрузить настройки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2011, 08:04 
Не в сети

Зарегистрирован: 29 авг 2011, 11:24
Сообщения: 32
artbear писал(а):
1. ИМХО настройка хоткеев должна быть индивидуальным делом.
Тем более непонятно, что делать в этом случае, если хоткей уже занят.


Ну так возможность кастомизации останется. И, при этом, сократится трудоемкость добавления хоткеев - удалять и изменять проще, чем набивать с нуля. А, может, и вообще не понадобится их изменять.
Если появятся дубли - ничего страшного. Это же штатная фича снегопата.

artbear писал(а):
Мне кажется, что нужен набор каких-то общих хоткеев (я уже писал об этом).
Давайте обсудим эти общие хоткеи и спец.скриптом или спец.настроек зафиксируем их.
Пользователям Снегопата останется только либо запустить этот скрипт или загрузить настройки.


Ну пока все, на что хватает моей фантазии:
1. Показать окно снегопата (я себе сделал Ctrl+Alt+Shift+S)
2. Выполнить скрипт (уже есть, Ctrl+M)
3. Показать список методов модуля (традиционно Ctrl+1)
4. Перейти вперед / Вернуться назад (у меня Ctrl+Left / Ctrl+Right)

Остальные функции ядра можно просто вывести в тулбар основного окна без хоткеев.

Видимо, эти хоткеи должны прописываться при первом запуске снегопата (это, видимо, когда отсутствует файл профиля snegopat.pfl).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2011, 08:53 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:36
Сообщения: 1085
>>Показать окно снегопата (я себе сделал Ctrl+Alt+Shift+S)
Имхо этот хоткей не так нужен, у меня окно справа висит постоянно, даже если я его закрою, открою через Цтрл+М.

Меня пока больше интересуют прочие хоткеи - например, замена Ю,Б и т.п.
Сейчас они висят на клавише Альт и некоторые пересекаются с 1С-хоткеями по управляемому приложению.
ИМХО нужно их перевести на Цтрл.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2011, 09:12 
Не в сети

Зарегистрирован: 29 авг 2011, 11:24
Сообщения: 32
artbear писал(а):
у меня окно справа висит постоянно

Ты наверно, не юзаешь хранилище конфигурации. После подключения к хранилищу окно снегопата закрывается. Но, впрочем, это не очень принципиально.

artbear писал(а):
Меня пока больше интересуют прочие хоткеи - например, замена Ю,Б и т.п.
Сейчас они висят на клавише Альт и некоторые пересекаются с 1С-хоткеями по управляемому приложению.
ИМХО нужно их перевести на Цтрл.

А не удобнее это делать через автозамену? без хоткеев? Например, я пользуюсь шаблоном: "бб" заменяется на "<" автоматически.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 сен 2011, 02:15 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:04
Сообщения: 2052
Вобщем я доработал скрипт hotkeys.js
Теперь он позволяет аддинам задавать свои предопределенные хоткеи.
Для этого объект аддина должен иметь метод "getPredefinedHotkeys"
При наличии такого метода, он вызывается, с передачей как параметра объекта-приемника предопределенных хоткеев.
У него есть два метода:
setVersion(version) - позволяет задать версию хоткеев
add("имяМакроса", "хоткей")
(Пример реализации см. в snegopat.js)
Если для данного аддина и данной версии хоткеи еще не регистрировались, они будут добавлены и сохранены в настройках.
Можно указать несколько хоткеев, разделяя их знаком "|".
Будет использован первый из них, не конфликтующий с другими хоткеями.
Если все перечисленные хоткеи конфликтуют с уже существующими, будет использован первый из них, с выдачей сообщения о конфликте.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB