/// <summary> /// Select a node in the tree browser /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnVisualisationClick_TreeViewer(object sender, VisEventArgs e) { if (e.Element == null) return; SolverNode solverNode = null; TreeVisualisationElement element = e.Element as TreeVisualisationElement; if (element != null) solverNode = element.Data; RootPathElement rele = e.Element as RootPathElement; if (rele != null) solverNode = rele.Node; if (solverNode == null) return; BindNode(solverNode); }
private void OnVisualisationClick_ReverseTree(object sender, VisEventArgs e) { OnVisualisationClick_TreeViewer(sender, e); }
/// <summary> /// Select a node in the tree browser /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnVisualisationClick_TreeViewer(object sender, VisEventArgs e) { if (e.Element == null) return; SolverNode solverNode = null; TreeVisualisationElement element = e.Element as TreeVisualisationElement; if (element != null) solverNode = element.Data; RootPathElement rele = e.Element as RootPathElement; if (rele != null) solverNode = rele.Node; if (solverNode == null) return; SokobanMap build = BuildCurrentMap(solverNode); if (build != null) { BitmapViewer.Layer puzzleLayer = new BitmapViewer.Layer(); puzzleLayer.Name = "Puzzle"; puzzleLayer.Map = build; puzzleLayer.Order = 0; puzzleLayer.IsVisible = true; bitmapViewerNodeMaps.SetLayer(puzzleLayer); } if (solverNode.MoveMap != null) { SolverBitmap move = new SolverBitmap("MoveMap", solverNode.MoveMap); bitmapViewerNodeMaps.SetLayer(move, new SolidBrush(Color.FromArgb(120, Color.Green))); } if (solverNode.DeadMap != null) { bitmapViewerNodeMaps.SetLayer(solverNode.DeadMap, new SolidBrush(Color.FromArgb(120, Color.Black))); } // Build details SolverLabelList txt = solverNode.GetDisplayData(); webBrowserNodeCurrent.DocumentText = txt.ToHTMLDocument(); bitmapViewerNodeMaps.Render(); if (sender != visualisationContainerLocalNodes) { RootPathVisualisation localVis = new RootPathVisualisation(new SizeInt(10, 10), solver); localVis.RenderCanvas = new RectangleInt(0, 0, visualisationContainerLocalNodes.Width - 30, visualisationContainerLocalNodes.Height - 30); localVis.Init(solverNode); visualisationContainerLocalNodes.ClearImage(); visualisationContainerLocalNodes.Visualisation = localVis; visualisationContainerLocalNodes.Render(); } }
private void OnVisualisationClick_LocalNode(object sender, VisEventArgs e) { if (e.Mouse.Clicks > 1) { OnVisualisationClick_TreeViewer(sender, e); } else { OnVisualisationClick_TreeViewer(sender, e); } }
private void OnVisualisationClick_LocalNode(object sender, VisEventArgs e) { OnVisualisationClick_TreeViewer(sender, e); }