Project

General

Profile

Actions

LAview-Core

LAview-Core Entities

  • Document Build Directory - директория сборки документа - LyX, LaTeX (включая картинки и прочее);
  • PDF-document - объект в памяти;
  • LyX Template - шаблон протокола в формате .LyX;
  • LaTeX Template - шаблон протокола в формате .TeX;
  • IDoc - дерево документа в памяти;
  • Data Request - любой запрос на данные;
  • Storage Request - запрос на получение данных из Data Storage;
  • Protocol Type - основной идентификатор объекта документа;

LAview-Core Goals

Core <-> User Interface

Responsibilities:
  • выполнять команду "Подготовить протокол";
  • выдавать PDF/DVI/etc - однофайловый результат через буфер в памяти;
  • выдавать объект-директорию (очищается в деструкторе) с результатом LaTeX/LyX для последующего редактирования (включая картинки);

Core <-> Data Storage Interface

Responsibilities:
  • обрабатывать IDoc по полученному от Data Storage рег. выр-ю ReqReg;
  • посылать запрос в Data Storage на получение общего рег. в-я ReqReg для поиска в IDoc запросов.

Core <-> Protocol Plugins

Responsibilities:
  • поиск, запуск и работа с плагинами (TypeModules, TypeModuleSample), PATH при загрузке плагина не дополнять ни чем;
  • посылать запросы и по полученным данным обрабатывать структуру IDoc;
  • получение от плагина идентификатора типа для идентификации таблиц, рисунков, текстовых запросов ([Throttle2.Manual, MeasTable4.ntk....]).

Core <-> LaTeX-Struct

Responsibilities:

Interfaces

MVC Interface

  • метод слепого Лося, бегущего через горящий лес.

Protocol host-Interface

  • выдача данных из Data Storage по запросу;

Data Storage host-Interface

ничего тут не должно быть

Remarks

  • Установка общих библиотек выполняется по общему принципу без разделения по модулям. Т.е., общие expat, post_calc.dll (для пост-расчётов), insys_printf_format.{dll,so} в LAview-Core/bin или в $PREFIX/lib.
  • В задачи плагинов должно выходить сохранение состояния для каждого объекта, идентифицируемого по его типу+набор символов, напр. Throttle[A-Za-z0-9]+.

Updated by Kolan Sh over 9 years ago · 10 revisions

Also available in: PDF HTML TXT