浏览代码

Broadcast CLI loadModules errors using errorDetected signal

Matt Clarkson 11 年之前
父节点
当前提交
f72edaf3e2

+ 13 - 0
Libs/CommandLineModules/Core/ctkCmdLineModuleDirectoryWatcher.cpp

@@ -22,6 +22,7 @@
 #include "ctkCmdLineModuleDirectoryWatcher_p.h"
 #include "ctkCmdLineModuleDirectoryWatcher_p.h"
 #include "ctkCmdLineModuleManager.h"
 #include "ctkCmdLineModuleManager.h"
 #include "ctkCmdLineModuleConcurrentHelpers.h"
 #include "ctkCmdLineModuleConcurrentHelpers.h"
+#include "ctkCmdLineModuleUtils.h"
 #include "ctkException.h"
 #include "ctkException.h"
 
 
 #include <QObject>
 #include <QObject>
@@ -97,6 +98,13 @@ QStringList ctkCmdLineModuleDirectoryWatcher::commandLineModules() const
 
 
 
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
+void ctkCmdLineModuleDirectoryWatcher::emitErrorDectectedSignal(const QString& msg)
+{
+  emit errorDetected(msg);
+}
+
+
+//-----------------------------------------------------------------------------
 // ctkCmdLineModuleDirectoryWatcherPrivate methods
 // ctkCmdLineModuleDirectoryWatcherPrivate methods
 
 
 
 
@@ -417,6 +425,11 @@ QList<ctkCmdLineModuleReferenceResult> ctkCmdLineModuleDirectoryWatcherPrivate::
       this->MapFileNameToReferenceResult[executables[i]] = refResults[i];
       this->MapFileNameToReferenceResult[executables[i]] = refResults[i];
     }
     }
   }
   }
+
+  // Broadcast error messages.
+  QString errorMessages = ctkCmdLineModuleUtils::errorMessagesFromModuleRegistration(refResults, this->ModuleManager->validationMode());
+  q->emitErrorDectectedSignal(errorMessages);
+
   return refResults;
   return refResults;
 }
 }
 
 

+ 5 - 0
Libs/CommandLineModules/Core/ctkCmdLineModuleDirectoryWatcher.h

@@ -107,6 +107,11 @@ public:
    */
    */
   QStringList commandLineModules() const;
   QStringList commandLineModules() const;
 
 
+  /**
+   * \brief public method to emit the errorDetected signal.
+   */
+  void emitErrorDectectedSignal(const QString&);
+
 Q_SIGNALS:
 Q_SIGNALS:
 
 
   /**
   /**