gephex--main--0.4--patch-1807

[email protected]
Newsgroups gmane.comp.video.gephex.devel
Message-ID <[email protected]>
Archive: [email protected]
New revision: gephex--main--0.4--patch-1807

--
Revision: gephex--main--0.4--patch-1807
Archive: [email protected]
Creator: GePhex <[email protected]>
Date: Mon Oct 18 15:50:26 CEST 2004
Standard-date: 2004-10-18 13:50:26 GMT
Removed-files: qtgui/src/gui/.arch-ids/guiconfig.cpp.id
    qtgui/src/gui/.arch-ids/guiconfig.h.id
    qtgui/src/gui/guiconfig.cpp qtgui/src/gui/guiconfig.h
Renamed-files: engine/src/engine/.arch-ids/engineconfig.cpp.id base/src/utils/.arch-ids/configmanager.cpp.id
    engine/src/engine/.arch-ids/engineconfig.h.id base/src/utils/.arch-ids/configmanager.h.id
    engine/src/engine/engineconfig.cpp base/src/utils/configmanager.cpp
    engine/src/engine/engineconfig.h base/src/utils/configmanager.h
Modified-files: NEWS base/src/utils/Makefile.am
    base/src/utils/configfile.cpp
    base/src/utils/configfile.h
    base/src/utils/configmanager.cpp
    base/src/utils/configmanager.h
    base/src/utils/structreader.cpp
    base/src/utils/structreader.h base/src/utils/utils.dep
    base/src/utils/utils.dsp base/src/utils/utils.mak
    engine/src/engine/Makefile.am
    engine/src/engine/controller.cpp
    engine/src/engine/controller.h
    engine/src/engine/engine.dep
    engine/src/engine/engine.dsp
    engine/src/engine/engine.mak engine/src/engine/main.cpp
    qtgui/src/gui/Makefile.am
    qtgui/src/gui/dialogs/changesdialogimpl.cpp
    qtgui/src/gui/gui.dep qtgui/src/gui/gui.dsp
    qtgui/src/gui/gui.mak qtgui/src/gui/main.cpp
    qtgui/src/gui/vjmainwindow.cpp
    qtgui/src/gui/vjmainwindow.h
New-patches: [email protected]/gephex--georg--0.4--patch-311
    [email protected]/gephex--georg--0.4--patch-312
    [email protected]/gephex--georg--0.4--patch-313
    [email protected]/gephex--georg--0.4--patch-314
    [email protected]/gephex--georg--0.4--patch-315
    [email protected]/gephex--georg--0.4--patch-316
    [email protected]/gephex--georg--0.4--patch-317
    [email protected]/gephex--main--0.4--patch-1807
Summary: add commandline handling to engine and gui
Keywords: 

Patches applied:

 * [email protected]/gephex--georg--0.4--patch-311
   Changed interface of configfile: now takes an open std::istream instead of the input filename

 * [email protected]/gephex--georg--0.4--patch-312
   First version of cmdl handling in engine

 * [email protected]/gephex--georg--0.4--patch-313
   Some refactoring of the new engineconfig code

 * [email protected]/gephex--georg--0.4--patch-314
   Moved engineconfig to base/src/utils/configmanager

 * [email protected]/gephex--georg--0.4--patch-315
   Removed guiconfig (now also uses utils::ConfigManager)

 * [email protected]/gephex--georg--0.4--patch-316
   Updated NEWS and changesdialog

 * [email protected]/gephex--georg--0.4--patch-317
   adapted vs6 build files to new configmanager

* removed files

    qtgui/src/gui/.arch-ids/guiconfig.cpp.id
    qtgui/src/gui/.arch-ids/guiconfig.h.id
    qtgui/src/gui/guiconfig.cpp
    qtgui/src/gui/guiconfig.h

* added files

    {arch}/gephex/gephex--georg/gephex--georg--0.4/[email protected]/patch-log/patch-311
    {arch}/gephex/gephex--georg/gephex--georg--0.4/[email protected]/patch-log/patch-312
    {arch}/gephex/gephex--georg/gephex--georg--0.4/[email protected]/patch-log/patch-313
    {arch}/gephex/gephex--georg/gephex--georg--0.4/[email protected]/patch-log/patch-314
    {arch}/gephex/gephex--georg/gephex--georg--0.4/[email protected]/patch-log/patch-315
    {arch}/gephex/gephex--georg/gephex--georg--0.4/[email protected]/patch-log/patch-316
    {arch}/gephex/gephex--georg/gephex--georg--0.4/[email protected]/patch-log/patch-317
    {arch}/gephex/gephex--main/gephex--main--0.4/[email protected]/patch-log/patch-1807

* renamed files and symlinks

    engine/src/engine/.arch-ids/engineconfig.cpp.id
     => base/src/utils/.arch-ids/configmanager.cpp.id

    engine/src/engine/.arch-ids/engineconfig.h.id
     => base/src/utils/.arch-ids/configmanager.h.id

    engine/src/engine/engineconfig.cpp
     => base/src/utils/configmanager.cpp

    engine/src/engine/engineconfig.h
     => base/src/utils/configmanager.h

* file metadata changed

    ./base/src/utils/utils.dep
        --permissions 755
        => --permissions 644
    ./engine/src/engine/engine.dep
        --permissions 755
        => --permissions 644
    ./qtgui/src/gui/gui.dep
        --permissions 755
        => --permissions 644

* modified files

--- orig/NEWS
+++ mod/NEWS
@@ -9,8 +9,9 @@
      * displacement module
      * chroma key module
      * noise module
-     * yuv4mpeg2 output module
-     * ffmpeg output module
+     * yuv4mpeg2 output module (experimental)
+     * yuv4mpeg2 input module  (experimental)
+     * ffmpeg output module    (experimental)
 
   * updated modules:
      * audioadd module   : translated property names to english
@@ -22,6 +23,8 @@
      * rotozoom module   : added mirror-mode
      * tunnel module     : fixed cylindrical mapping, removed some artifacts
 
+  * added command line parameter support to engine and gui (now all parameters
+    in gephex.conf can be overriden on the command line)
  
   * replaced most inline assembler code with external nasm
     assembler files


--- orig/base/src/utils/Makefile.am
+++ mod/base/src/utils/Makefile.am
@@ -12,6 +12,7 @@
 	bufferutils.cpp \
 	circularbuffer.cpp \
 	configfile.cpp \
+	configmanager.cpp \
 	filesystem.cpp \
 	itokenizer.cpp \
 	sharedlibrary.cpp \
@@ -33,6 +34,7 @@
 	bufferutils.h \
 	circularbuffer.h \
 	configfile.h \
+	configmanager.h \
 	filesystem.h \
 	ilogger.h \
 	istructtokenlistener.h \


--- orig/base/src/utils/configfile.cpp
+++ mod/base/src/utils/configfile.cpp
@@ -67,13 +67,9 @@
     return l;
   }
 
-  ConfigFile::ConfigFile(const std::string& file_name)
+  ConfigFile::ConfigFile(std::istream& config_stream)
   {
-    std::ifstream file(file_name.c_str());
-    if (!file)
-      throw std::invalid_argument("Could not open config file");
-
-    StructList structs = divide_structs(file);
+    StructList structs = divide_structs(config_stream);
     
     for (StructList::const_iterator it = structs.begin();
 	 it != structs.end(); ++it)
@@ -83,7 +79,7 @@
 
 	if (m_sections.count(name) != 0)
 	  {
-	    throw std::invalid_argument("Duplicate section in config file");
+	    throw std::invalid_argument("Duplicate section in config");
 	  }
 
 	m_sections.insert(std::make_pair(name, new_reader));
@@ -91,6 +87,10 @@
     
   }
 
