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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.10.2006, 14:35   #1  
IPv6 is offline
IPv6
Участник
 
44 / 33 (2) +++
Регистрация: 15.09.2006
[ANN] AOT - SpotX
Привет всем!
Хочу представить свою утилитку для облегчения работы в аксапте. по сути это надстройка над аотом, которая кроме всего прочего позволяет его дочить наконец к краям экрана кроме этого к аоту добавляются закладки (любой узел), активные окна (для переключения, причем если окно было минимизировано - оно развернется автоматом) и проекты, в общем запустив Spot не нужно будет жать лишних кнопок. надо заметить что в Spot эмбеддится именно оригинальный аот, не суррогат, т.е. все его возможности доступны и в задоченном виде (в том числе и поиск по первым буквам и т.д.)
настройки (какие есть) - в classDeclaration
# - для добавления в закладки достаточно просто перетащить пункт из нижнего окна (аота) в верхний (где закладки)
# - из Аота можно переносить не только отдельные элементы а целые узлы (раздел "классы", раздел "формы").
# - Для удаления закладки - правый клик на пункте - конктекстный пункт "+/- Bookmark"
# - в нижнем аоте также работает скроллинг и поиск по первым буквам
# - при развертывании узла в закладках с шифтом его содержимое обновляется (а так - кешируется)
# - список окон также обновляет при открытии ветки
# - при выборе узла аота с шифтом/контролом узел активируется в едит/newwindow режиме

скрин и форма в аттаче. если что ногами не пинать, надеюсь будет комунибудь полезно
идеи почерпнуты из Sidaxа, большое спасибо Beluginу за эту утилитку!
Изображения
 
Вложения
Тип файла: xpo SpotX.xpo (47.4 Кб, 502 просмотров)

Последний раз редактировалось IPv6; 03.10.2006 в 17:04.
За это сообщение автора поблагодарили: mazzy (5), George Nordic (4).
Старый 03.10.2006, 16:51   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
OFF: Что такое [ANN] ?
Коллеги, я может чего невнимательно пропустил, но что означает этот префикс в названии темы?
Спасибо.
Старый 03.10.2006, 16:58   #3  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
announce ?
Старый 03.10.2006, 16:59   #4  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
[ANN] -- announce
Старый 03.10.2006, 17:08   #5  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
[!!!] Будет понятнее.
Старый 03.10.2006, 17:14   #6  
IPv6 is offline
IPv6
Участник
 
44 / 33 (2) +++
Регистрация: 15.09.2006
[ANN] - announce, довольно распространенный таг на тему с анонсами

кстати, 2Belugin: в описании sidaxа написано про фичу "домик" (на которой я и забазировал эту надстройку над аотом), и написано что она глючит в плане "Если сожрать проект, то нельзя искать по активному AOT окну нажатиями клавиш, а только по сожранному проекту" <- во, этот недостаток удалось победить!
офф: понимаю что врядли это кому сильно интересно (все уже привыкли как есть). для меня это был способ изучить аксапту.
Старый 03.10.2006, 17:49   #7  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
И как удалось?
Старый 03.10.2006, 18:51   #8  
IPv6 is offline
IPv6
Участник
 
44 / 33 (2) +++
Регистрация: 15.09.2006
в моем случае: AOT выдирается из своего окна и приклеивается к dummy контролу на своей форме (примерно тоже делает домик в сидаксе), а оригинальное окно скрывается. после этого образуется одна проблема - на аотовское дерево больше не приходят сообщения о фокусе (из-за чего и вышеописанная бага тоже наблюдалась). т.е. чтобы все было ок нужно чтобы приходили. экспериментально выяснилось что для этого можно послать WM_SETFOCUS тому окну которое раньше было его парентом (даже хотя оно и скрыто!). видимо то окно тоже запоминает hWnd где-то у себя и при приходе setfocus все делает как надо. думаю так со всеми окнами в аксапте (class у всех MDI окон одинаков что говорит о том что и поведение скорей всего тоже).
изврат но вроде стабильно работает.
Старый 04.10.2006, 10:34   #9  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Прикольно, при ресайзинге, в нижнем окне какая-то полоска туда-сюда бегает...
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 04.10.2006, 11:14   #10  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
- могу ли я запихать это в Sidax отдельной кнопкой? (мне так будет удобнее)
- что-то при ресайзе многовато дергается
- надо чтобы пустые папки фаворитов при старте были б без плюсиков
- надо бы обрабатывать драговер:
X++:
public FormDrag dragOverEx(Array _dragSource, FormDrag _dragMode, int _x, int _y)
{
    FormDrag ret;

    ret = super(_dragSource, _dragMode, _x, _y);
    // тут доблен быть анализ того что мы можем принять гостинец
    return FormDrag::Copy;
}
Старый 04.10.2006, 11:59   #11  
IPv6 is offline
IPv6
Участник
 
44 / 33 (2) +++
Регистрация: 15.09.2006
- да, конечно! тогда я обратно к Sidaxу вернусь Только два встречный предложения
--- можно ли сделать инициализацию главного меню отложенной, при первом заходе на вкладку? Меню не так часто нужно а при старте обновление не дает работать с узлами аота
--- можно ли сделать чтобы активация окна проверяла минимизировано ли окно и поднимало его если да. в spotx как раз так проверяется (если не минимизировано то просто активируется), можно выдрать код
- с ресайзингом экспериментирую (с количеством телодвижений) так как окно аота подцепляется не совсем честно, оно иногда пытается показать свой норов и появляются артефакты, с которыми я и борюсь. они исчезают если поменять размер окна, но всеже хочется чтобы вообще все было на автомате...
- с пустыми папками и драговером тоже ясно, поправлю

в аттаче последняя версия с несколькими исправленными багами (мелкими)
Вложения
Тип файла: xpo SpotX.xpo (50.0 Кб, 453 просмотров)

Последний раз редактировалось IPv6; 04.10.2006 в 12:45.
Старый 04.10.2006, 12:47   #12  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Попробуйте передалать ресайзинг так
X++:
void SyncSizes(HWND w_inner,HWND w_outer)
{
    if(w_inner){
//        WinApi::forceMaximizeWindow(w_outer);
//        this.ShowWindow(w_inner, #SW_MINIMIZE);//SW_MINIMIZE
//        this.ShowWindow(w_inner, #SW_MAXIMIZE);
        WinApi::setWindowPos(w_inner,0,0,WindowAOT.widthValue(),
            WindowAOT.heightValue(),false,false, #SWP_NOZORDER);
//        WinApi::setWindowPos(w_inner,0,0,0,0,false,true);
    }
}
__________________
Axapta v.3.0 sp5 kr2
Старый 04.10.2006, 12:53   #13  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
AndyD
опередил.... =)

Еще багу нашел - если развернуть окно на весь экран, а потом свернуть ...
Старый 04.10.2006, 13:04   #14  
IPv6 is offline
IPv6
Участник
 
44 / 33 (2) +++
Регистрация: 15.09.2006
2Alex_KD: Спасибо! так значительно легче
2AndyD: Нда... а максимизацию можно запретить?
Вложения
Тип файла: xpo SpotX_1.2.xpo (50.5 Кб, 451 просмотров)
Старый 04.10.2006, 13:14   #15  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
хороша утилитка, толко хотелось бы видеть сам открытый проект вверху. Мош кто знает как туда заинтегрировать окно проекта - типа как во многих IDE? (знаю, можно самому рисовать дерево, но лень кодить)
Старый 04.10.2006, 13:19   #16  
IPv6 is offline
IPv6
Участник
 
44 / 33 (2) +++
Регистрация: 15.09.2006
дерево проекта можно "поймать" в контрол на своей форме по аналогии с аотом.

надо будет докрутить
Старый 04.10.2006, 13:20   #17  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Кстати, неплохо бы при закрытии формы закрывать так же и скрытое окно AOT, а то "плодются"
PS. При этом восстанавливать парент у захваченного окна
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 04.10.2006 в 13:23.
Старый 04.10.2006, 16:01   #18  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Странно, но открывая проект таким же способом, у меня вылетает пустой проект, хотя в нём должны быть ChildNodes...
Жму dbl-click на единственный элемент - и оппааа - открывается "настойащий" проект

PS: всё, нашел - TreeNodeCurrentProject.AOTRun();

Последний раз редактировалось Delfins; 04.10.2006 в 16:22.
Старый 04.10.2006, 17:32   #19  
IPv6 is offline
IPv6
Участник
 
44 / 33 (2) +++
Регистрация: 15.09.2006
не понял про пустой проект... а можно поподобнее?
я кстати добавил затаскивание любого окна (проекта) в Tab (закладка теперь просто один из табов, а аот виден всегда)
Старый 04.10.2006, 17:38   #20  
Delfins is offline
Delfins
Участник
 
320 / 39 (2) +++
Регистрация: 20.09.2005
Адрес: Riga, Latvia
Ну этот этап уже прошел.

Вот мой вариант, пока глючный. Не обижайся, скопировал основной код поиска окон
Надо добавить меню закрытия проекта... и.т.д.

Добовлять "любое окно" мне не понадобится, лучше доделаю для себя простенький DevPanel...

Anyway, спасибо за проект
Вложения
Тип файла: xpo AOTDeveloperPanel.xpo (32.4 Кб, 660 просмотров)
Теги
полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
gatesasbait: Improved AOT Queries in Ax2009 Blog bot DAX Blogs 3 12.10.2011 15:03
axStart: Please keep the AOT reports in Dynamics AX next release alive Blog bot DAX Blogs 2 13.12.2008 12:18
To find objects in AOT with particular properties Blog bot DAX Blogs 1 26.04.2008 07:33
C# and AX Development: How to delete AOT objects (AX/Axapta) Blog bot DAX Blogs 0 13.12.2007 19:50
daxmy: AOT Find function Blog bot DAX Blogs 0 17.08.2007 01:23
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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