|  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, инструменты, панель задач, панель инструментов, полезное, табакс, тулбар, управление окнами | 
|  | 
| 
 |