Exemple #1
0
        private void SetGraph(GraphEmbedding graphEmbedding)
        {
            PauseButton_Click(null, null);
            this.RunAlgorithmButton.IsEnabled = true;
            this.StaticGraphCanvas.Children.Clear();
            this.GraphVisual = GraphVisual.Create(StaticGraphCanvas, NodeBrush, NumBrush, LineBrush, PenLineCap);
            foreach (var node in graphEmbedding.Graph.Nodes)
            {
                GraphVisual.AddNode(node, graphEmbedding.Embedding[node]);
            }
            foreach (var edge in graphEmbedding.Graph.Edges)
            {
                GraphVisual.AddEdge(edge);
            }
            var scaleViewStackPanel = new StackPanel();

            this.ScaleViewViewer.Content = scaleViewStackPanel;
            WeightsHandler.Create(scaleViewStackPanel, NodeBrush, LineBrush, GraphVisual.NodeWidth,
                                  GraphVisual.MinLineThickness,
                                  GraphVisual.MaxLineThickness, GraphVisual.MinWeight, GraphVisual.MaxWeight);
            var edges = EdgesHandler.Create(this.WeightsViewer);

            foreach (var edge in graphEmbedding.Graph.Edges)
            {
                edges.AddEdge(edge, active: false);
            }
        }
        private UIElement InputGraphBullet()
        {
            Predicate <string> validityCheck = path => File.Exists(path) && GraphEmbedding.CanParse(path);
            Action <string>    onPathChanged = path =>
            {
                InputGraphPath = path;
                SetGraph(GraphEmbedding.FromText(File.ReadLines(path)));
            };
            var textBox = InteractiveTextBox.Create(InputGraphPath, validityCheck, onPathChanged, Dispatcher);

            InputGraphTextBox = textBox;
            return(HorizontalContainerStrecherd.Create()
                   .AddLeft(TextBlockCreator.RegularTextBlock("Input Graph").WithBullet())
                   .AddRight(ButtonCreator.Create("...", () => DialogCreator.ChooseFile(path => textBox.Text = path)))
                   .AsDock(textBox));
        }
Exemple #3
0
        private void OpenGraphButton_OnClick(object __, RoutedEventArgs _)
        {
            try
            {
                void FileChosen(string path)
                {
                    var embedding = GraphEmbedding.FromText(File.ReadLines(path));

                    this.GraphVisual.SetNewEmbedding(embedding);
                }
                DialogCreator.ChooseFile(FileChosen);
            }
            catch (Exception e)
            {
                MessageBox.Show("An error occured. file is malformed:" + Environment.NewLine + e.Message);
            }
        }