Project

General

Profile

LAview-Core » History » Revision 7

Revision 6 (Kolan Sh, 09/11/2014 04:59 PM) → Revision 7/10 (Kolan Sh, 09/11/2014 06:17 PM)

h1. LAview-Core 

 h2. 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 - основной идентификатор объекта документа; 

 h2. LAview-Core Goals 

 h3. Core <-> User Interface 

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

 h3. Core <-> Data Storage Interface 

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

 h3. Core <-> Protocol Plugins 

 Обязанности: 
 * поиск, запуск и работа с плагинами ("TypeModules":https://wiki.gnome.org/Projects/Vala/TypeModules, "TypeModuleSample":https://wiki.gnome.org/Projects/Vala/TypeModuleSample), PATH при загрузке плагина не дополнять ни чем; 
 * посылать запросы и по полученным данным обрабатывать структуру IDoc; 
 * получение от плагина идентификатора типа для идентификации таблиц, рисунков, текстовых запросов ([Throttle2.Manual, MeasTable4.ntk....]). 

 h3. Core <-> LaTeX-Struct 

 Обязанности: 


 h2. Примечания 

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