+  ConfigFile::~ConfigFile()
+  {
+  }
+
   const StructReader& ConfigFile::get_section(const std::string& section_name)
   {
     SectionMap::iterator it = m_sections.find(section_name);


--- orig/base/src/utils/configfile.h
+++ mod/base/src/utils/configfile.h
@@ -26,6 +26,8 @@
 #include <string>
 #include <map>
 
+#include <iosfwd>
+
 #include "autoptr.h"
 
 namespace utils
@@ -43,11 +45,13 @@
   public:
     /**
      * 
-     * \param file_name the name of the config file
-     * 	hrows std::invalid_argument if file_name can't be opened or
-     *  parsed
+     * \param config_stream a stream that contains the config
+     *
+     * 	hrow std::invalid_argument if parsing the stream fails
      */
-    ConfigFile(const std::string& file_name);
+    ConfigFile(std::istream& config_stream);
+
+    ~ConfigFile();
 
     /**
      * Returns one section of the config file.


--- orig/engine/src/engine/engineconfig.cpp
+++ mod/base/src/utils/configmanager.cpp
@@ -20,112 +20,315 @@
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.*/
 
-#include "engineconfig.h"
-
-#if defined(HAVE_CONFIG_H)
-#include "config.h"
-#endif
+#include "configmanager.h"
 
 #include <fstream>
-#include <sstream>
 #include <iostream>
-#include <cstdlib>
-#include <cstdio>
+#include <sstream>
 
-#if defined(OS_WIN32)
-#include <windows.h>
-#endif
-
-#include "utils/configfile.h"
-#include "utils/structreader.h"
-#include "utils/filesystem.h"
-#include "utils/autoptr.h"
+#include "configfile.h"
+#include "structreader.h"
 
-namespace engine
+namespace utils
 {
 
-  static std::string get_cfile_name()
+  static void dump(const ConfigManager& c, std::ostream& s,
+                   const ConfigManager::ParamList& params)
+  {
+    for (ConfigManager::ParamList::const_iterator it = params.begin();
+         it != params.end(); ++it)
+      {
+        s << "  " << it->m_name << "	= ";
+
+        if (it->m_type == config_param_t::BOOL_PARAM)
+          s << c.get_bool_param(it->m_name);
+        else if (it->m_type == config_param_t::INT_PARAM)
+          s << c.get_int_param(it->m_name);
+        else if (it->m_type == config_param_t::STRING_PARAM)
+          s << c.get_string_param(it->m_name);
+
+        s << "
";
+      }
+  }
+
+  static void print_param_value(std::ostream& s,
+                                config_param_t::ParamValue val,
+                                config_param_t::ParamType type)
+  {
+    switch(type)
+      {
+      case config_param_t::BOOL_PARAM:   s << val.b; break;
+      case config_param_t::INT_PARAM:    s << val.i; break;
+      case config_param_t::STRING_PARAM: s << val.s; break;
+      }
+  }
+
+  static void print_help(const std::string& my_name,
+                         const ConfigManager::ParamList& params)
+  {
+    std::cout << "Usage: " << my_name << " [options]
"
+              << "The allowed options are:
";
+
+    for (ConfigManager::ParamList::const_iterator it = params.begin();
+         it != params.end(); ++it)
+      {
+        std::cout << "  --" << it->m_name << "	"
+                  << it->m_description << "
";
+
+        if (!it->m_required)
+          {
+            std::cout << "			default=[";
+            print_param_value(std::cout, it->m_default, it->m_type);
+            std::cout << "]
";
+          }
+        
+      }
+  }
+
+  static void check_type(const utils::StructReader& sr,
+                         const std::string& name,
+                         config_param_t::ParamType type)
+  {
+    switch (type)
+      {
+      case config_param_t::BOOL_PARAM:
+        sr.getBoolValue(name);  break;
+      case config_param_t::INT_PARAM:
+        sr.getIntValue(name);  break;
+      case config_param_t::STRING_PARAM:
+        sr.getStringValue(name);  break;
+      }
+  }
+
+  static void check_cf_file(const ConfigManager::ParamList& params,
+                            ConfigManager::ConfigFilePtr cf)
+  {
+    for (ConfigManager::ParamList::const_iterator it = params.begin();
+         it != params.end(); ++it)
+      {
+        const config_param_t& current = *it;
+
+        const utils::StructReader& sr = cf->get_section(current.m_section);
+        
+        if (current.m_required || sr.has_value(current.m_name))
+          check_type(sr, current.m_name, current.m_type);
+      }
+  }
+
+
+  static bool is_help(const std::string& arg)
+  {
+    return arg == "--help" || arg == "-h";
+  }
+  
+  static bool is_param(const std::string& arg)
+  {
+    if (arg.length() < 3)
+      return false;
+
+    if (!(arg[0] == '-' && arg[1] == '-'))
+      return false;
+
+    if (arg.find('=') == std::string::npos)
+      return false;
+
+    return true;
+  }
+
+  static void create_cmdl_config(std::ostream& os,
+                                 const ConfigManager::ParamList& params,
+                                 int argc, const char* argv[])
+  {
+    os << "cmdl {
";
+
+    for (int i = 1; i < argc; ++i)
+      {
+        std::string arg = argv[i];
+
+        if (is_help(arg))
+          {
+            print_help(argv[0], params);
+            throw std::runtime_error("No error");
+          }
+        else if (is_param(arg))
+          os << arg.substr(2) << "
"; // strip leading "--"
+        else
+          {
+            std::cerr << "Invalid argument: '" << arg << "'
";
+            print_help(argv[0], params);
+            throw std::runtime_error("No error");
+          }
+      }
+    
+    os << "}";
+  }
+
+  static void check_cf_cmdl(const ConfigManager::ParamList& /*params*/,
+                            ConfigManager::ConfigFilePtr cf,
+                            const ConfigManager::CPMap& cpm)
   {
-#if defined(OS_WIN32)
-    return "../gephex.conf";
-#elif defined(OS_POSIX)
-    const char* HOME_STR = getenv("HOME");
+    const utils::StructReader& sr = cf->get_section("cmdl");
+    const utils::StructReader::ConfigMap& m = sr.getMap();
 
-    if (HOME_STR == 0)
-      throw std::runtime_error("Could not read $HOME");
+    for (utils::StructReader::ConfigMap::const_iterator it = m.begin();
+         it != m.end(); ++it)
+      {
+        std::string param_name  = it->first;
 
-    return std::string(HOME_STR) + "/.gephex/0.4/gephex.conf";
-#endif
+        ConfigManager::CPMap::const_iterator cit = cpm.find(param_name);
+
+        if (cit == cpm.end())
+          throw std::runtime_error("Unknown cmdl parameter: '--'"
+                                   + param_name);
+
+        check_type(sr, param_name, cit->second.m_type);
+      }
   }
 
-  static void dump(const EngineConfig& c, std::ostream& s)
+  config_param_t::config_param_t(const std::string& name, ParamType type,
+                                 const std::string& section,
+                                 const std::string& description,
+                                 ParamValue* def)
+    : m_name(name), m_type(type), m_section(section),
+      m_description(description), m_required(def == 0)
   {
-    s << "media_path           = " << c.media_path << "
";
-    s << "graph_path           = " << c.graph_path << "
";
-    s << "ipc_type             = " << c.ipcType << "
";
-    s << "ipc_unix_node_prefix = " << c.ipcUnixNodePrefix << "
";
-    s << "module_path          = " << c.module_path << "
";
-    s << "type_path            = " << c.type_path << "
";
-    s << "renderer_interval    = " << c.rendererInterval << "
";
-    s << "net_interval         = " << c.netInterval << "
";
-    s << "ipc_port             = " << c.port << "
";
-    s << "headless             = " << c.headless << "
";
-    s << "autostart            = " << c.autostart << "
";
-    s << "render_graph_id      = " << c.render_graph_id << "
";
-    s << "render_snap_id       = " << c.render_snap_id << "
";
+    if (def)
+      m_default = *def;
   }
 
-  EngineConfig::EngineConfig()
+  ConfigManager::ConfigManager(const std::string& cfile_name,
+                             int argc, const char* argv[],
+                             const ParamList& params)
+    : m_params(params), m_cf_file(0), m_cf_cmdl(0)
   {
-    std::string cfile_name = get_cfile_name();
+    for (ConfigManager::ParamList::const_iterator it = params.begin();
+         it != params.end(); ++it)
+      {
+        if (m_cpm.count(it->m_name) != 0)
+          throw std::runtime_error("Duplicate parameter name: '" +
+                                   it->m_name + "'");
+
+        m_cpm.insert(std::make_pair(it->m_name, *it));
+      }
+
     try
       {
-        //	std::cout << "c started
";
-        //	std::cout << "got fname: " << cfile_name << "
";
-        utils::ConfigFile cf(cfile_name);
-        //	std::cout << "created cf " << "
";
-
-	const utils::StructReader& common = cf.get_section("common");
-	const utils::StructReader& engine = cf.get_section("engine");
-	
-        //	std::cout << "querying... " << "
";
-        graph_path        = engine.getStringValue("graph_path");
-        ipcType           = engine.getStringValue("ipc_type","inet");
-        ipcUnixNodePrefix = engine.getStringValue("ipc_unix_node_prefix",
-						  "/tmp/gephex_socket");
-        module_path       = engine.getStringValue("module_path");
-        type_path         = engine.getStringValue("type_path");
-        rendererInterval  = engine.getIntValue("renderer_interval", 35);
-        netInterval       = engine.getIntValue("net_interval", 35);
-        port              = engine.getIntValue("ipc_port", 666);
-        headless          = engine.getIntValue("headless", 0);
-        autostart         = engine.getIntValue("autostart", 0);
-	render_graph_id = engine.getStringValue("render_graph_id","_default_");
-	render_snap_id  = engine.getStringValue("render_snap_id","_default_");
-
-	media_path        = common.getStringValue("media_path");
-
-	// This is a hack to communicate the media path to
-	// loaded modules.
-	static const char* GEPHEX_MEDIA_PATH = "GEPHEX_MEDIA_PATH";
-#if defined(OS_POSIX)
-	setenv(GEPHEX_MEDIA_PATH, media_path.c_str(), 1);
-#elif defined(OS_WIN32)
-	BOOL ret = SetEnvironmentVariable(GEPHEX_MEDIA_PATH,
-									  media_path.c_str());
-	if (ret == 0)
-		throw std::runtime_error("Could not set GEPHEX_MEDIA_PATH");
-#endif
-
-#if (ENGINE_VERBOSITY > 0)
-        dump(*this, std::cout);
-#endif
+        std::ifstream cfile(cfile_name.c_str());
+
+        //        std::cout << "c started
";
+        //        std::cout << "got fname: " << cfile_name << "
";
+        m_cf_file = ConfigFilePtr(new utils::ConfigFile(cfile));
+        //        std::cout << "created cf " << "
";
+               
+        check_cf_file(m_params, m_cf_file);
+
+        //        std::cout << "processing cmdl...
";
+        std::ostringstream ccmdl;
+        create_cmdl_config(ccmdl, m_params, argc, argv);
+
+        std::istringstream ccmdl_is(ccmdl.str().c_str());
+
+        m_cf_cmdl = ConfigFilePtr(new utils::ConfigFile(ccmdl_is));
+
+        check_cf_cmdl(m_params, m_cf_cmdl, m_cpm);
+
+        //#if (ENGINE_VERBOSITY > 0)
+        dump(*this, std::cout, m_params);
+        //#endif
       }
     catch (std::exception& e)
       {
         std::ostringstream os;
-        os << cfile_name << " contains errors:
" << e.what();
+        os << "error while processing '" << cfile_name << "':
" << e.what();
         throw std::runtime_error(os.str().c_str());
       }
+
+    //    std::cout << "c done
";
+  }
+
+  ConfigManager::ConfigManager(const ConfigManager& c)
+    : m_params(c.m_params), m_cf_file(c.m_cf_file), m_cf_cmdl(c.m_cf_cmdl),
+      m_cpm(c.m_cpm)
+  {
+  }
+
+  ConfigManager::~ConfigManager()
+  {
+  }
+
+  bool ConfigManager::get_bool_param(const std::string& param_name) const
+  {
+    CPMap::const_iterator it = m_cpm.find(param_name);
+    if (it == m_cpm.end())
+      throw std::runtime_error("Invalid param '" + param_name + "'");
+
+    if (it->second.m_type != config_param_t::BOOL_PARAM)
+      throw std::runtime_error("Param '" + param_name + "' is not a bool");
+
+    const utils::StructReader& cmdl   = m_cf_cmdl->get_section("cmdl");
+
+    if (cmdl.has_value(param_name))
+      return cmdl.getBoolValue(param_name);
+    else 
+      {
+        std::string section = it->second.m_section;
+        const utils::StructReader& sr = m_cf_file->get_section(section);
+
+        if (it->second.m_required)
+          return sr.getBoolValue(param_name);
+        else
+          return sr.getBoolValue(param_name, it->second.m_default.b);
+      }
+  }
+
+  int ConfigManager::get_int_param(const std::string& param_name) const
+  {
+    CPMap::const_iterator it = m_cpm.find(param_name);
+    if (it == m_cpm.end())
+      throw std::runtime_error("Invalid param '" + param_name + "'");
+
+    if (it->second.m_type != config_param_t::INT_PARAM)
+      throw std::runtime_error("Param '" + param_name + "' is not an int");
+
+    const utils::StructReader& cmdl   = m_cf_cmdl->get_section("cmdl");
+
+    if (cmdl.has_value(param_name))
+      return cmdl.getIntValue(param_name);
+    else 
+      {
+        std::string section = it->second.m_section;
+        const utils::StructReader& sr = m_cf_file->get_section(section);
+
+        if (it->second.m_required)
+          return sr.getIntValue(param_name);
+        else
+          return sr.getIntValue(param_name, it->second.m_default.i);
+      }
+  }
+
+  std::string ConfigManager::get_string_param(const std::string& param_name)
+    const
+  {
+    CPMap::const_iterator it = m_cpm.find(param_name);
+    if (it == m_cpm.end())
+      throw std::runtime_error("Invalid param '" + param_name + "'");
+
+    if (it->second.m_type != config_param_t::STRING_PARAM)
+      throw std::runtime_error("Param '" + param_name + "' is not a string");
+
+    const utils::StructReader& cmdl   = m_cf_cmdl->get_section("cmdl");
+
+    if (cmdl.has_value(param_name))
+      return cmdl.getStringValue(param_name);
+    else 
+      {
+        std::string section = it->second.m_section;
+        const utils::StructReader& sr = m_cf_file->get_section(section);
+
+        if (it->second.m_required)
+          return sr.getStringValue(param_name);
+        else
+          return sr.getStringValue(param_name, it->second.m_default.s);
+      }
   }
 }


--- orig/engine/src/engine/engineconfig.h
+++ mod/base/src/utils/configmanager.h
@@ -20,30 +20,67 @@
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.*/
 
-#ifndef INCLUDED_ENGINECONFIG_H
-#define INCLUDED_ENGINECONFIG_H
+#ifndef INCLUDED_CONFIGMANAGER_H
+#define INCLUDED_CONFIGMANAGER_H
 
 #include <string>
+#include <list>
+#include <map>
 
-namespace engine
+#include "autoptr.h"
+
+
+//#include "utils/configfile.h"
+namespace utils
 {
-  class EngineConfig
+  class ConfigFile;
+
+  struct config_param_t
+  {
+    enum ParamType {BOOL_PARAM, INT_PARAM, STRING_PARAM };
+
+    union ParamValue { bool b; int i; const char* s; };
+
+    config_param_t(const std::string& name,
+                   ParamType type,
+                   const std::string& section,
+                   const std::string& description,
+                   ParamValue* def);
+
+    std::string m_name;
+    ParamType   m_type;
+    std::string m_section;
+    std::string m_description;
+
+    bool        m_required;
+    ParamValue  m_default;
+  };
+
+  class ConfigManager
     {    
     public:
-      EngineConfig();
-      std::string media_path;
-      std::string graph_path;
-      std::string ipcType;
-      std::string ipcUnixNodePrefix;
-      std::string module_path;
-      std::string type_path;
-      int rendererInterval;
-      int netInterval;      
-      int port;
-      bool headless;
-      bool autostart;
-      std::string render_graph_id;
-      std::string render_snap_id;
+      typedef std::list<config_param_t> ParamList;
+      typedef utils::AutoPtr<utils::ConfigFile> ConfigFilePtr;
+      typedef std::map<std::string, config_param_t> CPMap;
+
+      ConfigManager(const std::string& cfile_name,
+                   int argc, const char* argv[],
+                   const ParamList& params);
+
+      ConfigManager(const ConfigManager& c);
+
+      ~ConfigManager();
+
+      bool        get_bool_param(const std::string& param_name)   const;
+      int         get_int_param(const std::string& param_name)    const;
+      std::string get_string_param(const std::string& param_name) const;
+
+    private:
+      ParamList m_params;
+      ConfigFilePtr m_cf_file;
+      ConfigFilePtr m_cf_cmdl;
+
+      CPMap m_cpm;
     };
 }
 


--- orig/base/src/utils/structreader.cpp
+++ mod/base/src/utils/structreader.cpp
@@ -252,4 +252,9 @@
 	out.flush();
 }
 
+bool StructReader::has_value(const std::string& name) const
+{
+  return m_values.count(name) > 0;
+}
+
 } // end of namespace utils


--- orig/base/src/utils/structreader.h
+++ mod/base/src/utils/structreader.h
@@ -48,7 +48,8 @@
  * Variable mit StructReader::getBoolValue("v1") auszulesen. Dann
  * erhaelt man als Ergebnis den boolschen Wert true.
  * Genauso kann man Zahlen auch als Strings auslesen.
