Интерфейсы (версия 1.2 бета от 22.05.2004)

Данный документ доступент по следующим адрессам:
http://sourceforge.net/projects/lproject
http://1l.w4b.ru/
Авторство принадлежит:
Copyright © 2004 Дмитрий Павлюк <dmp@myrealbox.com> - Автор  данной модификации
Copyright © 2004 Алексей Диркс

Каждый имеет право воспроизводить, распространять и/или вносить изменения в настоящий документ в соответствии с условиями GNU Free Documentation License, версией 1.2 или любой более поздней версией, опубликованной Free Software Foundation;

Данный документ не содержит неизменяемых разделов, текста, помещаемого на первой странице обложки, и текста, помещаемого на последней странице обложки.

Копия GNU Free Documentation License помещена в файл под названием "GNU_FDL.html".


Содержание

  1. Содержание
  2. История
  3. Благодарности
  4. Введение
  5. Комманды
  6. Меню
  7. Панель кнопок

История

Предедущее название документа - "Формат интерфейсов".
Предедущая версия документа доступка по адресу - http://1c.alterplast.ru/gcomp/.
На данный момент документ, так же будет поддерживаться проектом 1L и доступен с sf.net.

Copyright © 2004 Дмитрий Павлюк <dmp@realbox.com> - Оформление даного документа, в виде HTML файла. И поддержка в проекте 1L.
Copyright © 2004 Алексей Диркс - Написана оригальная версия этого файла, в формате *.TXT.

Благодарности

Спасибо Федору Езееву (проект GComp), за предоставление файла Interfaces.txt, который и является основой данного документа.

Введение


Commands - команды

Заголовок базового интерфейса
    08 00 00 00
    длина описания интерфейса - 1 байт (м.б.0x00)
    Описание интерфейса
    4 байта: 0x00 - меню "операции" присутствует; 0x01 - меню "операции" отключено
    4 байта: 0x01 - использовать при отключенной авторизации
    Количество команд - 4 байта
    [Список команд]

Заголовок подчинённого интерфейса
    08 00 00 00
    длина наименования родительского интерфейса - 1 байт (м.б. 0x00)
    Наименование родительского интерфейса
    4 байта: 0x00 - меню "операции" присутствует; 0x01 - меню "операции" отключено
    4 байта: 0x01 - использовать при отключенной авторизации
    длина описания интерфейса - 1 байт (м.б.0x00)
    Описание интерфейса
    Количество команд - 4 байта
    [Список команд]

Команда основного интерфейса:
    Идентификатор - 4 байт (начинается с 0x0000C000)
    Длина - 1 байт
    Текст (непонятно что это. Для справочников, если не указана
        явно форма списка - <Идентификатор>.Открыть) (м.б. 0)
    Длина подсказки - 1 байт
    Подсказка
    Горячая клавиша - 3 байта
        модификатор - 1 байт (Alt - 0x11, Ctrl - 0x09, Shift - 0x05 и их OR комбинации)
        скан-код - 2 байта
    Длина команды - 1 байт
    Команда (типа Документ.Доверенность.Ввести)
    Длина дополнительного параметра - 1 байт (м.б. 0)
    Доп. параметр (типа <форма списка> или ОткрытьФормуМодально). М.б. несколько
        параметров - тогда они разделяются символом 0x0A ('\n')
    
Команда подчинённого интерфейса:
    Длина команды - 1 байт
    Команда
    Длина дополнительного параметра - 1 байт (м.б. 0)
    Доп. параметр

Page.1 - меню

Заголовок:
    01 00 00 00
    Количество субменю - 4 байта
    [группы меню]

Группа меню:
    FF FF FF FF
    длина текста - 1 байт
    Текст
    количество элементов - 4 байта (причём считаются только элементы - субменю не считаются)
    [элементы и группы меню]

Элемент меню:
    числовой идентификатор элемента в меню - 4 байт. Отсчёт начинается с 0x0000C000
    длина текста - 1 байт
    текст

Разделитель элементов меню:
    00 00 00 00

Page.2 - панели кнопок

Заголовок:
    FD FF FF FF
    Количество панелей - 4 байта
    [список панелей]
    [описания кнопок и разделителей] (количество вычисляется как сумма по всем панелям)
    Количество кнопок с надписями - 4 байта
    [описания кнопок с надписями]
    Количество кнопок с картинками - 4 байта
    [описания кнопок с картинками]
    BMP с образами кнопок (высота - 15, ширина - 16*<количество кнопок>

Панель:
    Длина названия - 1 байт
    Название
    Количество кнопок - 4 байта
    Расположение - 4 байта (0xE81B - сверху, 0xE81C - слева, 0xE81D - справа, 0xE81E - снизу)
    Показывать - 4 байта (0x00 - не показывать, 0x01 - показывать)
    С новой строки - 4 байта (0x00 - на той же строке, 0x01 - с новой строки)
   
Описание кнопки:
    идентификатор кнопки - 4 байта

Описание кнопки с надписью:
    длина надписи - 1 байт
    надпись
    идентификатор кнопки - 4 байта