private ACNode[] isEntrys; //todo find out whats difference //private string[] methodNames; public void LoadAutoCompletes() { if (ISAC_Open) { HideISAC(); } SMDefinition def = ConfigList.Current.GetSMDef(); funcNames = def.FunctionStrings; funcs = def.Functions.ToArray(); acEntrys = def.ProduceACNodes(); isEntrys = def.ProduceISNodes(); //AutoCompleteBox.Items.Clear(); //MethodAutoCompleteBox.Items.Clear(); AutoCompleteBox.ItemsSource = acEntrys; MethodAutoCompleteBox.ItemsSource = isEntrys; /*for (int i = 0; i < acEntrys.Length; ++i) * { * AutoCompleteBox.Items.Add(acEntrys[i].Name); * } * for (int i = 0; i < isEntrys.Length; ++i) * { * MethodAutoCompleteBox.Items.Add(isEntrys[i].Name); * }*/ }
private void BackgroundParser_Worker() { while (true) { while (Program.Options.DynamicIsac) { Thread.Sleep(5000); var ee = GetAllEditorElements(); if (ee != null) { SMDefinition[] definitions = new SMDefinition[ee.Length]; for (int i = 0; i < ee.Length; ++i) { FileInfo fInfo = new FileInfo(ee[i].FullFilePath); if (fInfo.Extension.Trim('.').ToLowerInvariant() == "inc") { var condenser = new Condenser(File.ReadAllText(fInfo.FullName), fInfo.Name); definitions[i] = ((new Condenser(File.ReadAllText(fInfo.FullName), fInfo.Name)).Condense()); } } currentSMDef = (Program.ConfigList.Current.GetSMDef()).ProduceTemporaryExpandedDefinition(definitions); currentSMFunctions = currentSMDef.Functions.ToArray(); currentACNodes = currentSMDef.ProduceACNodes(); currentISNodes = currentSMDef.ProduceISNodes(); ++currentSMDefUID; } } Thread.Sleep(5000); } }
private void BackgroundParser_Worker() { while (true) { while (Program.OptionsObject.Program_DynamicISAC) { Thread.Sleep(5000); var ee = GetAllEditorElements(); if (ee != null) { SMDefinition[] definitions = new SMDefinition[ee.Length]; for (int i = 0; i < ee.Length; ++i) { FileInfo fInfo = new FileInfo(ee[i].FullFilePath); if (fInfo.Extension.Trim('.').ToLowerInvariant() == "inc") { definitions[i] = (new Condenser(File.ReadAllText(fInfo.FullName), fInfo.Name).Condense()); } } currentSMDef = (Program.Configs[Program.SelectedConfig].GetSMDef()).ProduceTemporaryExpandedDefinition(definitions); currentSMFunctions = currentSMDef.Functions.ToArray(); currentACNodes = currentSMDef.ProduceACNodes(); currentISNodes = currentSMDef.ProduceISNodes(); ++currentSMDefUID; } } Thread.Sleep(5000); } // ReSharper disable once FunctionNeverReturns }
public SPDefinitionWindow() { InitializeComponent(); Language_Translate(); if (Program.OptionsObject.Program_AccentColor != "Red" || Program.OptionsObject.Program_Theme != "BaseDark") { ThemeManager.ChangeAppStyle(this, ThemeManager.GetAccent(Program.OptionsObject.Program_AccentColor), ThemeManager.GetAppTheme(Program.OptionsObject.Program_Theme)); } errorSearchBoxBrush.Freeze(); SMDefinition def = Program.Configs[Program.SelectedConfig].GetSMDef(); if (def == null) { MessageBox.Show(Program.Translations.GetLanguage("ConfigWrongPars"), Program.Translations.GetLanguage("Error"), MessageBoxButton.OK, MessageBoxImage.Warning); this.Close(); return; } List <SPDefEntry> defList = def.Functions.Cast <SPDefEntry>().ToList(); defList.AddRange(def.Constants.Cast <SPDefEntry>()); defList.AddRange(def.Enums.Cast <SPDefEntry>()); defList.AddRange(def.Defines.Cast <SPDefEntry>()); defList.AddRange(def.Structs.Cast <SPDefEntry>()); defList.AddRange(def.Methodmaps.Cast <SPDefEntry>()); defList.AddRange(def.Typedefs.Cast <SPDefEntry>()); defList.AddRange(def.EnumStructs.Cast <SPDefEntry>()); foreach (var mm in def.Methodmaps) { defList.AddRange(mm.Methods.Cast <SPDefEntry>()); defList.AddRange(mm.Fields.Cast <SPDefEntry>()); } foreach (var sm in def.EnumStructs) { defList.AddRange(sm.Methods.Cast <SPDefEntry>()); defList.AddRange(sm.Fields.Cast <SPDefEntry>()); } foreach (var e in defList.Where(e => string.IsNullOrWhiteSpace(e.Name))) { e.Name = $"--{Program.Translations.GetLanguage("NoName")}--"; } defList.Sort((a, b) => string.CompareOrdinal(a.Name, b.Name)); defArray = defList.ToArray(); int defArrayLength = defArray.Length; items = new ListViewItem[defArrayLength]; for (int i = 0; i < defArrayLength; ++i) { items[i] = new ListViewItem() { Content = defArray[i].Name, Tag = defArray[i].Entry }; SPBox.Items.Add(items[i]); } searchTimer.Elapsed += searchTimer_Elapsed; }
private void BackgroundParser_Worker() { while (true) { while (Program.OptionsObject.Program_DynamicISAC) { Thread.Sleep(3000); var ee = GetAllEditorElements(); var caret = -1; if (ee != null) { var definitions = new SMDefinition[ee.Length]; List <SMFunction> currentFunctions = null; for (var i = 0; i < ee.Length; ++i) { var fInfo = new FileInfo(ee[i].FullFilePath); if (fInfo.Extension.Trim('.').ToLowerInvariant() == "inc") { definitions[i] = new Condenser(File.ReadAllText(fInfo.FullName), fInfo.Name).Condense(); } if (fInfo.Extension.Trim('.').ToLowerInvariant() == "sp") { var i1 = i; Dispatcher.Invoke(() => { if (ee[i1].IsLoaded) { caret = ee[i1].editor.CaretOffset; definitions[i1] = new Condenser(File.ReadAllText(fInfo.FullName), fInfo.Name) .Condense(); currentFunctions = definitions[i1].Functions; } }); } } currentSMDef = Program.Configs[Program.SelectedConfig].GetSMDef() .ProduceTemporaryExpandedDefinition(definitions, caret, currentFunctions); currentSMFunctions = currentSMDef.Functions.ToArray(); currentACNodes = currentSMDef.ProduceACNodes(); currentISNodes = currentSMDef.ProduceISNodes(); ++currentSMDefUID; } } } // ReSharper disable once FunctionNeverReturns }
public Condenser(string sourceCode, string fileName) { t = Tokenizer.Tokenizer.TokenizeString(sourceCode, true).ToArray(); position = 0; length = t.Length; def = new SMDefinition(); source = sourceCode; if (fileName.EndsWith(".inc", StringComparison.InvariantCultureIgnoreCase)) { fileName = fileName.Substring(0, fileName.Length - 4); } FileName = fileName; }
public void LoadSMDef() { if (this.SMDef != null) { return; } try { SMDefinition def = new SMDefinition(); def.AppendFiles(SMDirectories); SMDef = def; } catch (Exception) { this.SMDef = new SMDefinition(); //this could be dangerous... } }
public void InvalidateSMDef() { SMDef = null; }
public void InvalidateSMDef() { this.SMDef = null; }
public AeonEditorHighlighting(SMDefinition smDef) { this.smDef = smDef; }
public void AddStateMachine(StateMachineModel model) { var addedTriggers = new List <string>(); var addedStates = new List <string>(); var stateMachineDefinition = new SMDefinition { Name = model.Name, Agenda = model.Agenda, Version = model.Version, Definition = model.Definition.ToString(Formatting.None), }; _context.SMDefinition.Add(stateMachineDefinition); _context.SaveChanges(); var initialStateName = (string)model.Definition["initial"]; var allObjects = model.Definition.DescendantsAndSelf().OfType <JObject>(); var stateTokens = allObjects.Where(x => x.ContainsKey("kind")); var transitionTokens = allObjects.Where(x => x.ContainsKey("target")); var stateTypeId = _context.ElementType.FirstOrDefault(x => x.Name.Equals("state")).Id; var transitionTypeId = _context.ElementType.FirstOrDefault(x => x.Name.Equals("transition")).Id; foreach (var transition in transitionTokens) { if (!addedTriggers.Contains((string)transition["event"])) { var newTrigger = new TransitionTrigger { Name = (string)transition["event"] }; addedTriggers.Add(newTrigger.Name); _context.TransitionTrigger.Add(newTrigger); } } foreach (var state in stateTokens) { if (!addedStates.Contains((string)state["id"])) { var newState = new Element { SMDefinitionId = stateMachineDefinition.Id, ElementTypeId = stateTypeId, Name = (string)state["id"] }; addedStates.Add(newState.Name); _context.Element.Add(newState); } } _context.SaveChanges(); foreach (var state in stateTokens) { var childTransitionTokens = state["states"] == null ? state.DescendantsAndSelf().OfType <JObject>().Where(x => x.ContainsKey("target")) : state.SelectToken("transitions").Children().OfType <JObject>().Where(x => x.ContainsKey("target")); foreach (var childTransition in childTransitionTokens) { var newTransition = new Element { ElementTypeId = transitionTypeId, SMDefinitionId = stateMachineDefinition.Id, OldStateId = _context.Element.FirstOrDefault(x => x.ElementTypeId == stateTypeId && x.Name.Equals((string)state["id"])).Id, NewStateId = _context.Element.FirstOrDefault(x => x.ElementTypeId == stateTypeId && x.Name.Equals((string)childTransition["target"])).Id, TransitionTriggerId = _context.TransitionTrigger.FirstOrDefault(x => x.Name.Equals((string)childTransition["event"])).Id }; _context.Element.Add(newTransition); } } stateMachineDefinition.InitialStateId = _context.Element.FirstOrDefault(x => x.ElementTypeId == stateTypeId && x.Name.Equals(initialStateName)).Id; _context.SaveChanges(); }