public static ExecutionMode Parse(WordReader reader, uint wordCount) { var id = (Enumerant)reader.ReadWord(); switch (id) { case Enumerant.Invocations: return(Invocations.Parse(reader, wordCount - 1)); case Enumerant.LocalSize: return(LocalSize.Parse(reader, wordCount - 1)); case Enumerant.LocalSizeHint: return(LocalSizeHint.Parse(reader, wordCount - 1)); case Enumerant.OutputVertices: return(OutputVertices.Parse(reader, wordCount - 1)); case Enumerant.VecTypeHint: return(VecTypeHint.Parse(reader, wordCount - 1)); default: return(new ExecutionMode(id)); } }
// return value: success private void LoadPersistedOutputFields() { // load selected output fields from settings var worksheetData = App.Settings.CurrentWorksheetSettings; if (worksheetData?.SelectedOutputFields != null && worksheetData.SelectedOutputFields.Count > 0 && OutputVertices.Count > 0 && !OutputVertices.Where(v => v.Include).Select(v => v.StringAddress).ToList() .SequenceEqual(worksheetData.SelectedOutputFields)) { Logger.Log(LogItemType.Info, "Loading selected output fields from persisted user settings..."); UnselectAllOutputFields(); foreach (var v in OutputVertices) { if (worksheetData.SelectedOutputFields.Contains(v.StringAddress)) { v.Include = true; } } var firstIncludedOutputVertex = OutputVertices.FirstOrDefault(v => v.Include); if (firstIncludedOutputVertex != null) { _window.outputFieldsListView.ScrollIntoView(firstIncludedOutputVertex); } } }
public new static OutputVertices Parse(WordReader reader, uint wordCount) { var end = reader.Position + wordCount; var res = new OutputVertices(); res.Vertexcount = Spv.LiteralInteger.Parse(reader, end - reader.Position); return(res); }
/// <summary> /// Filters by selected output vertices, displays graph, and colors spreadsheet cells /// </summary> public void FilterGraph() { var includedVertices = OutputVertices.Where(v => v.Include).ToList(); var includedVertexAddresses = includedVertices.Select(v => v.StringAddress).ToList(); App.Settings.CurrentWorksheetSettings.SelectedOutputFields = includedVertexAddresses.Count != OutputVertices.Count ? includedVertexAddresses : null; App.Settings.Persist(); Logger.Log(LogItemType.Info, $"Selected output fields: {string.Join(", ", includedVertexAddresses)}"); Graph.PerformTransitiveFilter(includedVertices); Application.Current.Dispatcher.Invoke(LayoutGraph, DispatcherPriority.Background); Logger.Log(LogItemType.Success, "Graph generation complete."); }
public void UnselectAllOutputFields() { OutputVertices.ForEach(v => v.Include = false); }
public void SelectAllOutputFields() { OutputVertices.ForEach(v => v.Include = true); }