- * Man kann jedoch nicht Zahlen als Bools bzw. Bools als Zahlen lesen.
+ * Man kann jedoch nicht Zahlen als Bools bzw. Bools als Zahlen lesen
+ * und auch nicht alle Strings als Zahlen/Bools.
  */
 class StructReader
 {
@@ -162,6 +163,8 @@
 
   void serialize(std::ostream&) const;
 
+  bool has_value(const std::string& name) const;
+
  private:
   ConfigMap m_values;
   std::string m_name;


--- orig/base/src/utils/utils.dep
+++ mod/base/src/utils/utils.dep
@@ -1,7 +1,6 @@
 # Microsoft Developer Studio erstellte Abhängigkeitsdatei, einbezogen von utils.mak
 
 .uffer.cpp : \
-	"..\..\..onfig.h"\
 	".uffer.h"\
 	
 
@@ -27,8 +26,15 @@
 	".\structreader.h"\
 	
 
+.onfigmanager.cpp : \
+	".utoptr.h"\
+	".onfigfile.h"\
+	".onfigmanager.h"\
+	".\structreader.h"\
+	
+
 .ilesystem.cpp : \
-	"..\..\..onfig.h"\
+	"..\..\..\util\includeompatibility\unistd.h"\
 	".ilesystem.h"\
 	
 
@@ -37,14 +43,11 @@
 	
 
 .\sharedlibrary.cpp : \
-	"..\..\..\..\..\dxsdk\includeasetsd.h"\
-	"..\..\..onfig.h"\
 	".\sharedlibrary.h"\
 	
 
 .\spawn.cpp : \
-	"..\..\..\..\..\dxsdk\includeasetsd.h"\
-	"..\..\..onfig.h"\
+	"..\..\..\util\includeompatibility\unistd.h"\
 	".\spawn.h"\
 	
 
@@ -82,8 +85,6 @@
 	
 
 .	iming.cpp : \
-	"..\..\..\..\..\dxsdk\includeasetsd.h"\
-	"..\..\..onfig.h"\
 	".	iming.h"\
 	
 


--- orig/base/src/utils/utils.dsp
+++ mod/base/src/utils/utils.dsp
@@ -5,17 +5,17 @@
 # TARGTYPE "Win32 (x86) Static Library" 0x0104
 
 CFG=utils - Win32 Debug
-!MESSAGE Dies ist kein gltiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
-!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und fhren Sie den Befehl
+!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
+!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
 !MESSAGE 
 !MESSAGE NMAKE /f "utils.mak".
 !MESSAGE 
-!MESSAGE Sie k”nnen beim Ausfhren von NMAKE eine Konfiguration angeben
+!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
 !MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
 !MESSAGE 
 !MESSAGE NMAKE /f "utils.mak" CFG="utils - Win32 Debug"
 !MESSAGE 
-!MESSAGE Fr die Konfiguration stehen zur Auswahl:
+!MESSAGE Für die Konfiguration stehen zur Auswahl:
 !MESSAGE 
 !MESSAGE "utils - Win32 Release" (basierend auf  "Win32 (x86) Static Library")
 !MESSAGE "utils - Win32 Debug" (basierend auf  "Win32 (x86) Static Library")
@@ -107,6 +107,10 @@
 # End Source File
 # Begin Source File
 
+SOURCE=.onfigmanager.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.ilesystem.cpp
 # End Source File
 # Begin Source File
@@ -183,6 +187,10 @@
 # End Source File
 # Begin Source File
 
+SOURCE=.onfigmanager.h
+# End Source File
+# Begin Source File
+
 SOURCE=.ilesystem.h
 # End Source File
 # Begin Source File


--- orig/base/src/utils/utils.mak
+++ mod/base/src/utils/utils.mak
@@ -25,6 +25,9 @@
 NULL=nul
 !ENDIF 
 
+CPP=cl.exe
+RSC=rc.exe
+
 !IF  "$(CFG)" == "utils - Win32 Release"
 
 OUTDIR=.\../../lib
@@ -33,7 +36,7 @@
 OutDir=.\../../lib
 # End Custom Macros
 
-ALL : "$(OUTDIR)\utils.lib"
+ALL : "..\..\..onfig.h" "$(OUTDIR)\utils.lib"
 
 
 CLEAN :
@@ -42,6 +45,7 @@
 	-@erase "$(INTDIR)ufferutils.obj"
 	-@erase "$(INTDIR)ircularbuffer.obj"
 	-@erase "$(INTDIR)onfigfile.obj"
+	-@erase "$(INTDIR)onfigmanager.obj"
 	-@erase "$(INTDIR)ilesystem.obj"
 	-@erase "$(INTDIR)\itokenizer.obj"
 	-@erase "$(INTDIR)\sharedlibrary.obj"
@@ -56,6 +60,7 @@
 	-@erase "$(INTDIR)c60.idb"
 	-@erase "$(INTDIR)\xmlutils.obj"
 	-@erase "$(OUTDIR)\utils.lib"
+	-@erase "..\..\..onfig.h"
 
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -63,40 +68,7 @@
 "$(INTDIR)" :
     if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
 
-CPP=cl.exe
 CPP_PROJ=/nologo /G6 /MD /w /W0 /GR /GX /O2 /Ob2 /I "../../../" /I "../../../util/include/compatibility" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /Fp"$(INTDIR)\utils.pch" /YX /Fo"$(INTDIR)\" /Fd"$(INTDIR)\" /FD /c 
-
-.c{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.c{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-RSC=rc.exe
 BSC32=bscmake.exe
 BSC32_FLAGS=/nologo /o"$(OUTDIR)\utils.bsc" 
 BSC32_SBRS= \
@@ -120,7 +92,8 @@
 	"$(INTDIR)\structreader.obj" \
 	"$(INTDIR)\structscanner.obj" \
 	"$(INTDIR)	iming.obj" \
-	"$(INTDIR)\xmlutils.obj"
+	"$(INTDIR)\xmlutils.obj" \
+	"$(INTDIR)onfigmanager.obj"
 
 "$(OUTDIR)\utils.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
     $(LIB32) @<<
@@ -135,7 +108,7 @@
 OutDir=.\../../lib
 # End Custom Macros
 
-ALL : "..\..\..onfig.h" "$(OUTDIR)\utils.lib"
+ALL : "$(OUTDIR)\utils.lib"
 
 
 CLEAN :
@@ -144,6 +117,7 @@
 	-@erase "$(INTDIR)ufferutils.obj"
 	-@erase "$(INTDIR)ircularbuffer.obj"
 	-@erase "$(INTDIR)onfigfile.obj"
+	-@erase "$(INTDIR)onfigmanager.obj"
 	-@erase "$(INTDIR)ilesystem.obj"
 	-@erase "$(INTDIR)\itokenizer.obj"
 	-@erase "$(INTDIR)\sharedlibrary.obj"
@@ -159,7 +133,6 @@
 	-@erase "$(INTDIR)c60.pdb"
 	-@erase "$(INTDIR)\xmlutils.obj"
 	-@erase "$(OUTDIR)\utils.lib"
-	-@erase "..\..\..onfig.h"
 
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -167,40 +140,7 @@
 "$(INTDIR)" :
     if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
 
-CPP=cl.exe
 CPP_PROJ=/nologo /G6 /MTd /w /W0 /Gm /GX /ZI /Od /I "../../../" /I "../../../util/include/compatibility" /D "WIN32" /D "_DEBUG" /D for="if (0) {} else for" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /Fo"$(INTDIR)\" /Fd"$(INTDIR)\" /FD /GZ /c 
-
-.c{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.c{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-RSC=rc.exe
 BSC32=bscmake.exe
 BSC32_FLAGS=/nologo /o"$(OUTDIR)\utils.bsc" 
 BSC32_SBRS= \
@@ -224,7 +164,8 @@
 	"$(INTDIR)\structreader.obj" \
 	"$(INTDIR)\structscanner.obj" \
 	"$(INTDIR)	iming.obj" \
-	"$(INTDIR)\xmlutils.obj"
+	"$(INTDIR)\xmlutils.obj" \
+	"$(INTDIR)onfigmanager.obj"
 
 "$(OUTDIR)\utils.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
     $(LIB32) @<<
@@ -233,6 +174,36 @@
 
 !ENDIF 
 
+.c{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.c{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
 
 !IF "$(NO_EXTERNAL_DEPS)" != "1"
 !IF EXISTS("utils.dep")
@@ -246,7 +217,7 @@
 !IF "$(CFG)" == "utils - Win32 Release" || "$(CFG)" == "utils - Win32 Debug"
 SOURCE=.uffer.cpp
 
-"$(INTDIR)uffer.obj" : $(SOURCE) "$(INTDIR)" "..\..\..onfig.h"
+"$(INTDIR)uffer.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.ufferstream.cpp
@@ -269,9 +240,14 @@
 "$(INTDIR)onfigfile.obj" : $(SOURCE) "$(INTDIR)"
 
 
+SOURCE=.onfigmanager.cpp
+
+"$(INTDIR)onfigmanager.obj" : $(SOURCE) "$(INTDIR)"
+
+
 SOURCE=.ilesystem.cpp
 
-"$(INTDIR)ilesystem.obj" : $(SOURCE) "$(INTDIR)" "..\..\..onfig.h"
+"$(INTDIR)ilesystem.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\itokenizer.cpp
@@ -281,12 +257,12 @@
 
 SOURCE=.\sharedlibrary.cpp
 
-"$(INTDIR)\sharedlibrary.obj" : $(SOURCE) "$(INTDIR)" "..\..\..onfig.h"
+"$(INTDIR)\sharedlibrary.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\spawn.cpp
 
-"$(INTDIR)\spawn.obj" : $(SOURCE) "$(INTDIR)" "..\..\..onfig.h"
+"$(INTDIR)\spawn.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\streamlogger.cpp
@@ -321,7 +297,7 @@
 
 SOURCE=.	iming.cpp
 
-"$(INTDIR)	iming.obj" : $(SOURCE) "$(INTDIR)" "..\..\..onfig.h"
+"$(INTDIR)	iming.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\xmlutils.cpp


--- orig/engine/src/engine/Makefile.am
+++ mod/engine/src/engine/Makefile.am
@@ -35,8 +35,6 @@
 	netlogger.cpp \
 	netlogger.h \
 	scheduler.h \
-	engineconfig.cpp \
-	engineconfig.h \
 	controller.h \
 	controller.cpp \
         bufferedsender.h \


--- orig/engine/src/engine/controller.cpp
+++ mod/engine/src/engine/controller.cpp
@@ -152,10 +152,10 @@
     portDispatcher.registerListener(port, commandTagger);
   }
   
-  Controller::Controller(const EngineConfig& config_)
+  Controller::Controller(const utils::ConfigManager& config_)
     : config(config_),
       m_finished(false),
-      m_port(config.port),
+      m_port(config.get_int_param("ipc_port")),
       tagger1(modelControlSender),      
       tagger2(rendererControlSender),        
       tagger3(engineControlSender),
@@ -178,6 +178,7 @@
       moduleReceiver(tagger1),
       moduleClassInfoReceiver(tagger2),
       moduleDataReceiver(tagger3),
+      graphDataReceiver(tagger15),
       controlValueReceiver(tagger4),
       moduleStatisticsReceiver(tagger5),
       moduleClassNameReceiver(tagger6),
@@ -187,11 +188,10 @@
 
       modelStatusReceiver(tagger13),
       rendererStatusReceiver(tagger14),
-      graphDataReceiver(tagger15),
 
       logger(new engine::NetLogger(errorReceiver)),
 
-      pModel(config.graph_path, logger),
+      pModel(config.get_string_param("graph_path"), logger),
       pRenderer(logger),
       pDllLoader(logger),
       first_time(true)
@@ -199,7 +199,7 @@
     
     net::IServerSocket* serverSocket;
 
-    std::string ipcType = config.ipcType;
+    std::string ipcType = config.get_string_param("ipc_type");
     
     if (ipcType == "inet")
       {
@@ -213,7 +213,7 @@
     else if (ipcType == "unix")
       {
 	std::string nodePrefix 
-	  = config.ipcUnixNodePrefix;
+	  = config.get_string_param("ipc_unix_node_prefix");
 							 
 #if (ENGINE_VERBOSITY > 0)
 	std::cout << "IPC type: unix" << std::endl;
@@ -284,7 +284,7 @@
 
     sf = utils::AutoPtr<AutoTypeLoader>(new AutoTypeLoader(pDllLoader));
 
-    if (config.headless)
+    if (config.get_bool_param("headless"))
       {
 	aml=utils::AutoPtr<AutoModuleLoader>(new AutoModuleLoader(pDllLoader));
 	pDllLoader.registerModuleClassNameReceiver(*aml);
@@ -299,8 +299,8 @@
 
     engineControlSender.registerEngineControlReceiver(*this);
 
-    int rendererInterval = config.rendererInterval;
-    int netInterval = config.netInterval;
+    int rendererInterval = config.get_int_param("renderer_interval");
+    int netInterval = config.get_int_param("net_interval");
 
     scheduler.addTask(*acceptor, 500);
     scheduler.addTask(*this,250);
@@ -308,11 +308,13 @@
     scheduler.addTask(pRenderer,rendererInterval);
 
 	
-    // load stuff    
-    std::vector<std::string> modules = getFilesInDir(config.module_path,
+    // load stuff
+    std::string module_path = config.get_string_param("module_path");
+    std::vector<std::string> modules = getFilesInDir(module_path,
                                                      MODULE_ENDING);
 	
-    std::vector<std::string> types = getFilesInDir(config.type_path,
+    std::string type_path = config.get_string_param("type_path");
+    std::vector<std::string> types = getFilesInDir(type_path,
                                                    TYPE_ENDING);
 	
     std::cout << "Reading plugins...";
@@ -320,7 +322,7 @@
     pDllLoader.readDlls(modules, types);
     std::cout << "   done
";
 
-    if (config.headless)
+    if (config.get_bool_param("headless"))
       {
 	pDllLoader.registerModuleClassNameReceiver(moduleClassNameReceiver);
       }
@@ -342,10 +344,12 @@
         logger->error("Could not create default graph", e.what());
       }
 
-    if (config.autostart)
+    if (config.get_bool_param("autostart"))
       {
-        pModel.changeRenderedGraph(config.render_graph_id, 
-				   config.render_snap_id);
+        std::string render_graph_id=config.get_string_param("render_graph_id");
+        std::string render_snap_id =config.get_string_param("render_snap_id");
+        pModel.changeRenderedGraph(render_graph_id, 
+				   render_snap_id);
 	pRenderer.start();
       }
   }


--- orig/engine/src/engine/controller.h
+++ mod/engine/src/engine/controller.h
@@ -60,7 +60,7 @@
 #include "dllloader.h"
 #include "scheduler.h"
 
-#include "engineconfig.h"
+#include "configmanager.h"
 
 #include "bufferedsender.h"
 
@@ -98,7 +98,7 @@
   class Controller : public IEngineControlReceiver, public ITask
     {
     public:
-      Controller(const EngineConfig& config);
+      Controller(const utils::ConfigManager& config);
       virtual ~Controller();
       virtual bool finished() const;
       void disconnect();
@@ -107,7 +107,7 @@
       bool run();
   
     private:
-      EngineConfig config;
+      utils::ConfigManager config;
       volatile bool m_finished;
       int m_port;
       CommandTagger tagger1;
@@ -165,11 +165,9 @@
       ModuleClassNameReceiverNet moduleClassNameReceiver;
 	
       GraphNameReceiverNet graphNameReceiver;
-
 	
       ErrorReceiverNet errorReceiver;
-	
-	
+		
       ModelStatusReceiverNet modelStatusReceiver;
       RendererStatusReceiverNet rendererStatusReceiver;
 	
@@ -183,7 +181,7 @@
       utils::AutoPtr<AutoModuleLoader> aml;
       engine::Scheduler scheduler;
 
-	  bool first_time;
+      bool first_time;
     };
 
 }


--- orig/engine/src/engine/engine.dep
+++ mod/engine/src/engine/engine.dep
@@ -2,58 +2,14 @@
 
 .ufferedsender.cpp : \
 	"..\..\..ase\src
et\isender.h"\
+	"..\..\..ase\src\utilsuffer.h"\
 	"..\..\..ase\src\utilsircularbuffer.h"\
 	".ufferedsender.h"\
 	
 
 .ontroller.cpp : \
-	"..\..\..ase\src\interfaces\icontrolvaluereceiver.h"\
-	"..\..\..ase\src\interfaces\icontrolvaluesender.h"\
-	"..\..\..ase\src\interfaces\ienginecontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\ienginecontrolsender.h"\
-	"..\..\..ase\src\interfaces\ierrorreceiver.h"\
-	"..\..\..ase\src\interfaces\igraphdatareceiver.h"\
-	"..\..\..ase\src\interfaces\igraphdatasender.h"\
-	"..\..\..ase\src\interfaces\igraphnamereceiver.h"\
-	"..\..\..ase\src\interfaces\igraphnamesender.h"\
-	"..\..\..ase\src\interfaces\imodelcontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\imodelcontrolsender.h"\
-	"..\..\..ase\src\interfaces\imodelstatusreceiver.h"\
-	"..\..\..ase\src\interfaces\imodelstatussender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassinforeceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassinfosender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassloadercontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassloadercontrolsender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassnamereceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassnamesender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclasssender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassspecreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassspecsender.h"\
-	"..\..\..ase\src\interfaces\imoduleconstructiondumbreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleconstructiondumbsender.h"\
-	"..\..\..ase\src\interfaces\imoduleconstructionsmartreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleconstructionsmartsender.h"\
-	"..\..\..ase\src\interfaces\imoduledatareceiver.h"\
-	"..\..\..ase\src\interfaces\imoduledatasender.h"\
-	"..\..\..ase\src\interfaces\imodulestatisticsreceiver.h"\
-	"..\..\..ase\src\interfaces\imodulestatisticssender.h"\
-	"..\..\..ase\src\interfaces\imodulestatisticssmartreceiver.h"\
-	"..\..\..ase\src\interfaces\imodulestatisticssmartsender.h"\
-	"..\..\..ase\src\interfaces\irenderercontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\irenderercontrolsender.h"\
-	"..\..\..ase\src\interfaces\irendererstatusreceiver.h"\
-	"..\..\..ase\src\interfaces\irendererstatussender.h"\
-	"..\..\..ase\src\interfaces\iserializedgraphsender.h"\
-	"..\..\..ase\src\interfaces\ismartcontrolvaluereceiver.h"\
-	"..\..\..ase\src\interfaces\ismartcontrolvaluesender.h"\
 	"..\..\..ase\src\interfaces\itask.h"\
-	"..\..\..ase\src\interfaces\itypeclassinfosender.h"\
-	"..\..\..ase\src\interfaces\itypeclassloadercontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\itypeclassnamereceiver.h"\
-	"..\..\..ase\src\interfaces\itypeclassnamesender.h"\
-	"..\..\..ase\src\interfaces\itypeclassreceiver.h"\
-	"..\..\..ase\src\interfaces\itypeclasssender.h"\
+	"..\..\..ase\src
et\domainserversocket.h"\
 	"..\..\..ase\src
et\idatalistener.h"\
 	"..\..\..ase\src
et\isender.h"\
 	"..\..\..ase\src
et\iserversocket.h"\
@@ -69,25 +25,10 @@
 	"..\..\..ase\src
et	agger.h"\
 	"..\..\..ase\src
et	agutils.h"\
 	"..\..\..ase\src
et	cpserversocket.h"\
-	"..\..\..ase\src
etinterfacesontrolvaluereceivernet.h"\
-	"..\..\..ase\src
etinterfaces\enginecontrolsendernet.h"\
-	"..\..\..ase\src
etinterfaces\errorreceivernet.h"\
-	"..\..\..ase\src
etinterfaces\graphdatareceivernet.h"\
-	"..\..\..ase\src
etinterfaces\graphnamereceivernet.h"\
-	"..\..\..ase\src
etinterfaces\modelcontrolsendernet.h"\
-	"..\..\..ase\src
etinterfaces\modelstatusreceivernet.h"\
-	"..\..\..ase\src
etinterfaces\moduleclassinforeceivernet.h"\
-	"..\..\..ase\src
etinterfaces\moduleclassloadercontrolsendernet.h"\
-	"..\..\..ase\src
etinterfaces\moduleclassnamereceivernet.h"\
-	"..\..\..ase\src
etinterfaces\moduleconstructiondumbreceivernet.h"\
-	"..\..\..ase\src
etinterfaces\moduledatareceivernet.h"\
-	"..\..\..ase\src
etinterfaces\modulestatisticsreceivernet.h"\
-	"..\..\..ase\src
etinterfaces
enderercontrolsendernet.h"\
-	"..\..\..ase\src
etinterfaces
endererstatusreceivernet.h"\
 	"..\..\..ase\src\utilsutoptr.h"\
+	"..\..\..ase\src\utilsonfigmanager.h"\
 	"..\..\..ase\src\utilsilesystem.h"\
 	"..\..\..ase\src\utils\ilogger.h"\
-	"..\..\..onfig.h"\
 	"..\..\..\util\includeasic_types.h"\
 	"..\dllloader\dllloader.h"\
 	"..\model\model.h"\
@@ -95,70 +36,12 @@
 	"..
enderer
enderer.h"\
 	".ufferedsender.h"\
 	".ontroller.h"\
-	".\engineconfig.h"\
 	".
etlogger.h"\
 	".\scheduler.h"\
 	
 
-.\engineconfig.cpp : \
-	"..\..\..\..\..\dxsdk\includeasetsd.h"\
-	"..\..\..ase\src\utilsutoptr.h"\
-	"..\..\..ase\src\utilsonfigfile.h"\
-	"..\..\..ase\src\utilsilesystem.h"\
-	"..\..\..ase\src\utils\structreader.h"\
-	"..\..\..onfig.h"\
-	".\engineconfig.h"\
-	
-
 .\main.cpp : \
-	"..\..\..\..\..\dxsdk\includeasetsd.h"\
-	"..\..\..ase\src\interfaces\icontrolvaluereceiver.h"\
-	"..\..\..ase\src\interfaces\icontrolvaluesender.h"\
-	"..\..\..ase\src\interfaces\ienginecontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\ienginecontrolsender.h"\
-	"..\..\..ase\src\interfaces\ierrorreceiver.h"\
-	"..\..\..ase\src\interfaces\igraphdatareceiver.h"\
-	"..\..\..ase\src\interfaces\igraphdatasender.h"\
-	"..\..\..ase\src\interfaces\igraphnamereceiver.h"\
-	"..\..\..ase\src\interfaces\igraphnamesender.h"\
-	"..\..\..ase\src\interfaces\imodelcontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\imodelcontrolsender.h"\
-	"..\..\..ase\src\interfaces\imodelstatusreceiver.h"\
-	"..\..\..ase\src\interfaces\imodelstatussender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassinforeceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassinfosender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassloadercontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassloadercontrolsender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassnamereceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassnamesender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclasssender.h"\
-	"..\..\..ase\src\interfaces\imoduleclassspecreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassspecsender.h"\
-	"..\..\..ase\src\interfaces\imoduleconstructiondumbreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleconstructiondumbsender.h"\
-	"..\..\..ase\src\interfaces\imoduleconstructionsmartreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleconstructionsmartsender.h"\
-	"..\..\..ase\src\interfaces\imoduledatareceiver.h"\
-	"..\..\..ase\src\interfaces\imoduledatasender.h"\
-	"..\..\..ase\src\interfaces\imodulestatisticsreceiver.h"\
-	"..\..\..ase\src\interfaces\imodulestatisticssender.h"\
-	"..\..\..ase\src\interfaces\imodulestatisticssmartreceiver.h"\
-	"..\..\..ase\src\interfaces\imodulestatisticssmartsender.h"\
-	"..\..\..ase\src\interfaces\irenderercontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\irenderercontrolsender.h"\
-	"..\..\..ase\src\interfaces\irendererstatusreceiver.h"\
-	"..\..\..ase\src\interfaces\irendererstatussender.h"\
-	"..\..\..ase\src\interfaces\iserializedgraphsender.h"\
-	"..\..\..ase\src\interfaces\ismartcontrolvaluereceiver.h"\
-	"..\..\..ase\src\interfaces\ismartcontrolvaluesender.h"\
 	"..\..\..ase\src\interfaces\itask.h"\
-	"..\..\..ase\src\interfaces\itypeclassinfosender.h"\
-	"..\..\..ase\src\interfaces\itypeclassloadercontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\itypeclassnamereceiver.h"\
-	"..\..\..ase\src\interfaces\itypeclassnamesender.h"\
-	"..\..\..ase\src\interfaces\itypeclassreceiver.h"\
-	"..\..\..ase\src\interfaces\itypeclasssender.h"\
 	"..\..\..ase\src
et\idatalistener.h"\
 	"..\..\..ase\src
et\isender.h"\
 	"..\..\..ase\src
et\iserversocket.h"\
@@ -173,23 +56,8 @@
 	"..\..\..ase\src
et	agger.h"\
 	"..\..\..ase\src
et	agutils.h"\
 	"..\..\..ase\src
et	cpserversocket.h"\
-	"..\..\..ase\src
etinterfacesontrolvaluereceivernet.h"\
-	"..\..\..ase\src
etinterfaces\enginecontrolsendernet.h"\
-	"..\..\..ase\src
etinterfaces\errorreceivernet.h"\
-	"..\..\..ase\src
etinterfaces\graphdatareceivernet.h"\
-	"..\..\..ase\src
etinterfaces\graphnamereceivernet.h"\
-	"..\..\..ase\src
etinterfaces\modelcontrolsendernet.h"\
-	"..\..\..ase\src
etinterfaces\modelstatusreceivernet.h"\
-	"..\..\..ase\src
etinterfaces\moduleclassinforeceivernet.h"\
-	"..\..\..ase\src
etinterfaces\moduleclassloadercontrolsendernet.h"\
-	"..\..\..ase\src
etinterfaces\moduleclassnamereceivernet.h"\
-	"..\..\..ase\src
etinterfaces\moduleconstructiondumbreceivernet.h"\
-	"..\..\..ase\src
etinterfaces\moduledatareceivernet.h"\
-	"..\..\..ase\src
etinterfaces\modulestatisticsreceivernet.h"\
-	"..\..\..ase\src
etinterfaces
enderercontrolsendernet.h"\
-	"..\..\..ase\src
etinterfaces
endererstatusreceivernet.h"\
 	"..\..\..ase\src\utilsutoptr.h"\
-	"..\..\..onfig.h"\
+	"..\..\..ase\src\utilsonfigmanager.h"\
 	"..\..\..\util\includeasic_types.h"\
 	"..\dllloader\dllloader.h"\
 	"..\model\model.h"\
@@ -197,12 +65,10 @@
 	"..
enderer
enderer.h"\
 	".ufferedsender.h"\
 	".ontroller.h"\
-	".\engineconfig.h"\
 	".\scheduler.h"\
 	
 
 .
etlogger.cpp : \
-	"..\..\..ase\src\interfaces\ierrorreceiver.h"\
 	"..\..\..ase\src\utils\ilogger.h"\
 	".
etlogger.h"\
 	


--- orig/engine/src/engine/engine.dsp
+++ mod/engine/src/engine/engine.dsp
@@ -109,10 +109,6 @@
 # End Source File
 # Begin Source File
 
-SOURCE=.\engineconfig.cpp
-# End Source File
-# Begin Source File
-
 SOURCE=.\main.cpp
 # End Source File
 # Begin Source File
@@ -137,10 +133,6 @@
 # End Source File
 # Begin Source File
 
-SOURCE=.\engineconfig.h
-# End Source File
-# Begin Source File
-
 SOURCE=.
etlogger.h
 # End Source File
 # Begin Source File


--- orig/engine/src/engine/engine.mak
+++ mod/engine/src/engine/engine.mak
@@ -25,6 +25,9 @@
 NULL=nul
 !ENDIF 
 
+CPP=cl.exe
+RSC=rc.exe
+
 !IF  "$(CFG)" == "engine - Win32 Release"
 
 OUTDIR=.\Release
@@ -50,7 +53,6 @@
 !ENDIF 
 	-@erase "$(INTDIR)ufferedsender.obj"
 	-@erase "$(INTDIR)ontroller.obj"
-	-@erase "$(INTDIR)\engineconfig.obj"
 	-@erase "$(INTDIR)\main.obj"
 	-@erase "$(INTDIR)
etlogger.obj"
 	-@erase "$(INTDIR)\scheduler.obj"
@@ -62,40 +64,7 @@
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
-CPP=cl.exe
 CPP_PROJ=/nologo /G6 /MD /w /W0 /GR /GX /O2 /Ob2 /I "../../../util/include" /I ".." /I "../../../base/src/utils" /I "../../../base/src/net" /I "../../../" /I "../../../base/src/" /I "../../../base/src/interfaces" /I "../../../base/src/netinterfaces" /I "../model" /I "../dllloader" /I "../renderer" /I "../sequencer" /D "_CONSOLE" /D "NDEBUG" /D "_MBCS" /D for="if (0) {} else for" /D "HAVE_CONFIG_H" /Fp"$(INTDIR)\engine.pch" /YX /Fo"$(INTDIR)\" /Fd"$(INTDIR)\" /FD /c 
-
-.c{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.c{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-RSC=rc.exe
 BSC32=bscmake.exe
 BSC32_FLAGS=/nologo /o"$(OUTDIR)\engine.bsc" 
 BSC32_SBRS= \
@@ -105,7 +74,6 @@
 LINK32_OBJS= \
 	"$(INTDIR)ufferedsender.obj" \
 	"$(INTDIR)ontroller.obj" \
-	"$(INTDIR)\engineconfig.obj" \
 	"$(INTDIR)\main.obj" \
 	"$(INTDIR)
etlogger.obj" \
 	"$(INTDIR)\scheduler.obj" \
@@ -162,7 +130,6 @@
 !ENDIF 
 	-@erase "$(INTDIR)ufferedsender.obj"
 	-@erase "$(INTDIR)ontroller.obj"
-	-@erase "$(INTDIR)\engineconfig.obj"
 	-@erase "$(INTDIR)\main.obj"
 	-@erase "$(INTDIR)
etlogger.obj"
 	-@erase "$(INTDIR)\scheduler.obj"
@@ -176,40 +143,7 @@
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
-CPP=cl.exe
 CPP_PROJ=/nologo /G6 /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "../../../util/include" /I ".." /I "../../../base/src/utils" /I "../../../base/src/net" /I "../../../" /I "../../../base/src/" /I "../../../base/src/interfaces" /I "../../../base/src/netinterfaces" /I "../model" /I "../dllloader" /I "../renderer" /I "../sequencer" /D "_CONSOLE" /D "_DEBUG" /D "_MBCS" /D for="if (0) {} else for" /D "HAVE_CONFIG_H" /Fp"$(INTDIR)\engine.pch" /YX /Fo"$(INTDIR)\" /Fd"$(INTDIR)\" /FD /GZ /c 
-
-.c{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.c{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-RSC=rc.exe
 BSC32=bscmake.exe
 BSC32_FLAGS=/nologo /o"$(OUTDIR)\engine.bsc" 
 BSC32_SBRS= \
@@ -219,7 +153,6 @@
 LINK32_OBJS= \
 	"$(INTDIR)ufferedsender.obj" \
 	"$(INTDIR)ontroller.obj" \
-	"$(INTDIR)\engineconfig.obj" \
 	"$(INTDIR)\main.obj" \
 	"$(INTDIR)
etlogger.obj" \
 	"$(INTDIR)\scheduler.obj" \
@@ -253,6 +186,36 @@
 
 !ENDIF 
 
+.c{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.c{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
 
 !IF "$(NO_EXTERNAL_DEPS)" != "1"
 !IF EXISTS("engine.dep")
@@ -274,11 +237,6 @@
 "$(INTDIR)ontroller.obj" : $(SOURCE) "$(INTDIR)"
 
 
-SOURCE=.\engineconfig.cpp
-
-"$(INTDIR)\engineconfig.obj" : $(SOURCE) "$(INTDIR)"
-
-
 SOURCE=.\main.cpp
 
 "$(INTDIR)\main.obj" : $(SOURCE) "$(INTDIR)"


--- orig/engine/src/engine/main.cpp
+++ mod/engine/src/engine/main.cpp
@@ -35,7 +35,7 @@
 #include <signal.h>
 #endif
 
-#include "engineconfig.h"
+#include "configmanager.h"
 #include "controller.h"
 
 // this global variable is needed for the signal handling
@@ -146,7 +146,21 @@
            << "[build time: \"" __DATE__ << " - " __TIME__ "\"]
";
 }
 
-int main(int /*argc*/,char* /*argv[]*/)
+static std::string get_cfile_name()
+{
+#if defined(OS_WIN32)
+  return "../gephex.conf";
+#elif defined(OS_POSIX)
+  const char* HOME_STR = getenv("HOME");
+
+  if (HOME_STR == 0)
+    throw std::runtime_error("Could not read $HOME");
+
+  return std::string(HOME_STR) + "/.gephex/0.4/gephex.conf";
+#endif
+}
+
+int main(int argc, const char* argv[])
 {
   printWelcome();
   try
@@ -163,7 +177,108 @@
 	throw std::runtime_error("Could not set control handler!"); 
 #endif
 
-      engine::EngineConfig config;
+      using namespace utils;
+
+      ConfigManager::ParamList params;
+
+      config_param_t::ParamValue def;
+
+      params.push_back(config_param_t("media_path",
+                                   config_param_t::STRING_PARAM,
+                                   "common",
+                                   "List of directories that contain "
+                                   "videos, images and fonts "
+                                   "(separated by ';')", 0));
+
+      params.push_back(config_param_t("graph_path",
+                                      config_param_t::STRING_PARAM,
+                                      "engine",
+                                      "List of directories that contain "
+                                      "gephex graph files (separated by ';')",
+                                      0));
+
+      params.push_back(config_param_t("module_path",
+                                   config_param_t::STRING_PARAM,
+                                   "engine",
+                                   "Directory that contains gephex modules",
+                                      0));
+
+      params.push_back(config_param_t("type_path",
+                                   config_param_t::STRING_PARAM,
+                                   "engine",
+                                   "Directory that contains gephex types",
+                                      0));
+
+      params.push_back(config_param_t("ipc_type",
+                                   config_param_t::STRING_PARAM,
+                                   "engine",
+                                   "Communication mechanism (inet, unix, or "
+                                   "namedpipe)", 0));
+
+      params.push_back(config_param_t("ipc_port",
+                                   config_param_t::INT_PARAM,
+                                   "engine",
+                                   "Port on which the engine listens for the "
+                                   "gui", 0));
+
+      params.push_back(config_param_t("renderer_interval",
+                                   config_param_t::INT_PARAM,
+                                   "engine",
+                                   "The interval between two updates of the "
+                                   "rendered graph (in ms)", 0));
+
+
+      params.push_back(config_param_t("net_interval",
+                                   config_param_t::INT_PARAM,
+                                   "engine",
+                                   "The interval between polling the "
+                                   "connection the gui (in ms)", 0));
+
+      def.s = "/tmp/gephex_socket";
+      params.push_back(config_param_t("ipc_unix_node_prefix",
+                                   config_param_t::STRING_PARAM,
+                                   "engine",
+                                   "TODO", &def));
+
+
+      def.b = false;
+      params.push_back(config_param_t("headless",
+                                   config_param_t::BOOL_PARAM,
+                                   "engine",
+                                   "TODO", &def));
+
+      params.push_back(config_param_t("autostart",
+                                   config_param_t::BOOL_PARAM,
+                                   "engine",
+                                   "TODO", &def));
+
+      def.s = "_default_";
+      params.push_back(config_param_t("render_graph_id",
+                                   config_param_t::STRING_PARAM,
+                                   "engine",
+                                   "TODO", &def));
+
+      params.push_back(config_param_t("render_snap_id",
+                                   config_param_t::STRING_PARAM,
+                                   "engine",
+                                   "TODO", &def));
+
+      utils::ConfigManager config(get_cfile_name(), argc, argv, params);
+
+      // This is a hack to communicate the media path to
+      // loaded modules.
+      static const char* GEPHEX_MEDIA_PATH = "GEPHEX_MEDIA_PATH";
+      std::string media_path = config.get_string_param("media_path");
+
+#if defined(OS_POSIX)
+      int ret = setenv(GEPHEX_MEDIA_PATH, media_path.c_str(), 1);
+      if (ret == -1)
+#elif defined(OS_WIN32)
+      BOOL ret = SetEnvironmentVariable(GEPHEX_MEDIA_PATH,
+                                        media_path.c_str());
+      if (ret == 0)
+#endif
+        throw std::runtime_error("Could not set GEPHEX_MEDIA_PATH");
 
       engine::Controller ctrl(config);
       s_controller = &ctrl; // publish for signalhandling


--- orig/qtgui/src/gui/Makefile.am
+++ mod/qtgui/src/gui/Makefile.am
@@ -21,7 +21,6 @@
 	connectionwidget.cpp \
 	controlwidget.cpp \
 	graphnameview.cpp \
-	guiconfig.cpp \
 	hidebutton.cpp \
 	hidebuttonconstructor.cpp \
 	inputplugwidget.cpp \
@@ -61,7 +60,6 @@
 	connectionwidget.h \
 	controlwidget.h \
 	graphnameview.h \
-	guiconfig.h \
 	hidebutton.h \
 	hidebuttonconstructor.h \
 	imoduleinfobasestation.h \


--- orig/qtgui/src/gui/dialogs/changesdialogimpl.cpp
+++ mod/qtgui/src/gui/dialogs/changesdialogimpl.cpp
@@ -36,35 +36,37 @@
 {
   changes_view->setText("<h3>0.4.1:</h3>
"
 "<p>
"
-"<ul><li>new ffmpeg based driver to load video files on linux and win32"
-" (see also README.win32 and the documentation for updated build"
-"  instructions on win32)</li></ul>
"
+"<ul><li>new ffmpeg based driver to load video files on linux and win32 (see also README.win32 and the documentation for updated build instructions on win32)
"
+"</ul>
"
+"<p>
"
 "<ul><li>new modules:
"
 "<ul><li>displacement module
"
 "<li>chroma key module
"
+"<li>noise module
"
+"<li>yuv4mpeg2 output module (experimental)
"
+"<li>yuv4mpeg2 input module  (experimental)
"
+"<li>ffmpeg output module    (experimental)
"
 "</ul></ul>
"
 "<p>
"
 "<ul><li>updated modules:
"
-"<ul>"
-"<li>audioadd module   : translated property names to english
"
+"<ul><li>audioadd module   : translated property names to english
"
 "<li>audioenergy module: now automatically adapts to signal strength
"
-"<li>image calculon    : fixed bug #50 which could lead to a segfault in"
-"    certain conditions
"
-"<li>image output      : unified xshm and ximage driver, added Xv support "
-"(uses hardware scaling if supported) 
"
+"<li>image calculon    : fixed bug #50 which could lead to a segfault in certain conditions
"
+"<li>image output      : unified xshm and ximage driver, added Xv support (uses hardware scaling if supported)
"
 "<li>rotozoom module   : added mirror-mode
"
 "<li>tunnel module     : fixed cylindrical mapping, removed some artifacts
"
-"</ul><li>replaced most inline assembler code with external nasm assembler "
-"files
"
+"</ul></ul>
"
+"<p>
"
+"<ul><li>added command line parameter support to engine and gui (now all parameters in gephex.conf can be overriden on the command line) 
"
+"<li>replaced most inline assembler code with external nasm assembler files
"
 "</ul>
"
 "<p>
"
 "<ul><li>small doc updates
"
 "</ul>
"
-"<ul><li>changed config dir to ~/.gephex/0.4 and changed module and type"
-"    install dir to $prefix/lib/gephex-0.4/(modules|types)
"
+"<p>
"
+"<ul><li>changed config dir to ~/.gephex/0.4 and changed module and type install dir to <code class=var>$prefix</code>/lib/gephex-0.4/(modules|types)
"
 "</ul>
"
 "<p>
"
-"<hr/>
"
 "
"
 "<h3>0.4:</h3>
"
 "<ul><li>added win32 build system files (.dsp, .dsw, .mak, .dep) to the source dist. From now on it is possible to build the windows binaries from the source dist (see README.win32).
"


--- orig/qtgui/src/gui/gui.dep
+++ mod/qtgui/src/gui/gui.dep
@@ -95,7 +95,7 @@
 	"..\..\..\..\qt\include\qwidget.h"\
 	"..\..\..\..\qt\include\qwindowdefs.h"\
 	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\interfaces\icontrolvaluereceiver.h"\
+	"..\..\..ase\src\utilsuffer.h"\
 	".ontrolwidget.h"\
 	".	ypeview.h"\
 	
@@ -137,6 +137,7 @@
 	"..\..\..\..\qt\include\qregexp.h"\
 	"..\..\..\..\qt\include\qregion.h"\
 	"..\..\..\..\qt\include\qshared.h"\
+	"..\..\..\..\qt\include\qsignal.h"\
 	"..\..\..\..\qt\include\qsize.h"\
 	"..\..\..\..\qt\include\qsizepolicy.h"\
 	"..\..\..\..\qt\include\qstring.h"\
@@ -146,9 +147,6 @@
 	"..\..\..\..\qt\include\qwidget.h"\
 	"..\..\..\..\qt\include\qwindowdefs.h"\
 	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\interfaces\ierrorreceiver.h"\
-	"..\..\..ase\src\interfaces\igraphnamereceiver.h"\
-	"..\..\..ase\src\interfaces\imodelcontrolreceiver.h"\
 	"..\..\..ase\src\utilsutoptr.h"\
 	"..\..\..ase\src\utils\itokenizer.h"\
 	"..\..\..ase\src\utils\stringtokenizer.h"\
@@ -158,15 +156,6 @@
 	".\graphnameview.h"\
 	
 
-.\guiconfig.cpp : \
-	"..\..\..ase\src\utilsutoptr.h"\
-	"..\..\..ase\src\utilsonfigfile.h"\
-	"..\..\..ase\src\utilsilesystem.h"\
-	"..\..\..ase\src\utils\structreader.h"\
-	"..\..\..onfig.h"\
-	".\guiconfig.h"\
-	
-
 .\hidebutton.cpp : \
 	"..\..\..\..\qt\include\qarray.h"\
 	"..\..\..\..\qt\include\qbrush.h"\
@@ -334,6 +323,7 @@
 	"..\..\..\..\qt\include\qmainwindow.h"\
 	"..\..\..\..\qt\include\qmessagebox.h"\
 	"..\..\..\..\qt\include\qmime.h"\
+	"..\..\..\..\qt\include\qmotifstyle.h"\
 	"..\..\..\..\qt\include\qnamespace.h"\
 	"..\..\..\..\qt\include\qobject.h"\
 	"..\..\..\..\qt\include\qobjectdefs.h"\
@@ -356,10 +346,8 @@
 	"..\..\..\..\qt\include\qwindowdefs.h"\
 	"..\..\..\..\qt\include\qwindowdefs_win.h"\
 	"..\..\..\..\qt\include\qwindowsstyle.h"\
-	"..\..\..ase\src\interfaces\irendererstatusreceiver.h"\
 	"..\..\..ase\src\utilsutoptr.h"\
-	"..\..\..onfig.h"\
-	".\guiconfig.h"\
+	"..\..\..ase\src\utilsonfigmanager.h"\
 	".\ownstyle.h"\
 	".jmainwindow.h"\
 	
@@ -448,6 +436,7 @@
 	"..\..\..\..\qt\include\qregexp.h"\
 	"..\..\..\..\qt\include\qregion.h"\
 	"..\..\..\..\qt\include\qshared.h"\
+	"..\..\..\..\qt\include\qsignal.h"\
 	"..\..\..\..\qt\include\qsize.h"\
 	"..\..\..\..\qt\include\qsizepolicy.h"\
 	"..\..\..\..\qt\include\qstring.h"\
@@ -592,9 +581,8 @@
 	"..\..\..\..\qt\include\qwindowdefs.h"\
 	"..\..\..\..\qt\include\qwindowdefs_win.h"\
 	"..\..\..\..\qt\include\qwmatrix.h"\
-	"..\..\..ase\src\interfaces\ierrorreceiver.h"\
-	"..\..\..ase\src\interfaces\imodelcontrolreceiver.h"\
 	"..\..\..ase\src\utilsutoptr.h"\
+	"..\..\..ase\src\utilsuffer.h"\
 	"..\..\..ase\src\utils\itokenizer.h"\
 	"..\..\..ase\src\utils\stringtokenizer.h"\
 	"..\..\..ase\src\utils\structreader.h"\
@@ -790,8 +778,7 @@
 	"..\..\..\..\qt\include\qwidget.h"\
 	"..\..\..\..\qt\include\qwindowdefs.h"\
 	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\interfaces\icontrolvaluereceiver.h"\
-	"..\..\..ase\src\interfaces\imodelcontrolreceiver.h"\
+	"..\..\..ase\src\utilsuffer.h"\
 	".\propertywidget.h"\
 	".	ypeview.h"\
 	
@@ -835,8 +822,8 @@
 	"..\..\..\..\qt\include\qwidget.h"\
 	"..\..\..\..\qt\include\qwindowdefs.h"\
 	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\interfaces\icontrolvaluereceiver.h"\
 	"..\..\..ase\src\utilsutoptr.h"\
+	"..\..\..ase\src\utilsuffer.h"\
 	"..\guimodelontrolvaluedispatcher.h"\
 	"..\guimodel\point.h"\
 	".ase\iwidgetconstructor.h"\
@@ -885,6 +872,7 @@
 	"..\..\..\..\qt\include\qwidget.h"\
 	"..\..\..\..\qt\include\qwindowdefs.h"\
 	"..\..\..\..\qt\include\qwindowdefs_win.h"\
+	"..\..\..ase\src\utilsuffer.h"\
 	".	ypeview.h"\
 	
 
@@ -927,7 +915,7 @@
 	"..\..\..\..\qt\include\qwidget.h"\
 	"..\..\..\..\qt\include\qwindowdefs.h"\
 	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..onfig.h"\
+	"..\..\..ase\src\utilsuffer.h"\
 	".	ypeview.h"\
 	".	ypeviewfactory.h"\
 	".	ypeviewsoundednumberview.h"\
@@ -937,6 +925,7 @@
 	".	ypeviews\dialnumberview.h"\
 	".	ypeviewsilestringview.h"\
 	".	ypeviewsontview.h"\
+	".	ypeviewsrameview.h"\
 	".	ypeviews\positionview.h"\
 	".	ypeviews
adionumberview.h"\
 	".	ypeviews\slidernumberview.h"\
@@ -993,6 +982,7 @@
 	"..\..\..\..\qt\include\qscrollbar.h"\
 	"..\..\..\..\qt\include\qscrollview.h"\
 	"..\..\..\..\qt\include\qshared.h"\
+	"..\..\..\..\qt\include\qsignal.h"\
 	"..\..\..\..\qt\include\qsize.h"\
 	"..\..\..\..\qt\include\qsizepolicy.h"\
 	"..\..\..\..\qt\include\qsplitter.h"\
@@ -1010,24 +1000,12 @@
 	"..\..\..\..\qt\include\qwindowdefs.h"\
 	"..\..\..\..\qt\include\qwindowdefs_win.h"\
 	"..\..\..\..\qt\include\qwmatrix.h"\
-	"..\..\..ase\src\interfaces\icontrolvaluereceiver.h"\
-	"..\..\..ase\src\interfaces\ienginecontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\ierrorreceiver.h"\
-	"..\..\..ase\src\interfaces\ierrorsender.h"\
-	"..\..\..ase\src\interfaces\igraphnamereceiver.h"\
-	"..\..\..ase\src\interfaces\igraphnamesender.h"\
-	"..\..\..ase\src\interfaces\imodelcontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassinforeceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassnamereceiver.h"\
-	"..\..\..ase\src\interfaces\imoduleclassnamesender.h"\
-	"..\..\..ase\src\interfaces\irenderercontrolreceiver.h"\
-	"..\..\..ase\src\interfaces\irendererstatusreceiver.h"\
-	"..\..\..ase\src\interfaces\irendererstatussender.h"\
 	"..\..\..ase\src\utilsutoptr.h"\
+	"..\..\..ase\src\utilsuffer.h"\
+	"..\..\..ase\src\utilsonfigmanager.h"\
 	"..\..\..ase\src\utils\spawn.h"\
 	"..\..\..ase\src\utils\structreader.h"\
 	"..\..\..ase\src\utils	iming.h"\
-	"..\..\..onfig.h"\
 	"..\..\..\util\includeasic_types.h"\
 	"..\guimodelontrolvaluedispatcher.h"\
 	"..\guimodel\enginewrapper.h"\
@@ -1038,16 +1016,13 @@
 	".ase\logwindow.h"\
 	".ase\propertyview.h"\
 	".ase	reeview.h"\
-	".\dialogsboutdialog.h"\
 	".\dialogsboutdialogimpl.h"\
-	".\dialogshangesdialog.h"\
 	".\dialogshangesdialogimpl.h"\
 	".\dialogs\dllselectordialog.h"\
 	".\dialogs
ewgraphdialog.h"\
 	".\editor\editorwidget.h"\
 	".\graphnameview.h"\
 	".\gruen_klein.xpm"\
-	".\guiconfig.h"\
 	".\imoduleinfobasestation.h"\
 	".\moduleclassview.h"\
 	".\picswitch.h"\
@@ -1133,698 +1108,6 @@
 
 !ENDIF 
 
-.ontrolwidget_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qframe.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsignalslotimp.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\interfaces\icontrolvaluereceiver.h"\
-	".ontrolwidget.h"\
-	
-
-.\graphnameview_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\interfaces\igraphnamereceiver.h"\
-	"..\..\..ase\src\utilsutoptr.h"\
-	".ase	reeview.h"\
-	".\graphnameview.h"\
-	
-
-.\hidebutton_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qbutton.h"\
-	"..\..\..\..\qt\include\qcheckbox.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	".\hidebutton.h"\
-	
-
-.\inputplugwidget_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpixmap.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsignalslotimp.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	".\inputplugwidget.h"\
-	".\plugwidget.h"\
-	
-
-.\modulebutton_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qbutton.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qiconset.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpixmap.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtoolbutton.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	".\modulebutton.h"\
-	
-
-.\moduleclassview_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qframe.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qiconset.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmainwindow.h"\
-	"..\..\..\..\qt\include\qmenubar.h"\
-	"..\..\..\..\qt\include\qmenudata.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpixmap.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qpopupmenu.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsignalslotimp.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtoolbar.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\utilsutoptr.h"\
-	"..\guimodel\imoduleclassview.h"\
-	".\imoduleinfobasestation.h"\
-	".\moduleclassview.h"\
-	
-
-.
odewidget_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpixmap.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsignalslotimp.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\utilsutoptr.h"\
-	".
odewidget.h"\
-	
-
-.\outputplugwidget_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpixmap.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsignalslotimp.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	".\outputplugwidget.h"\
-	".\plugwidget.h"\
-	
-
-.\picswitch_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpixmap.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	".\picswitch.h"\
-	
-
-.\plugwidget_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpixmap.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsignalslotimp.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	".\plugwidget.h"\
-	
-
-.\propertywidget_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\interfaces\icontrolvaluereceiver.h"\
-	".\propertywidget.h"\
-	
-
-.	ypeview_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsignalslotimp.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	".	ypeview.h"\
-	
-
-.jmainwindow_moc.cpp : \
-	"..\..\..\..\qt\include\qapplication.h"\
-	"..\..\..\..\qt\include\qarray.h"\
-	"..\..\..\..\qt\include\qasciidict.h"\
-	"..\..\..\..\qt\include\qbrush.h"\
-	"..\..\..\..\qt\include\qcollection.h"\
-	"..\..\..\..\qt\include\qcolor.h"\
-	"..\..\..\..\qt\include\qconfig.h"\
-	"..\..\..\..\qt\include\qconnection.h"\
-	"..\..\..\..\qt\include\qcstring.h"\
-	"..\..\..\..\qt\include\qcursor.h"\
-	"..\..\..\..\qt\include\qdatastream.h"\
-	"..\..\..\..\qt\include\qevent.h"\
-	"..\..\..\..\qt\include\qfeatures.h"\
-	"..\..\..\..\qt\include\qfont.h"\
-	"..\..\..\..\qt\include\qfontinfo.h"\
-	"..\..\..\..\qt\include\qfontmetrics.h"\
-	"..\..\..\..\qt\include\qgarray.h"\
-	"..\..\..\..\qt\include\qgdict.h"\
-	"..\..\..\..\qt\include\qglist.h"\
-	"..\..\..\..\qt\include\qglobal.h"\
-	"..\..\..\..\qt\include\qintdict.h"\
-	"..\..\..\..\qt\include\qiodevice.h"\
-	"..\..\..\..\qt\include\qlist.h"\
-	"..\..\..\..\qt\include\qmainwindow.h"\
-	"..\..\..\..\qt\include\qmetaobject.h"\
-	"..\..\..\..\qt\include\qmime.h"\
-	"..\..\..\..\qt\include\qnamespace.h"\
-	"..\..\..\..\qt\include\qobject.h"\
-	"..\..\..\..\qt\include\qobjectdefs.h"\
-	"..\..\..\..\qt\include\qpaintdevice.h"\
-	"..\..\..\..\qt\include\qpalette.h"\
-	"..\..\..\..\qt\include\qpoint.h"\
-	"..\..\..\..\qt\include\qrect.h"\
-	"..\..\..\..\qt\include\qregexp.h"\
-	"..\..\..\..\qt\include\qregion.h"\
-	"..\..\..\..\qt\include\qshared.h"\
-	"..\..\..\..\qt\include\qsignalslotimp.h"\
-	"..\..\..\..\qt\include\qsize.h"\
-	"..\..\..\..\qt\include\qsizepolicy.h"\
-	"..\..\..\..\qt\include\qstring.h"\
-	"..\..\..\..\qt\include\qstringlist.h"\
-	"..\..\..\..\qt\include\qstrlist.h"\
-	"..\..\..\..\qt\include\qstyle.h"\
-	"..\..\..\..\qt\include\qtranslator.h"\
-	"..\..\..\..\qt\include\qvaluelist.h"\
-	"..\..\..\..\qt\include\qwidget.h"\
-	"..\..\..\..\qt\include\qwindowdefs.h"\
-	"..\..\..\..\qt\include\qwindowdefs_win.h"\
-	"..\..\..ase\src\interfaces\irendererstatusreceiver.h"\
-	"..\..\..ase\src\utilsutoptr.h"\
-	".jmainwindow.h"\
-	
-
 !IF  "$(CFG)" == "gui - Win32 Release"
 
 !ELSEIF  "$(CFG)" == "gui - Win32 Debug"


--- orig/qtgui/src/gui/gui.dsp
+++ mod/qtgui/src/gui/gui.dsp
@@ -119,10 +119,6 @@
 # End Source File
 # Begin Source File
 
-SOURCE=.\guiconfig.cpp
-# End Source File
-# Begin Source File
-
 SOURCE=.\hidebutton.cpp
 # End Source File
 # Begin Source File
@@ -203,10 +199,6 @@
 # End Source File
 # Begin Source File
 
-SOURCE=.\guiconfig.h
-# End Source File
-# Begin Source File
-
 SOURCE=.\hidebuttonconstructor.h
 # End Source File
 # Begin Source File


--- orig/qtgui/src/gui/gui.mak
+++ mod/qtgui/src/gui/gui.mak
@@ -25,6 +25,10 @@
 NULL=nul
 !ENDIF 
 
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
 !IF  "$(CFG)" == "gui - Win32 Release"
 
 OUTDIR=.\Release
@@ -35,11 +39,11 @@
 
 !IF "$(RECURSE)" == "0" 
 
-ALL : "$(OUTDIR)\gephex-gui.exe"
+ALL : "..\..\..onfig.h" "$(OUTDIR)\gephex-gui.exe"
 
 !ELSE 
 
-ALL : "typeviews - Win32 Release" "guimodel - Win32 Release" "editor - Win32 Release" "dialogs - Win32 Release" "base - Win32 Release" "netinterfaces - Win32 Release" "net - Win32 Release" "interfaces - Win32 Release" "utils - Win32 Release" "$(OUTDIR)\gephex-gui.exe"
+ALL : "typeviews - Win32 Release" "guimodel - Win32 Release" "editor - Win32 Release" "dialogs - Win32 Release" "base - Win32 Release" "netinterfaces - Win32 Release" "net - Win32 Release" "interfaces - Win32 Release" "utils - Win32 Release" "..\..\..onfig.h" "$(OUTDIR)\gephex-gui.exe"
 
 !ENDIF 
 
@@ -53,7 +57,6 @@
 	-@erase "$(INTDIR)ontrolwidget_moc.obj"
 	-@erase "$(INTDIR)\graphnameview.obj"
 	-@erase "$(INTDIR)\graphnameview_moc.obj"
-	-@erase "$(INTDIR)\guiconfig.obj"
 	-@erase "$(INTDIR)\hidebutton.obj"
 	-@erase "$(INTDIR)\hidebutton_moc.obj"
 	-@erase "$(INTDIR)\hidebuttonconstructor.obj"
@@ -84,46 +87,13 @@
 	-@erase "$(INTDIR)jmainwindow.obj"
 	-@erase "$(INTDIR)jmainwindow_moc.obj"
 	-@erase "$(OUTDIR)\gephex-gui.exe"
+	-@erase "..\..\..onfig.h"
 
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
-CPP=cl.exe
 CPP_PROJ=/nologo /G6 /MD /w /W0 /GR /GX /O2 /Ob2 /I "../" /I "$(QTDIR)/include" /I "../../../base/src" /I "../../../" /I "../../../util/include" /D "_WINDOWS" /D "QT_DLL" /D "QT_THREAD_SUPPORT" /D "VERBOSE_ENGINE" /D "NDEBUG" /D "WIN32" /D for="if (0) {} else for" /D "HAVE_CONFIG_H" /Fo"$(INTDIR)\" /Fd"$(INTDIR)\" /FD /c 
-
-.c{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.c{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-MTL=midl.exe
 MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 
-RSC=rc.exe
 RSC_PROJ=/l 0x407 /fo"$(INTDIR)\Skript1.res" /d "NDEBUG" 
 BSC32=bscmake.exe
 BSC32_FLAGS=/nologo /o"$(OUTDIR)\gui.bsc" 
@@ -135,7 +105,6 @@
 	"$(INTDIR)onnectionwidget.obj" \
 	"$(INTDIR)ontrolwidget.obj" \
 	"$(INTDIR)\graphnameview.obj" \
-	"$(INTDIR)\guiconfig.obj" \
 	"$(INTDIR)\hidebutton.obj" \
 	"$(INTDIR)\hidebuttonconstructor.obj" \
 	"$(INTDIR)\inputplugwidget.obj" \
@@ -191,7 +160,7 @@
 OutDir=.\Release
 # End Custom Macros
 
-$(DS_POSTBUILD_DEP) : "typeviews - Win32 Release" "guimodel - Win32 Release" "editor - Win32 Release" "dialogs - Win32 Release" "base - Win32 Release" "netinterfaces - Win32 Release" "net - Win32 Release" "interfaces - Win32 Release" "utils - Win32 Release" "$(OUTDIR)\gephex-gui.exe"
+$(DS_POSTBUILD_DEP) : "typeviews - Win32 Release" "guimodel - Win32 Release" "editor - Win32 Release" "dialogs - Win32 Release" "base - Win32 Release" "netinterfaces - Win32 Release" "net - Win32 Release" "interfaces - Win32 Release" "utils - Win32 Release" "..\..\..onfig.h" "$(OUTDIR)\gephex-gui.exe"
    if not exist ..\..\..in mkdir ..\..\..in
 	copy    .\Release\gephex-gui.exe   ..\..\..in
 	echo Helper for Post-build step > "$(DS_POSTBUILD_DEP)"
@@ -224,7 +193,6 @@
 	-@erase "$(INTDIR)ontrolwidget_moc.obj"
 	-@erase "$(INTDIR)\graphnameview.obj"
 	-@erase "$(INTDIR)\graphnameview_moc.obj"
-	-@erase "$(INTDIR)\guiconfig.obj"
 	-@erase "$(INTDIR)\hidebutton.obj"
 	-@erase "$(INTDIR)\hidebutton_moc.obj"
 	-@erase "$(INTDIR)\hidebuttonconstructor.obj"
@@ -263,42 +231,8 @@
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
 
-CPP=cl.exe
 CPP_PROJ=/nologo /G6 /MTd /w /W0 /Gm /GR /GX /ZI /Od /I "../" /I "$(QTDIR)/include" /I "../../../base/src" /I "../../../" /I "../../../util/include" /D "_WINDOWS" /D "QT_DLL" /D "QT_THREAD_SUPPORT" /D "_DEBUG" /D "WIN32" /D for="if (0) {} else for" /D "HAVE_CONFIG_H" /Fo"$(INTDIR)\" /Fd"$(INTDIR)\" /FD /GZ /c 
-
-.c{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.obj::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.c{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cpp{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-.cxx{$(INTDIR)}.sbr::
-   $(CPP) @<<
-   $(CPP_PROJ) $< 
-<<
-
-MTL=midl.exe
 MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32 
-RSC=rc.exe
 RSC_PROJ=/l 0x407 /fo"$(INTDIR)\Skript1.res" /d "_DEBUG" 
 BSC32=bscmake.exe
 BSC32_FLAGS=/nologo /o"$(OUTDIR)\gui.bsc" 
@@ -310,7 +244,6 @@
 	"$(INTDIR)onnectionwidget.obj" \
 	"$(INTDIR)ontrolwidget.obj" \
 	"$(INTDIR)\graphnameview.obj" \
-	"$(INTDIR)\guiconfig.obj" \
 	"$(INTDIR)\hidebutton.obj" \
 	"$(INTDIR)\hidebuttonconstructor.obj" \
 	"$(INTDIR)\inputplugwidget.obj" \
@@ -373,6 +306,36 @@
 
 !ENDIF 
 
+.c{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.obj::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.c{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cpp{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
+.cxx{$(INTDIR)}.sbr::
+   $(CPP) @<<
+   $(CPP_PROJ) $< 
+<<
+
 
 !IF "$(NO_EXTERNAL_DEPS)" != "1"
 !IF EXISTS("gui.dep")
@@ -391,7 +354,7 @@
 
 SOURCE=.ontrolwidget.cpp
 
-"$(INTDIR)ontrolwidget.obj" : $(SOURCE) "$(INTDIR)" ".	ypeview.h" ".ontrolwidget.h"
+"$(INTDIR)ontrolwidget.obj" : $(SOURCE) "$(INTDIR)" ".ontrolwidget.h" ".	ypeview.h"
 
 
 SOURCE=.\graphnameview.cpp
@@ -399,14 +362,9 @@
 "$(INTDIR)\graphnameview.obj" : $(SOURCE) "$(INTDIR)" ".\graphnameview.h"
 
 
-SOURCE=.\guiconfig.cpp
-
-"$(INTDIR)\guiconfig.obj" : $(SOURCE) "$(INTDIR)" "..\..\..onfig.h"
-
-
 SOURCE=.\hidebutton.cpp
 
-"$(INTDIR)\hidebutton.obj" : $(SOURCE) "$(INTDIR)" ".\inputplugwidget.h" ".\hidebutton.h" ".\plugwidget.h"
+"$(INTDIR)\hidebutton.obj" : $(SOURCE) "$(INTDIR)" ".\hidebutton.h" ".\inputplugwidget.h" ".\plugwidget.h"
 
 
 SOURCE=.\hidebuttonconstructor.cpp
@@ -421,7 +379,7 @@
 
 SOURCE=.\main.cpp
 
-"$(INTDIR)\main.obj" : $(SOURCE) "$(INTDIR)" ".jmainwindow.h" "..\..\..onfig.h"
+"$(INTDIR)\main.obj" : $(SOURCE) "$(INTDIR)" ".jmainwindow.h"
 
 
 SOURCE=.\modulebutton.cpp
@@ -436,17 +394,17 @@
 
 SOURCE=.
odeproperty.cpp
 
-"$(INTDIR)
odeproperty.obj" : $(SOURCE) "$(INTDIR)" ".\plugwidget.h" ".\inputplugwidget.h"
+"$(INTDIR)
odeproperty.obj" : $(SOURCE) "$(INTDIR)" ".\inputplugwidget.h" ".\plugwidget.h"
 
 
 SOURCE=.
odewidget.cpp
 
-"$(INTDIR)
odewidget.obj" : $(SOURCE) "$(INTDIR)" ".\plugwidget.h" ".\inputplugwidget.h" ".
odewidget.h" ".\outputplugwidget.h"
+"$(INTDIR)
odewidget.obj" : $(SOURCE) "$(INTDIR)" ".
odewidget.h" ".\inputplugwidget.h" ".\outputplugwidget.h" ".\plugwidget.h"
 
 
 SOURCE=.\outputplugwidget.cpp
 
-"$(INTDIR)\outputplugwidget.obj" : $(SOURCE) "$(INTDIR)" ".\plugwidget.h" ".\outputplugwidget.h"
+"$(INTDIR)\outputplugwidget.obj" : $(SOURCE) "$(INTDIR)" ".\outputplugwidget.h" ".\plugwidget.h"
 
 
 SOURCE=.\picswitch.cpp
@@ -461,7 +419,7 @@
 
 SOURCE=.\propertywidget.cpp
 
-"$(INTDIR)\propertywidget.obj" : $(SOURCE) "$(INTDIR)" ".	ypeview.h" ".\propertywidget.h"
+"$(INTDIR)\propertywidget.obj" : $(SOURCE) "$(INTDIR)" ".\propertywidget.h" ".	ypeview.h"
 
 
 SOURCE=.\propertywidgetconstructor.cpp
@@ -476,12 +434,12 @@
 
 SOURCE=.	ypeviewfactory.cpp
 
-"$(INTDIR)	ypeviewfactory.obj" : $(SOURCE) "$(INTDIR)" ".	ypeview.h" "..\..\..onfig.h"
+"$(INTDIR)	ypeviewfactory.obj" : $(SOURCE) "$(INTDIR)" ".	ypeview.h"
 
 
 SOURCE=.jmainwindow.cpp
 
-"$(INTDIR)jmainwindow.obj" : $(SOURCE) "$(INTDIR)" ".jmainwindow.h" "..\..\..onfig.h" ".\graphnameview.h" ".\picswitch.h" ".\moduleclassview.h"
+"$(INTDIR)jmainwindow.obj" : $(SOURCE) "$(INTDIR)" ".jmainwindow.h" ".\moduleclassview.h" ".\graphnameview.h" ".\picswitch.h"
 
 
 SOURCE=.ontrolwidget.h
@@ -858,67 +816,67 @@
 
 SOURCE=.ontrolwidget_moc.cpp
 
-"$(INTDIR)ontrolwidget_moc.obj" : $(SOURCE) "$(INTDIR)" ".ontrolwidget.h"
+"$(INTDIR)ontrolwidget_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\graphnameview_moc.cpp
 
-"$(INTDIR)\graphnameview_moc.obj" : $(SOURCE) "$(INTDIR)" ".\graphnameview.h"
+"$(INTDIR)\graphnameview_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\hidebutton_moc.cpp
 
-"$(INTDIR)\hidebutton_moc.obj" : $(SOURCE) "$(INTDIR)" ".\hidebutton.h"
+"$(INTDIR)\hidebutton_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\inputplugwidget_moc.cpp
 
-"$(INTDIR)\inputplugwidget_moc.obj" : $(SOURCE) "$(INTDIR)" ".\inputplugwidget.h" ".\plugwidget.h"
+"$(INTDIR)\inputplugwidget_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\modulebutton_moc.cpp
 
-"$(INTDIR)\modulebutton_moc.obj" : $(SOURCE) "$(INTDIR)" ".\modulebutton.h"
+"$(INTDIR)\modulebutton_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\moduleclassview_moc.cpp
 
-"$(INTDIR)\moduleclassview_moc.obj" : $(SOURCE) "$(INTDIR)" ".\moduleclassview.h"
+"$(INTDIR)\moduleclassview_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.
odewidget_moc.cpp
 
-"$(INTDIR)
odewidget_moc.obj" : $(SOURCE) "$(INTDIR)" ".
odewidget.h"
+"$(INTDIR)
odewidget_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\outputplugwidget_moc.cpp
 
-"$(INTDIR)\outputplugwidget_moc.obj" : $(SOURCE) "$(INTDIR)" ".\outputplugwidget.h" ".\plugwidget.h"
+"$(INTDIR)\outputplugwidget_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\picswitch_moc.cpp
 
-"$(INTDIR)\picswitch_moc.obj" : $(SOURCE) "$(INTDIR)" ".\picswitch.h"
+"$(INTDIR)\picswitch_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\plugwidget_moc.cpp
 
-"$(INTDIR)\plugwidget_moc.obj" : $(SOURCE) "$(INTDIR)" ".\plugwidget.h"
+"$(INTDIR)\plugwidget_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\propertywidget_moc.cpp
 
-"$(INTDIR)\propertywidget_moc.obj" : $(SOURCE) "$(INTDIR)" ".\propertywidget.h"
+"$(INTDIR)\propertywidget_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.	ypeview_moc.cpp
 
-"$(INTDIR)	ypeview_moc.obj" : $(SOURCE) "$(INTDIR)" ".	ypeview.h"
+"$(INTDIR)	ypeview_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.jmainwindow_moc.cpp
 
-"$(INTDIR)jmainwindow_moc.obj" : $(SOURCE) "$(INTDIR)" ".jmainwindow.h"
+"$(INTDIR)jmainwindow_moc.obj" : $(SOURCE) "$(INTDIR)"
 
 
 SOURCE=.\Skript1.rc


--- orig/qtgui/src/gui/main.cpp
+++ mod/qtgui/src/gui/main.cpp
@@ -41,9 +41,10 @@
 #endif
 
 #include "ownstyle.h"
-#include "guiconfig.h"
 #include "vjmainwindow.h"
 
+#include "utils/configmanager.h"
+
 //---------------------------------------------------------------------
 
 static const char* logo_data[] = { 
@@ -99,18 +100,102 @@
 
 
 //---------------------------------------------------------------------
+  static std::string get_cfile_name()
+  {
+#if defined(OS_WIN32)
+    return "../gephex.conf";
+#elif defined(OS_POSIX)
+    const char* HOME_STR = getenv("HOME");
+
+    if (HOME_STR == 0)
+      throw std::runtime_error("Could not read $HOME");
+
+    return std::string(HOME_STR) + "/.gephex/0.4/gephex.conf";
+#endif		
+  }
+
+//---------------------------------------------------------------------
 
-int main( int argc, char** argv )
+int main( int argc, const char* argv[] )
 {
-  QApplication app( argc, argv );
+  QApplication app( argc, (char**) argv );
 
   app.setStyle( new gui::OwnStyle<GePhexStyle>() );
   
   try
     {
-      gui::GuiConfig config;
+      using namespace utils;
+      ConfigManager::ParamList params;
+      config_param_t::ParamValue def;
+
+      params.push_back(config_param_t("media_path",
+                                      config_param_t::STRING_PARAM,
+                                      "common",
+                                      "List of directories that contain "
+                                      "videos, images and fonts "
+                                      "(separated by ';')", 0));
+
+      params.push_back(config_param_t("ipc_type",
+                                      config_param_t::STRING_PARAM,
+                                      "gui",
+                                      "Communication mechanism (inet, unix, or"
+                                      " namedpipe)", 0));
+
+      params.push_back(config_param_t("ipc_inet_hostname",
+                                      config_param_t::STRING_PARAM,
+                                      "gui",
+                                      "Hostname of engine (inet only)", 0));
+
+      def.s = ".";
+      params.push_back(config_param_t("ipc_namedpipe_servername",
+                                      config_param_t::STRING_PARAM,
+                                      "gui",
+                                      "Servername of engine (namedpipe only)",
+                                      &def));
+
+
+      def.s = "/tmp/gephex_socket";
+      params.push_back(config_param_t("ipc_unix_node_prefix",
+                                      config_param_t::STRING_PARAM,
+                                      "gui",
+                                      "TODO", &def));
+
+      params.push_back(config_param_t("ipc_port",
+                                      config_param_t::INT_PARAM,
+                                      "gui",
+                                      "Port on which the gui connects to the "
+                                      "engine", 0));
+
+      params.push_back(config_param_t("engine_binary",
+                                      config_param_t::STRING_PARAM,
+                                      "gui",
+                                      "Full path of the gephex engine ", 0));
+
+
+      utils::ConfigManager config(get_cfile_name(), argc, argv, params);
+
+      std::string ipc_type = config.get_string_param("ipc_type");
+      std::string ipc_locator = "";
+        if (ipc_type == "inet")
+          {
+            ipc_locator = config.get_string_param("ipc_inet_hostname");
+          }
+        else if (ipc_type == "unix")
+          {
+            ipc_locator = config.get_string_param("ipc_unix_node_prefix");
+          }
+    
+        else if (ipc_type == "namedpipe")
+          {
+            ipc_locator = config.get_string_param("ipc_namedpipe_servername");
+          }
+        else
+          {
+            throw std::runtime_error("Unknown IPC Type: " + ipc_type);
+          }
 
-      gui::VJMainWindow mainWin ( 0, "GePhex main window", config );
+      gui::VJMainWindow mainWin ( 0, "GePhex main window", config,
+                                  ipc_locator);
 
       mainWin.setIcon(QPixmap(logo_data));
 


--- orig/qtgui/src/gui/vjmainwindow.cpp
+++ mod/qtgui/src/gui/vjmainwindow.cpp
@@ -49,7 +49,6 @@
 #include "dialogs/aboutdialogimpl.h"
 #include "dialogs/changesdialogimpl.h"
 #include "dialogs/newgraphdialog.h"
-#include "guiconfig.h"
 
 #include "interfaces/ienginecontrolreceiver.h"
 #include "interfaces/irenderercontrolreceiver.h"
@@ -69,6 +68,7 @@
 #include "utils/structreader.h"
 #include "utils/spawn.h"
 #include "utils/timing.h"
+#include "utils/configmanager.h"
 
 #if defined(HAVE_CONFIG_H)
 #include "config.h"
@@ -110,13 +110,14 @@
   };
   
   VJMainWindow::VJMainWindow(QWidget* parent, const char* name,
-                             const GuiConfig& config)
+                             const utils::ConfigManager& config,
+                             const std::string& ipc_locator)
 			     
     : QMainWindow(parent,name),
       m_error_proxy(new ProxyErrorReceiver()),
-      engineWrapper(new EngineWrapper(config.ipcType,
-                                      config.ipcLocator,
-                                      config.port,
+      engineWrapper(new EngineWrapper(config.get_string_param("ipc_type"),
+                                      ipc_locator,
+                                      config.get_int_param("ipc_port"),
                                       *m_error_proxy)),
       running(false), connected(false), 
       moduleClassView(0), graphNameView(0),
@@ -467,7 +468,7 @@
 				    engineWrapper->moduleStatisticsSender(),
 				    engineWrapper->modelStatusSender(),
 				    &*m_kbManager, *logWindow,
-				    m_config.media_path);
+				    m_config.get_string_param("media_path"));
 
     editorWidget->show();
     QVBoxLayout* editorLayout = new QVBoxLayout(editor);
@@ -557,10 +558,12 @@
 	    // start engine
             statusBar()->message("trying to spawn gephex-engine...");
             std::vector<std::string> args;
-            std::string binary_name = m_config.engine_binary;
+            std::string binary_name =
+              m_config.get_string_param("engine_binary");
 
 #if defined(OS_POSIX)
-            std::string conf_base_dir = m_config.conf_base_dir;
+            std::string conf_base_dir = 
+              m_config.get_string_param("conf_base_dir");
             args.push_back(binary_name);
             utils::spawn(conf_base_dir  + "/run_in_terminal.sh", args);
 #elif defined(OS_WIN32)


--- orig/qtgui/src/gui/vjmainwindow.h
+++ mod/qtgui/src/gui/vjmainwindow.h
@@ -42,6 +42,7 @@
 namespace utils 
 {
   class StructReader;
+  class ConfigManager;
 }
 
 namespace gui
@@ -57,7 +58,6 @@
   class DllSelectorDialog;  
   class LogWindow;  
   class KeyboardManager;
-  struct GuiConfig;
 
   class ProxyErrorReceiver;
 
@@ -70,7 +70,8 @@
 
 
       VJMainWindow(QWidget* parent, const char* name,
-                   const GuiConfig& config);		   
+                   const utils::ConfigManager& config,
+                   const std::string &ipc_locator);
 
       virtual ~VJMainWindow();
 
@@ -175,7 +176,7 @@
 
       DllSelectorDialog* m_dllSelector;
 
-      const GuiConfig& m_config;
+      const utils::ConfigManager& m_config;
 
       KeyboardManager* m_kbManager;
     };
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.