Exemple #1
0
 private static void BackgroundworkerDoWork(object sender, DoWorkEventArgs e)
 {
     var workerArgs = e.Argument as WorkerArgs;
     if (workerArgs != null)
     {
         var bitmapImage = Utilities.LoadBitmap(workerArgs.IconPath);
         var instance = ServiceLocator.Current.GetInstance<MainViewModel>();
         var fileLanguage = instance.ActiveEditor.FileLanguage;
         var match = VariableHelper.FindMatches(workerArgs.Lang.XYZRegex, workerArgs.Filename);
         var fileNameWithoutExtension =
             System.IO.Path.GetFileNameWithoutExtension(bitmapImage.UriSource.AbsolutePath);
         var flag = fileNameWithoutExtension != null && fileNameWithoutExtension.Contains("XYZ");
         while (match.Success)
         {
             var item = new Variable
             {
                 Icon = bitmapImage,
                 Path = workerArgs.Filename,
                 Offset = match.Index,
                 Type = match.Groups[1].ToString(),
                 Name = match.Groups[2].ToString(),
                 Value = flag ? fileLanguage.ExtractXYZ(match.ToString()) : match.Groups[3].ToString(),
                 Comment = match.Groups[4].ToString()
             };
             Variables.Add(item);
             match = match.NextMatch();
         }
     }
 }
Exemple #2
0
 public static List<IVariable> GetVariables(string filename, Regex regex, string iconpath)
 {
     var list = new List<IVariable>();
     var bitmapImage = Utilities.LoadBitmap(iconpath);
     var instance = ServiceLocator.Current.GetInstance<MainViewModel>();
     var fileLanguage = instance.ActiveEditor.FileLanguage;
     var match = VariableHelper.FindMatches(regex, filename);
     var fileNameWithoutExtension =
         System.IO.Path.GetFileNameWithoutExtension(bitmapImage.UriSource.AbsolutePath);
     var flag = fileNameWithoutExtension != null && fileNameWithoutExtension.Contains("XYZ");
     List<IVariable> result;
     if (match == null)
     {
         var msg = new ErrorMessage("Variable for " + fileLanguage.RobotType,
             "Does not exist in VariableBase.GetVariables", MessageType.Error);
         Messenger.Default.Send<IMessage>(msg);
         result = null;
     }
     else
     {
         while (match.Success)
         {
             var item = new Variable
             {
                 Icon = bitmapImage,
                 Path = filename,
                 Offset = match.Index,
                 Type = match.Groups[1].ToString(),
                 Name = match.Groups[2].ToString(),
                 Value = flag ? fileLanguage.ExtractXYZ(match.ToString()) : match.Groups[3].ToString(),
                 Comment = match.Groups[4].ToString()
             };
             list.Add(item);
             match = match.NextMatch();
         }
         result = list;
     }
     return result;
 }