Index: trunk/GnssCenter/src/inpedit/inpedit.cpp
===================================================================
--- trunk/GnssCenter/src/inpedit/inpedit.cpp	(revision 5015)
+++ trunk/GnssCenter/src/inpedit/inpedit.cpp	(revision 5015)
@@ -0,0 +1,91 @@
+
+/* -------------------------------------------------------------------------
+ * RTNet GUI
+ * -------------------------------------------------------------------------
+ *
+ * Class:      t_inpEdit
+ *
+ * Purpose:    RTNet Input File
+ *
+ * Author:     L. Mervart
+ *
+ * Created:    05-Jan-2013
+ *
+ * Changes:    
+ *
+ * -----------------------------------------------------------------------*/
+
+#include "inpedit.h" 
+#include "keyword.h" 
+#include "panel.h" 
+
+using namespace std;
+using namespace GnssCenter;
+
+// Constructor
+////////////////////////////////////////////////////////////////////////////
+t_inpEdit::t_inpEdit() : QTabWidget(), t_pluginInterface() {
+}
+
+// Destructor
+////////////////////////////////////////////////////////////////////////////
+t_inpEdit::~t_inpEdit() {
+  QMapIterator<QString, t_keyword*> it(_keywords); 
+  while (it.hasNext()) {
+    it.next();
+    delete it.value();
+  }
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void t_inpEdit::setInputFile(const QString& fileName) {
+  _fileName = fileName;
+  readFile();
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void t_inpEdit::readFile() {
+
+  QFile file(_fileName);
+  file.open(QIODevice::ReadOnly | QIODevice::Text);
+  QTextStream inStream(&file);
+
+  int iPanel = 0;
+
+  while (inStream.status() == QTextStream::Ok && !inStream.atEnd()) {
+    QString line = inStream.readLine().trimmed();
+
+    // Skip Comments and empty Lines
+    // -----------------------------
+    if      (line.isEmpty() || line[0] == '!') {
+      continue;
+    }
+
+    // Read Panels
+    // -----------
+    else if (line[0] == '#' && line.indexOf("BEGIN_PANEL") != -1) {
+      t_panel* panel = new t_panel(line, inStream, &_keywords);
+      if (panel->ok()) {
+        ++iPanel;
+        addTab(panel, QString("Panel %1").arg(iPanel));
+      }
+      else {
+        delete panel;
+      }
+    }
+
+    // Read Keywords
+    // -------------
+    else {
+      t_keyword* keyword = new t_keyword(line, inStream);
+      if (keyword->ok()) {
+        _keywords[keyword->name()] = keyword;
+      }
+      else {
+        delete keyword;
+      }
+    }
+  }
+}
Index: trunk/GnssCenter/src/inpedit/inpedit.h
===================================================================
--- trunk/GnssCenter/src/inpedit/inpedit.h	(revision 5015)
+++ trunk/GnssCenter/src/inpedit/inpedit.h	(revision 5015)
@@ -0,0 +1,32 @@
+#ifndef GnssCenter_INPEDIT_H
+#define GnssCenter_INPEDIT_H
+
+#include <QtGui>
+#include "plugininterface.h"
+
+namespace GnssCenter {
+
+class t_keyword;
+class t_panel;
+
+class t_inpEdit : public QTabWidget, public t_pluginInterface {
+ Q_OBJECT
+ Q_INTERFACES(GnssCenter::t_pluginInterface)
+
+ public:
+  t_inpEdit();
+  ~t_inpEdit();
+  virtual bool expectInputFile() const {return true;}
+  virtual void setInputFile(const QString&);
+  virtual void show() {QTabWidget::show();}   
+
+ private:
+  void readFile();
+  QString                   _fileName;
+  QMap<QString, t_keyword*> _keywords;
+};
+
+} // namespace GnssCenter
+
+#endif
+
Index: trunk/GnssCenter/src/inpedit/inpfile.cpp
===================================================================
--- trunk/GnssCenter/src/inpedit/inpfile.cpp	(revision 5014)
+++ 	(revision )
@@ -1,86 +1,0 @@
-
-/* -------------------------------------------------------------------------
- * RTNet GUI
- * -------------------------------------------------------------------------
- *
- * Class:      t_inpFile
- *
- * Purpose:    RTNet Input File
- *
- * Author:     L. Mervart
- *
- * Created:    05-Jan-2013
- *
- * Changes:    
- *
- * -----------------------------------------------------------------------*/
-
-#include "inpfile.h" 
-#include "keyword.h" 
-#include "panel.h" 
-
-using namespace std;
-using namespace GnssCenter;
-
-// Constructor
-////////////////////////////////////////////////////////////////////////////
-t_inpFile::t_inpFile(const QString& fileName) : QTabWidget(0) {
-  _fileName = fileName;
-  readFile();
-}
-
-// Destructor
-////////////////////////////////////////////////////////////////////////////
-t_inpFile::~t_inpFile() {
-  QMapIterator<QString, t_keyword*> it(_keywords); 
-  while (it.hasNext()) {
-    it.next();
-    delete it.value();
-  }
-}
-
-// 
-////////////////////////////////////////////////////////////////////////////
-void t_inpFile::readFile() {
-
-  QFile file(_fileName);
-  file.open(QIODevice::ReadOnly | QIODevice::Text);
-  QTextStream inStream(&file);
-
-  int iPanel = 0;
-
-  while (inStream.status() == QTextStream::Ok && !inStream.atEnd()) {
-    QString line = inStream.readLine().trimmed();
-
-    // Skip Comments and empty Lines
-    // -----------------------------
-    if      (line.isEmpty() || line[0] == '!') {
-      continue;
-    }
-
-    // Read Panels
-    // -----------
-    else if (line[0] == '#' && line.indexOf("BEGIN_PANEL") != -1) {
-      t_panel* panel = new t_panel(line, inStream, &_keywords);
-      if (panel->ok()) {
-        ++iPanel;
-        addTab(panel, QString("Panel %1").arg(iPanel));
-      }
-      else {
-        delete panel;
-      }
-    }
-
-    // Read Keywords
-    // -------------
-    else {
-      t_keyword* keyword = new t_keyword(line, inStream);
-      if (keyword->ok()) {
-        _keywords[keyword->name()] = keyword;
-      }
-      else {
-        delete keyword;
-      }
-    }
-  }
-}
Index: trunk/GnssCenter/src/inpedit/inpfile.h
===================================================================
--- trunk/GnssCenter/src/inpedit/inpfile.h	(revision 5014)
+++ 	(revision )
@@ -1,25 +1,0 @@
-#ifndef GnssCenter_INPFILE_H
-#define GnssCenter_INPFILE_H
-
-#include <QtGui>
-
-namespace GnssCenter {
-
-class t_keyword;
-class t_panel;
-
-class t_inpFile : public QTabWidget {
- public:
-  t_inpFile(const QString& fileName);
-  ~t_inpFile();
-
- private:
-  void readFile();
-  QString                   _fileName;
-  QMap<QString, t_keyword*> _keywords;
-};
-
-} // namespace GnssCenter
-
-#endif
-
Index: trunk/GnssCenter/src/mainwin.cpp
===================================================================
--- trunk/GnssCenter/src/mainwin.cpp	(revision 5014)
+++ trunk/GnssCenter/src/mainwin.cpp	(revision 5015)
@@ -21,5 +21,5 @@
 #include "plugininterface.h" 
 #include "map/svgmap.h"
-#include "inpedit/inpfile.h"
+#include "inpedit/inpedit.h"
 
 using namespace std;
@@ -126,6 +126,7 @@
   QString fileName = QFileDialog::getOpenFileName(this);
   if (!fileName.isEmpty()) {
-    t_inpFile* inpFile = new t_inpFile(fileName);
-    QMdiSubWindow* win = _mdi->addSubWindow(inpFile);
+    t_inpEdit* inpEdit = new t_inpEdit();
+    inpEdit->setInputFile(fileName);
+    QMdiSubWindow* win = _mdi->addSubWindow(inpEdit);
     win->show();
   }
Index: trunk/GnssCenter/src/src.pro
===================================================================
--- trunk/GnssCenter/src/src.pro	(revision 5014)
+++ trunk/GnssCenter/src/src.pro	(revision 5015)
@@ -32,8 +32,8 @@
   INCLUDEPATH += inpedit
 
-  HEADERS += inpedit/keyword.h   inpedit/panel.h      inpedit/inpfile.h   \
+  HEADERS += inpedit/keyword.h   inpedit/panel.h      inpedit/inpedit.h   \
              inpedit/selwin.h    inpedit/lineedit.h   inpedit/uniline.h
 
-  SOURCES += inpedit/keyword.cpp inpedit/panel.cpp    inpedit/inpfile.cpp \
+  SOURCES += inpedit/keyword.cpp inpedit/panel.cpp    inpedit/inpedit.cpp \
              inpedit/selwin.cpp  inpedit/lineedit.cpp inpedit/uniline.cpp
 }
