// // Created by Krad on 2021/12/16. // #include "GUIErrorFactory.h" #include "GUIErrorLE.h" #include "GUIErrorLW.h" GUIErrorBase *GUIErrorFactory::getError(const QString &errorMsg) { if (errorMsg.isEmpty()) return new GUIErrorBase; //新模式,分级 if (errorMsg[1] == ' ') { char c = errorMsg[0].toLower().toLatin1(); switch (c) { //WARN 级别 case 'w': { auto error = new GUIErrorLW; error->parse(errorMsg.right(errorMsg.length()-2)); return error; } //ERROR 级别 case 'e': default: auto error = new GUIErrorLE; error->parse(errorMsg); return error; } } auto error = new GUIErrorLE; error->parse(errorMsg); return error; }