AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.12.2009, 19:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,617 / 848 (80) +++++++
Регистрация: 28.10.2006
Evgeny Arlionak: Горячие клавиши - это просто (HK Framework)
Источник: http://earlionakru.blogspot.com/2009...framework.html
==============

Описание


X++ Hot key framework (HK Framework) - платформа для настройки и использования собственных горячих клавиш в среде Microsoft Dynamics AX. Движок реализован на X++ без использования dll/activeX.

Скачать HKFramework 1.0.xpo для DAX 4.0, 2009

Возможность настройки горячих клавиши для:
  • редактора X++ (например, расстановка комментариев, открытие объекта в новом окне и т. п.);
  • репозитария AOT (например, открытие таблицы в обозревателе по Ctrl+O);
  • глобально для приложения (открытие любых форм, запуск классов, джобов и т. п.).
HK Framework уже включает в себя набор преднастроенных горячих клавиш и связанных с ними функций. Для добавления своей собственной функции, необходимо добавить статический метод в класс HKAOT или HKEditor - в зависимости от области ее действия - в AOT или редакторе X++, и в форме настройки HKSetup назначить этому методу желаемую комбинацию клавиш. При срабатывании установленной комбинации клавиш этому методу передастся управление. Пример методов смотрите в уже реализованных функциях.
Также, в форме HKSetup можно назначать горячие клавиши для запуска любой существующей формы/класса/джоба.


Список инструментов в данной версии HK Framework

1. Aot2project (ALT+F3) - менеджер управления AOT проектом; включает функции:
  • добавление элементов в проект из репозитария АОТ и редактора X++ (Ctrl+K);
  • расстановка комментариев в редакторе X++ (Ctrl+1, Ctrl+2, Ctrl+3 - открывающий, обычный, закрывающий комментарии, соответственно), формат комментариев можно настраивать (по принципу "strFmt("%1 %2 %3")");
  • создание соответствующей группы/подгруппы проекта (например, Data_Dictionary/Tables/Classes/...).


2. AotJump (AOT, Ctrl+J) - функция для быстрого «скольжения» по элементам АОТ, в направлении от базового элемента к родителю, например, от класса-наследника к классу-родителю, от датасорса формы к таблице, от менюайтема к открывающемуся объекту. Скольжение осуществляется по следующим цепочкам (уже не помню всех цепочек, если чего-то не хватает, можно добавить свои):
  • класс -> класс-родитель -> класс-родитель -> ... -> базовый класс;
  • table field -> EDT -> EDT-родитель -> EDT-родитель -> ... -> базовый EDT -> [enum];
  • menuItemButton -> menuItem -> класс/форма/отчет (зависит от типа menuItem);
  • menu -> menuItem;
  • formDataSource -> table/view.

3. CheckBestPractice (AOT, Ctrl+B) - функция проверки выделенных элементов АОТ на соответствие рекомендациям BestPractice.

4. Copy2clipboard (AOT, Ctrl+C) - функция копирования имен выделенных элементов АОТ в буфер обмена. Поддерживается мультивыделение. Очень полезно при наборе имен объектов в редакторе.

5. TableBrowser (AOT, Ctrl+O) - функция открывает таблицу в обозревателе таблиц из АОТ.

6. OpenTableBrowser (X++ Editor, Ctrl+«Ноль») - функция открывает таблицу в обозревателе, на которой установлен курсор в редакторе X++.

7. OpenNewWindow (X++ Editor, Ctrl+O) - плагин открывает элемент АОТ в новом окне из редактора X++. Поддерживается распознавание по типу.

Инсталляция

Данная версия тестировалась на DAX 4.0, 2009. Для 3.0 не хватило времени допилить. Если кто-то нуждается в версии для 3.0 - с удовольствием подскажу что и где подправить.

Инсталляция очень проста - две простых модификации стандартных методов.

\Classes\ClassFactory\formRunClassOnClient:

<div style="border: 1px solid gray; background: rgb(250, 253, 255) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; padding-left: 10px;font-family:'Courier New';">client static FormRun formRunClassOnClient(Args args)
{
SysSetupFormRun sysSetupFormRun;

;

// HK "Hot key framework", evo 30.07.2009 -->
if (args && args.name() == formstr(SysEditorGotoLine))
{
return HKManager::editorCatchObject(args);
}
// HK "Hot key framework", evo 30.07.2009
HKManager::startHKManager().run(false);
<span style="color: rgb(0, 127, 0);">// HK "Hot key framework", evo 30.07.2009
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
HK Framework DSPIC DAX: Программирование 19 27.07.2016 10:30
Evgeny Arlionak: Где же это поле?! (Form digger) Blog bot DAX Blogs 0 17.02.2009 19:05
Можно ли в Аксапте делать "горячие клавиши"? Garic DAX: Программирование 12 25.01.2006 19:51
Горячие клавиши Swetik DAX: Функционал 1 05.11.2003 14:07
Горячие клавиши для AddIns? konfet DAX: Программирование 3 23.09.2003 15:15

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:11.