Documentation updated.
This commit is contained in:
parent
e4a6113c84
commit
0895e89413
|
@ -16,20 +16,41 @@ namespace LAview {
|
|||
* File format converter (lyx, tex, pdf).
|
||||
*/
|
||||
public class Converter : Object {
|
||||
/**
|
||||
* Path to the LyX executable.
|
||||
*/
|
||||
public string lyx_path { get; construct; }
|
||||
|
||||
/**
|
||||
* Path to latexmk.pl executable.
|
||||
*/
|
||||
public string latexmk_pl_path { get; construct; }
|
||||
|
||||
/**
|
||||
* Path to the Perl executable.
|
||||
*/
|
||||
public string perl_path { get; construct; }
|
||||
|
||||
/**
|
||||
* Constructs a new ``Converter``.
|
||||
*/
|
||||
public Converter () { Object(lyx_path: "lyx", latexmk_pl_path: "latexmk", perl_path: "perl"); }
|
||||
|
||||
/**
|
||||
* Constructs a new ``Converter``.
|
||||
* @param lyx_path path to the LyX executable.
|
||||
* @param latexmk_pl_path path to latexmk.pl executable.
|
||||
* @param perl_path path to Perl executable.
|
||||
*/
|
||||
public Converter.new_with_paths (string lyx_path, string latexmk_pl_path, string perl_path) {
|
||||
Object(lyx_path: lyx_path, latexmk_pl_path: latexmk_pl_path, perl_path: perl_path);
|
||||
}
|
||||
|
||||
/**
|
||||
* LyX->TeX conversion.
|
||||
* @param lyx_file path to LyX source.
|
||||
* @param tex_path path to LaTeX output.
|
||||
* @throws Error any conversion error.
|
||||
*/
|
||||
public Subprocess lyx2tex (string lyx_file, string tex_path) throws Error {
|
||||
/* check paths */
|
||||
|
@ -46,6 +67,9 @@ namespace LAview {
|
|||
|
||||
/**
|
||||
* TeX->LyX conversion.
|
||||
* @param tex_file path to LaTeX source.
|
||||
* @param lyx_file_path path to LyX output.
|
||||
* @throws Error any conversion error.
|
||||
*/
|
||||
public Subprocess tex2lyx (string tex_file, string lyx_file_path) throws Error {
|
||||
/* check paths */
|
||||
|
@ -66,6 +90,9 @@ namespace LAview {
|
|||
|
||||
/**
|
||||
* LyX->PDF conversion.
|
||||
* @param lyx_file path to LyX source.
|
||||
* @param pdf_path path to PDF output.
|
||||
* @throws Error any conversion error.
|
||||
*/
|
||||
public Subprocess lyx2pdf (string lyx_file, string pdf_path) throws Error {
|
||||
/* check paths */
|
||||
|
@ -82,6 +109,9 @@ namespace LAview {
|
|||
|
||||
/**
|
||||
* TeX->PDF conversion.
|
||||
* @param tex_file path to LaTeX source.
|
||||
* @param pdf_path path to PDF output.
|
||||
* @throws Error any conversion error.
|
||||
*/
|
||||
public Subprocess tex2pdf (string tex_file, string pdf_path) throws Error {
|
||||
/* check paths */
|
||||
|
|
|
@ -19,6 +19,7 @@ namespace LAview.Core {
|
|||
|
||||
/**
|
||||
* Get data object.
|
||||
* @param name data object name.
|
||||
*/
|
||||
public abstract PluginData get_data_object (string name);
|
||||
}
|
||||
|
@ -61,6 +62,9 @@ namespace LAview.Core {
|
|||
|
||||
/**
|
||||
* Compose the object.
|
||||
* @param parent parent Object/Window.
|
||||
* @param answers answers values.
|
||||
* @throws Error any compose error.
|
||||
*/
|
||||
public abstract bool compose (Object parent, Gee.HashMap<string, AnswerValue> answers) throws Error;
|
||||
|
||||
|
@ -74,31 +78,58 @@ namespace LAview.Core {
|
|||
* Request Answer Value.
|
||||
*/
|
||||
public abstract class AnswerValue : Object {
|
||||
/**
|
||||
* Constructs a new ``AnswerValue``.
|
||||
*/
|
||||
public AnswerValue () { }
|
||||
}
|
||||
|
||||
/**
|
||||
* String.
|
||||
* String Answer.
|
||||
*/
|
||||
public class AnswerString : AnswerValue {
|
||||
/**
|
||||
* String value.
|
||||
*/
|
||||
public string value;
|
||||
|
||||
/**
|
||||
* Constructs a new ``AnswerString``.
|
||||
* @param value string value.
|
||||
*/
|
||||
public AnswerString (string value = "") {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1D Array.
|
||||
* 1D Array Answer.
|
||||
*/
|
||||
public class AnswerArray1D : AnswerValue {
|
||||
/**
|
||||
* Array value.
|
||||
*/
|
||||
public string[] value;
|
||||
|
||||
/**
|
||||
* Constructs a new ``AnswerArray1D``.
|
||||
*/
|
||||
public AnswerArray1D () { }
|
||||
}
|
||||
|
||||
/**
|
||||
* 2D Array;
|
||||
* 2D Array Answer;
|
||||
*/
|
||||
public class AnswerArray2D : AnswerValue {
|
||||
/**
|
||||
* Array value.
|
||||
*/
|
||||
public string[,] value;
|
||||
|
||||
/**
|
||||
* Constructs a new ``AnswerArray1D``.
|
||||
*/
|
||||
public AnswerArray2D () { }
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,21 +1,76 @@
|
|||
/**
|
||||
* System calls.
|
||||
*/
|
||||
namespace Get {
|
||||
/**
|
||||
* Gets library path.
|
||||
* @param so_path out path to shared library.
|
||||
* @param addr initialization method source address.
|
||||
*/
|
||||
extern void library_path (string so_path, void *addr);
|
||||
}
|
||||
|
||||
/**
|
||||
* LaTeX view.
|
||||
*
|
||||
* Public system of data view in the LaTeX format.
|
||||
*/
|
||||
namespace LAview.Core {
|
||||
|
||||
/**
|
||||
* Application directories/paths.
|
||||
*/
|
||||
class AppDirs {
|
||||
|
||||
/**
|
||||
* Shared library path.
|
||||
*/
|
||||
public static File so_path;
|
||||
|
||||
/**
|
||||
* Binary directory.
|
||||
*/
|
||||
public static File exec_dir;
|
||||
|
||||
/**
|
||||
* Common directory (parent to binary and shared).
|
||||
*/
|
||||
public static File common_dir;
|
||||
|
||||
/**
|
||||
* Data Plugins directory.
|
||||
*/
|
||||
public static string data_plugins_dir;
|
||||
|
||||
/**
|
||||
* Object Plugins directory.
|
||||
*/
|
||||
public static string object_plugins_dir;
|
||||
|
||||
/**
|
||||
* User Interface Glade files directory.
|
||||
*/
|
||||
public static string ui_dir;
|
||||
|
||||
/**
|
||||
* Settings/GLib Schemas directory.
|
||||
*/
|
||||
public static string settings_dir;
|
||||
|
||||
/**
|
||||
* Temporary directory.
|
||||
*/
|
||||
public static string temp_dir;
|
||||
|
||||
/**
|
||||
* Cache in temporary directory.
|
||||
*/
|
||||
public static string cache_dir;
|
||||
|
||||
/**
|
||||
* Initialization.
|
||||
* @throws FileError file i/o error.
|
||||
*/
|
||||
public static void init () throws FileError {
|
||||
char _so_path[256];
|
||||
Get.library_path ((string)_so_path, (void*)init);
|
||||
|
@ -36,6 +91,10 @@ namespace LAview.Core {
|
|||
cache_dir = Path.build_path (Path.DIR_SEPARATOR_S, AppDirs.temp_dir, "cache");
|
||||
}
|
||||
|
||||
/**
|
||||
* Termination.
|
||||
* @throws Error any error.
|
||||
*/
|
||||
public static void terminate () throws Error {
|
||||
rm_rf (File.new_for_path(temp_dir));
|
||||
}
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
using GObject, Plugins;
|
||||
|
||||
/**
|
||||
* LaTeX view.
|
||||
*
|
||||
* Public system of data view in the LaTeX format.
|
||||
*/
|
||||
namespace LAview.Core {
|
||||
|
||||
/**
|
||||
|
@ -13,16 +18,25 @@ namespace LAview.Core {
|
|||
|
||||
AppSettings settings;
|
||||
|
||||
/**
|
||||
* Path to LyX source.
|
||||
*/
|
||||
public string lyx_path {
|
||||
get { return settings.lyx_path; }
|
||||
set { settings.lyx_path = value; }
|
||||
}
|
||||
|
||||
/**
|
||||
* Path to latexmk.pl executable.
|
||||
*/
|
||||
public string latexmk_pl_path {
|
||||
get { return settings.latexmk_pl_path; }
|
||||
set { settings.latexmk_pl_path = value; }
|
||||
}
|
||||
|
||||
/**
|
||||
* Path to Perl executable.
|
||||
*/
|
||||
public string perl_path {
|
||||
get { return settings.perl_path; }
|
||||
set { settings.perl_path = value; }
|
||||
|
@ -38,11 +52,19 @@ namespace LAview.Core {
|
|||
set { settings.object_path = value; }
|
||||
}
|
||||
|
||||
/**
|
||||
* Data plugins.
|
||||
*/
|
||||
public Gee.HashMap<Type, PluginData> data_plugins = new Gee.HashMap<Type, PluginData>();
|
||||
|
||||
/**
|
||||
* Object plugins.
|
||||
*/
|
||||
public Gee.HashMap<Type, PluginObject> object_plugins = new Gee.HashMap<Type, PluginObject>();
|
||||
|
||||
/**
|
||||
* Load Data Modules.
|
||||
* @param dir_path directory with data modules.
|
||||
*/
|
||||
public void load_data_modules (string dir_path) {
|
||||
Gee.ArrayList<Plugins.Module> tmp_modules = null;
|
||||
|
@ -59,6 +81,7 @@ namespace LAview.Core {
|
|||
|
||||
/**
|
||||
* Load Protocol Objects Modules.
|
||||
* @param dir_path directory with object modules.
|
||||
*/
|
||||
public void load_object_modules (string dir_path) {
|
||||
Gee.ArrayList<Plugins.Module> tmp_modules = null;
|
||||
|
@ -81,6 +104,10 @@ namespace LAview.Core {
|
|||
GObject.Plugins.unload_modules (object_modules);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new ``Core``.
|
||||
* @throws Error any error.
|
||||
*/
|
||||
public Core () throws Error {
|
||||
|
||||
/* Initialization */
|
||||
|
@ -100,10 +127,16 @@ namespace LAview.Core {
|
|||
clear_cache ();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets cache directory.
|
||||
*/
|
||||
public string get_cache_dir () {
|
||||
return AppDirs.cache_dir;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets templates human readable names.
|
||||
*/
|
||||
public string[] get_templates_readable_names () {
|
||||
string[] names = {};
|
||||
foreach (var t in templates)
|
||||
|
@ -111,10 +144,17 @@ namespace LAview.Core {
|
|||
return names;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets template path by its index.
|
||||
*/
|
||||
public string get_template_path_by_index (int index) {
|
||||
return templates[index].get_path ();
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a new template.
|
||||
* @param path new template path.
|
||||
*/
|
||||
public void add_template (string path) {
|
||||
var file = File.new_for_path (path);
|
||||
if (!file.query_exists() || file.query_file_type(FileQueryInfoFlags.NONE) != FileType.REGULAR)
|
||||
|
@ -131,12 +171,20 @@ namespace LAview.Core {
|
|||
save_templates_list ();
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes template by index.
|
||||
* @param index template index.
|
||||
*/
|
||||
public void remove_template (int index) {
|
||||
if (index < templates.size)
|
||||
templates.remove_at (index);
|
||||
save_templates_list ();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets objects list.
|
||||
* @param template_index template index.
|
||||
*/
|
||||
public string[] get_objects_list (int template_index) throws Error {
|
||||
if (template_index == last_template_index) return objects_list;
|
||||
last_template_index = template_index;
|
||||
|
@ -186,6 +234,11 @@ namespace LAview.Core {
|
|||
return objects_list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Compose/Construct the object.
|
||||
* @param parent parent window.
|
||||
* @param object_index object index.
|
||||
*/
|
||||
public bool compose_object (Object parent, int object_index) throws Error {
|
||||
var cnt = object_index;
|
||||
foreach (var req in requests.entries)
|
||||
|
@ -201,6 +254,10 @@ namespace LAview.Core {
|
|||
return composed_objects[object_index];;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates PDF document.
|
||||
* @throws Error any print error.
|
||||
*/
|
||||
public Subprocess print_document () throws Error {
|
||||
foreach (var c in composed_objects)
|
||||
if (c == false)
|
||||
|
@ -210,6 +267,10 @@ namespace LAview.Core {
|
|||
return converter.tex2pdf (doc_tex_path(), doc_pdf_path());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets out generated LyX document file path.
|
||||
* @throws Error any error.
|
||||
*/
|
||||
public string get_lyx_file_path () throws Error {
|
||||
foreach (var c in composed_objects)
|
||||
if (c == false)
|
||||
|
@ -217,6 +278,10 @@ namespace LAview.Core {
|
|||
return generate_document_lyx();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets out generated PDF document file path.
|
||||
* @throws Error any error.
|
||||
*/
|
||||
public string get_pdf_file_path () throws Error {
|
||||
var pdf_path = Path.build_path (Path.DIR_SEPARATOR_S, AppDirs.cache_dir, "document.pdf");
|
||||
if (!File.new_for_path(pdf_path).query_exists())
|
||||
|
@ -224,6 +289,10 @@ namespace LAview.Core {
|
|||
return pdf_path;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets data object by its name.
|
||||
* @param name data object name.
|
||||
*/
|
||||
public PluginData get_data_object (string name) {
|
||||
return data_plugins2[name];
|
||||
}
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
/**
|
||||
* LaTeX view.
|
||||
*
|
||||
* Public system of data view in the LaTeX format.
|
||||
*/
|
||||
namespace LAview.Core {
|
||||
void rm_rf (File directory) throws Error {
|
||||
var children = directory.enumerate_children ("standard::*",
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
using GObject, Plugins;
|
||||
|
||||
/**
|
||||
* LaTeX view.
|
||||
*
|
||||
* Public system of data view in the LaTeX format.
|
||||
*/
|
||||
namespace LAview.Core {
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue