Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        // 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);
                }
            }
        }
Exemplo n.º 3
0
            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);
            }
Exemplo n.º 4
0
        /// <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.");
        }
Exemplo n.º 5
0
 public void UnselectAllOutputFields()
 {
     OutputVertices.ForEach(v => v.Include = false);
 }
Exemplo n.º 6
0
 public void SelectAllOutputFields()
 {
     OutputVertices.ForEach(v => v.Include = true);
 }