00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef OdinConf_H
00019 #define OdinConf_H
00020
00021 #include <tjutils/tjprocess.h>
00022
00023 #include <odinpara/jdxblock.h>
00024 #include <odinpara/jdxtypes.h>
00025 #include <odinpara/jdxarrays.h>
00026
00028
00029 #define DEFAULT_METH_ROOT "odin-methods"
00030
00032
00033 class QWidget;
00034
00036
00037 struct OdinConf : public JcampDxBlock {
00038
00039 OdinConf(const STD_string& label="unnamedOdinConf", bool ignore_environment = false);
00040
00041 JDXfileName sourcecode;
00042 JDXfileName editor;
00043 JDXfileName browser;
00044 JDXfileName methroot;
00045 JDXfileName smpfile;
00046 JDXfileName protfile;
00047 JDXfileName compiler;
00048 JDXfileName linker;
00049 JDXstring compiler_flags;
00050 JDXstring extra_includes;
00051 JDXstring extra_libs;
00052 JDXstringArr selectedMethods;
00053 JDXbool attachDebugger;
00054
00055 bool init(QWidget* parent);
00056
00057 svector get_method_compile_chain() const;
00058
00059
00060 static STD_string get_binprefix();
00061 static STD_string get_homedir();
00062 static STD_string get_seqexamplesdir();
00063 static STD_string get_samplesdir();
00064 static STD_string get_coilsdir();
00065 static STD_string get_confdir();
00066 static STD_string get_tmpdir();
00067 static STD_string get_manual_location();
00068
00069 bool display_html(const STD_string& location, STD_list<Process>& subprocs);
00070 bool open_ascfile(const STD_string& filename, STD_list<Process>& subprocs);
00071
00072 static STD_string get_installdir();
00073
00074 #ifndef USING_WIN32
00075 static bool start_proc(const STD_string& program, const STD_string& filename, STD_list<Process>& subprocs);
00076 #endif
00077
00078 private:
00079 static STD_string get_registryvalue(const STD_string& keyname, const STD_string& valuename);
00080
00081 static STD_string get_datadir();
00082
00083 static bool ignore_env;
00084 };
00085
00086 #endif