08.09.2006, 07:34 | #1 |
Участник
|
[ANN] Tabax 0.1 -- панель задач для Axapta
Скачать можно с домашней страницы
За исключением управления окнами (кстати, на табах есть контекстное меню) может:
PS. Tabax разработан на основе Sidax с огромной помошью AndyD. Последний раз редактировалось belugin; 12.09.2006 в 14:08. Причина: 0.2 |
|
|
За это сообщение автора поблагодарили: mazzy (2), slava (1), denny (1), Yprit (1), twilight (1), oip (4), miklenew (5), alex55 (1), pitersky (1). |
08.09.2006, 09:23 | #2 |
Axapta
|
Спасибо!
Цитата:
Сообщение от belugin
[*]вызывать Оборзеватель Таблиц для текущей открытой формы...
X++: void clicked() { #TreeNodeSysNodeType LastAotSelection selection=new LastAotSelection(); TreeNode selected=selection.first(); SysFormRun formRun; FormDataSource ds; TableID tableID; ; formRun=element.currentFormRun(); //oip --> if (!formRun) //oip <-- formRun=Infolog.setLastActivatedForm().object(); if(formRun && formRun.dataSourceCount()>0) { ds=formRun.dataSource(); tableID=ds.table(); } if(!tableID && selected && selected.sysNodeType()==#NT_DBTABLE) { tableID=tableName2ID(selected.treeNodeName()); } if(tableID) new SysTableBrowser().run(tableID); } |
|
08.09.2006, 10:54 | #3 |
Axapta
|
Еще можно что-нибудь типа этого сделать, чтобы красивее выглядело.
X++: container getImageAndTitle(str _header) { str path; int i, img; boolean startsWith(str _s1, str _s2){ return strScan(_s1, _s2, 1, strLen(_s1))==1; } ; for(i=1;i<=conlen(this.pathes());i++) { [path, img]=conPeek(this.pathes(),i); if(startsWith(_header, path)) { return [imgApp.image(img), strDel(_header, 1, strLen(path))]; } //oip --> if (!path) switch (_header) { case "Репозитарий прикладных объектов": return [imgApp.image(#ImageAOT), _header]; break; case "\\\Projects": return [imgApp.image(#ImageProjects), _header]; break; } //oip <-- } return [0, _header]; } Последний раз редактировалось oip; 08.09.2006 в 14:05. |
|
|
За это сообщение автора поблагодарили: belugin (6). |
08.09.2006, 14:18 | #4 |
Участник
|
Цитата:
Сообщение от belugin
Скачать можно с домашней страницы
Код: container getImageAndTitle(str _header) { str path; int i, img; // >> den(UTX) 08 Сен 2006 #define.headerLength(30) str truncHeader(str _h) { if (strlen (_h) > #headerLength) { _h = strdel (_h, #headerLength, strlen(_h)); _h += "..."; } return _h; } // << den(UTX) 08 Сен 2006 boolean startsWith(str _s1, str _s2){ return strScan(_s1, _s2, 1, strLen(_s1))==1; } ; for(i=1; i<=conlen(this.pathes()); i++) { [path, img]=conPeek(this.pathes(),i); if(startsWith(_header, path)) { // >> den(UTX) 08 Сен 2006 return [imgApp.image(img), truncHeader(strDel(_header, 1, strLen(path)))]; // << den(UTX) 08 Сен 2006 } } // >> den(UTX) 08 Сен 2006 return [0, truncHeader(_header)]; // << den(UTX) 08 Сен 2006 } |
|
08.09.2006, 14:30 | #5 |
Участник
|
>>>соответствующая закладка становится очень длинной
А чем это плохо? Мне кажется хорошо иметь возможность полностью видеть название формы если для этого есть место. PS. В принципе в опере тоже имеются многоточие и даже можно настроить, чтоб они были в середине. |
|
08.09.2006, 14:42 | #6 |
Участник
|
Наверное, не плохо - здесь уж каждый сам решает, но при открытии заказа закладка с текстом "Заказ ЗК000045, Название "ООО АБВГД", Название номенклатуры Шайба резиновая плоская соединитель типа PIN 1ф до 63А" у меня занимает места больше, чем полэкрана. Конечно, при заполнении всей ширины экрана они (закладки) масштабируются (сейчас проверил), но "с обрезкой" мне кажется аккуратней. Как обычно - на вкус и цвет.
Последний раз редактировалось denny; 08.09.2006 в 15:19. |
|
08.09.2006, 14:45 | #7 |
Участник
|
Цитата:
Сообщение от belugin
>>>соответствующая закладка становится очень длинной
А чем это плохо? Мне кажется хорошо иметь возможность полностью видеть название формы если для этого есть место. |
|
08.09.2006, 14:54 | #8 |
Участник
|
Цитата:
Сообщение от Alex_K
Может и неплохо, но у этого есть обратная сторона - если открыто много форм, то названия начинают обрезаться как бог на душу положит, в том числе посередине символа.
|
|
08.09.2006, 15:46 | #9 |
Участник
|
можете загрузить новую версию с настройкой этого дела и еще парой кнопок
|
|
11.09.2006, 18:38 | #10 |
Участник
|
Другими окошками двигаете, то почему бы и этим не подвигать?
В смысле, чтобы сделать dockable - формой эту, если кому хочется ее в стороне держать или снизу, к примеру? Это так, планы на будущее. |
|
12.09.2006, 09:33 | #11 |
Участник
|
она и так dockable, только заголовок окна не показывается. можно показать заголовок и дочить как дуже угодно (свойство дизайна Frame)
|
|
12.09.2006, 09:55 | #12 |
Участник
|
Слева-справа не очень хорошо будет получаться, даже если расположить табы по вертикали
__________________
Axapta v.3.0 sp5 kr2 |
|
12.09.2006, 10:50 | #13 |
Участник
|
Цитата:
Да и снизу тоже не особо - во первых, мешает окну компилятора (приходится, или делиться, или выносить его в окно сообщений, как в 2.5) Так что сверху оптимальный вариант. Вот еще небольшой метод - для удобства. Работаю в Maxthon - очень привык к тому, что можно закрыть закладку по двойному щелчку по ней. Код: public int mouseDblClick(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift) { int ret; FormTabPageControl page; int tabNo; HWND hwnd; ; ret = super(_x, _y, _button, _Ctrl, _Shift); tabNo = element.HitTestTabPage(this); if(tabNo) { page = this.controlNum(tabNo); hwnd = this.pageToHwnd(page); WinAPI::sendMessageEx(hwnd, #WM_SYSCOMMAND, #SC_CLOSE, 0); } return ret; } |
|
|
За это сообщение автора поблагодарили: belugin (6). |
12.09.2006, 11:10 | #14 |
Участник
|
Цитата:
|
|
12.09.2006, 11:23 | #15 |
Участник
|
Я экспериментировал для минимизации занимаемого места (sidax довольно-таки широк).
Все-таки, по-моему, в Axapta'е до недавнего времени ширина была более "уязвимым" местом, чем высота (я про расположение контролов на форме)
__________________
Axapta v.3.0 sp5 kr2 |
|
12.09.2006, 11:25 | #16 |
Участник
|
|
|
12.09.2006, 11:56 | #17 |
Участник
|
Товарищи, добавившие код, напишите себя в credits
|
|
12.09.2006, 12:13 | #18 |
Axapta
|
Написал.
Последний раз редактировалось oip; 12.09.2006 в 12:49. |
|
12.09.2006, 22:00 | #19 |
Участник
|
Если изменить метод clicked у кнопки tableBrowserBut, то таблицы будут открыватся не только непосредственно из //Data Dictionary//Tables
но и из датасорса формы (как стандартный вызов "Обозреватель таблицы" из контекстного меню это делает). Собственно код (закоментировано то, что было раньше): Код: if(!tableID && selected /*&& selected.sysNodeType()==#NT_DBTABLE*/) { // tableID=tableName2ID(selected.treeNodeName()); tableid = SysTableBrowser::treeNode2TableId(selected); } Пару функций - это, например, "Открыть прикладной элемент", "Элемент родитель", "Используемый элемент". Т.е. все то, что доступно в Add-ins -> "Новое окно -> ...". Когда все это на shotcut'ах намного удобнее просматривать таблицы, найти с каким Enum'ом или EDT связано поле секундное дело. Ну и родителя для класса найти несложно, а главное быстро. При желании можно интегрировать две разработки.....было бы время =) |
|
|
За это сообщение автора поблагодарили: belugin (6). |
13.09.2006, 00:00 | #20 |
Administrator
|
А если немного "подпилить" класс SysTableBrowser, метод run()
PHP код:
PHP код:
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 13.09.2006 в 00:03. |
|
|
За это сообщение автора поблагодарили: Logger (3). |
Теги |
tabax, taskbar, toolbar, инструменты, панель задач, панель инструментов, полезное, табакс, тулбар, управление окнами |
|
|