Project

General

Profile

LAview-Core » History » Version 8

Kolan Sh, 09/11/2014 06:25 PM

1 1 Kolan Sh
h1. LAview-Core
2
3 7 Kolan Sh
h2. LAview-Core Entities
4
5
* Document Build Directory - директория сборки документа - LyX, LaTeX (включая картинки и прочее);
6
* PDF-document - объект в памяти;
7
* LyX Template - шаблон протокола в формате .LyX;
8
* LaTeX Template - шаблон протокола в формате .TeX;
9
* IDoc - дерево документа в памяти;
10
* Data Request - любой запрос на данные;
11
* Storage Request - запрос на получение данных из Data Storage;
12
* Protocol Type - основной идентификатор объекта документа;
13
14 1 Kolan Sh
h2. LAview-Core Goals
15
16
h3. Core <-> User Interface
17
18 8 Kolan Sh
Responsibilities:
19 2 Kolan Sh
* выполнять команду "Подготовить протокол";
20
* выдавать PDF/DVI/etc - однофайловый результат через буфер в памяти;
21
* выдавать объект-директорию (очищается в деструкторе) с результатом LaTeX/LyX для последующего редактирования (включая картинки);
22 1 Kolan Sh
23 6 Kolan Sh
h3. Core <-> Data Storage Interface
24 1 Kolan Sh
25 8 Kolan Sh
Responsibilities:
26 3 Kolan Sh
* обрабатывать IDoc по полученному от Data Storage рег. выр-ю ReqReg;
27
* посылать запрос в Data Storage на получение общего рег. в-я ReqReg для поиска в IDoc запросов.
28 1 Kolan Sh
29
h3. Core <-> Protocol Plugins
30
31 8 Kolan Sh
Responsibilities:
32 4 Kolan Sh
* поиск, запуск и работа с плагинами ("TypeModules":https://wiki.gnome.org/Projects/Vala/TypeModules, "TypeModuleSample":https://wiki.gnome.org/Projects/Vala/TypeModuleSample), PATH при загрузке плагина не дополнять ни чем;
33
* посылать запросы и по полученным данным обрабатывать структуру IDoc;
34 1 Kolan Sh
* получение от плагина идентификатора типа для идентификации таблиц, рисунков, текстовых запросов ([Throttle2.Manual, MeasTable4.ntk....]).
35 7 Kolan Sh
36
h3. Core <-> LaTeX-Struct
37 1 Kolan Sh
38 8 Kolan Sh
Responsibilities:
39 7 Kolan Sh
40
41 8 Kolan Sh
h3
42
43
h2. Remarks
44 4 Kolan Sh
45 5 Kolan Sh
* Установка общих библиотек выполняется по общему принципу без разделения по модулям. Т.е., общие expat, post_calc.dll (для пост-расчётов), insys_printf_format.{dll,so} в LAview-Core/bin или в $PREFIX/lib.
46
* В задачи плагинов должно выходить сохранение состояния для каждого объекта, идентифицируемого по его типу+набор символов, напр. Throttle[A-Za-z0-9]+.