static private bool FindAliasInSameQmlFile(EQmlFile eQmlFile, string referenceName, ref string typeName) { typeName = ""; try { //Console.WriteLine($"{eQmlFile.name} procurando o alias {referenceName}. "); //let's check if it's something like txtField.maximumLength, where txtField is a Element defined in this file var regex = new Regex("(\\w+)\\.(\\w+)", RegexOptions.Singleline); Match match = regex.Match(referenceName); string subReference = ""; if (match.Success) { referenceName = match.Groups[1].Value; //ex: txtField subReference = match.Groups[2].Value; //ex: maximumLength } foreach (EQMLElement eqmlElement in eQmlFile.elementsList) { if (eqmlElement.id == referenceName) { Console.WriteLine(""); typeName = eqmlElement.typeName; typeName = QmlBasicComponents.FindPropertyType(typeName, subReference); if (typeName != null) { return(true); } } } } catch (Exception e) { Logger.LogError(e); } return(false); }
public QmlTSWatcher(string frontendPath) { try { Globals.frontendRestInPeaceFolder = frontendPath + "/RestInPeace"; if (!Directory.Exists(Globals.frontendRestInPeaceFolder)) { Directory.CreateDirectory(Globals.frontendRestInPeaceFolder); } FileHelper.DeleteFilesWithExtensions(Globals.frontendRestInPeaceFolder, ".js", ".mjs", ".ts"); Globals.frontendQmlPagesFolder = frontendPath + "/QmlPages"; Globals.frontendQmlScriptsFolder = frontendPath + "/Scripts"; if (!Helper.ReadKeyIfNotOk(QmlTSFormsReader.AnalyseFiles(frontendPath))) { Environment.Exit(-1); } if (!Helper.ReadKeyIfNotOk(QmlMJSFunctionWriter.WriteFiles())) { Environment.Exit(-1); } Helper.ReadKeyIfNotOk(QmlTSScriptWriter.WriteFiles()); Helper.ReadKeyIfNotOk(QmlTSEntityWriter.WriteFiles(CSharpEntityReader.fileList)); Helper.ReadKeyIfNotOk(QmlTSEnumWriter.WriteFiles(CSharpEnumReader.fileList)); Helper.ReadKeyIfNotOk(QmlTSFormsWriter.WriteFiles()); Helper.ReadKeyIfNotOk(QmlTSUIWriter.WriteFiles(Globals.frontendQmlPagesFolder)); Helper.ReadKeyIfNotOk(QmlJSUpdater.UpdateJavascriptUIFiles()); Helper.ReadKeyIfNotOk(QmlBasicComponents.WriteTypescriptDefinitionsToFrontend()); Helper.ReadKeyIfNotOk(CppComponents.WriteTypescriptDefinitionsToFrontend()); Helper.ReadKeyIfNotOk(DTSWriter.WriteTypescriptEventHandler()); Helper.ReadKeyIfNotOk(QmlTSResourceWriter.WriteFiles(frontendPath)); Logger.LogInfoIfDebugLevel(DebugLevels.Basic | DebugLevels.Files | DebugLevels.Functions | DebugLevels.All, "SUCCESS"); } catch (Exception e) { Logger.LogError(e); } }