Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/11/14 21:17:30 (10 years ago)
Author:
bburlacu
Message:

#1772: Improved display of trees and fragments in the FragmentGraphView by displaying the whole tree and highlighting the subtree and the fragment inside it. Changed color scheme to look nicer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/FragmentGraphView.cs

    r10833 r10838  
    9696        var aPos = aTile.Position;
    9797
    98         if (node.Content.Index1 > 0) {
    99           var subtree = node.Content.Root.NodeAt(node.Content.Index1);
     98        var fragment = node.Content;
     99        if (fragment.Index1 > 0) {
     100          var subtree = fragment.Root.NodeAt(fragment.Index1);
    100101          foreach (var s in subtree.IterateNodesPrefix()) {
    101102            var primitive = aTile.GetPrimitive(s);
     
    103104              var rpb = primitive as RectangularPrimitiveBase;
    104105              if (rpb != null) {
    105                 rpb.Pen = Pens.RoyalBlue;
     106                rpb.Pen = new Pen(Color.Black);
    106107              }
    107108            }
    108109          }
     110        }
     111        if (fragment.Index2 > 0) {
     112          var subtree = fragment.Root.NodeAt(fragment.Index2);
     113          foreach (var s in subtree.IterateNodesPrefix()) {
     114            var primitive = aTile.GetPrimitive(s);
     115            if (primitive != null) {
     116              var rpb = primitive as RectangularPrimitiveBase;
     117              if (rpb != null) {
     118                rpb.Brush = new SolidBrush(Color.LightGray);
     119              }
     120            }
     121          }
     122        }
     123
     124        if (node.Parents.Any() && node == node.Parents.First().Children.First()) {
     125          var parent = node.Parents.First();
     126          var index = fragment.Index1 + (parent.Content.Index2 - parent.Content.Index1);
     127          var subtree = fragment.Root.NodeAt(index);
     128          var primitive = aTile.GetPrimitive(subtree);
     129          primitive.Brush = new SolidBrush(Color.LightCoral);
    109130        }
    110131
     
    114135          var bPos = bTile.Position;
    115136
    116           var line = new Line(chart, new PointD(aPos.X + aSize.Width / 2.0, aPos.Y + aSize.Height), new PointD(bPos.X + bSize.Width / 2.0, bPos.Y));
     137          var line = new Line(chart, new PointD(aPos.X + aSize.Width / 2.0, aPos.Y + aSize.Height), new PointD(bPos.X + bSize.Width / 2.0, bPos.Y)) {
     138            Pen = Pens.DimGray
     139          };
    117140          symbolicExpressionChartControl.Add(line);
    118141
    119           if (child == node.Children.First()) {
    120             if (node.Content.Index1 > 0) {
    121               var subtree = child.Content.Root.NodeAt(node.Content.Index1);
    122               foreach (var s in subtree.IterateNodesPrefix()) {
    123                 var primitive = bTile.GetPrimitive(s);
    124                 if (primitive != null) {
    125                   var rpb = primitive as RectangularPrimitiveBase;
    126                   if (rpb != null) {
    127                     rpb.Pen = Pens.DarkOrange;
    128                   }
    129                 }
    130               }
    131             }
    132           }
     142          //          if (child == node.Children.First()) {
     143          //            var subtree = child.Content.Root.NodeAt(fragment.Index2);
     144          //            var primitive = bTile.GetPrimitive(subtree);
     145          //            if (primitive != null) {
     146          //              var rpb = primitive as RectangularPrimitiveBase;
     147          //              if (rpb != null) {
     148          //                rpb.Pen = new Pen(Color.RoyalBlue);
     149          //              }
     150          //            }
     151          //          }
    133152        }
    134153      }
Note: See TracChangeset for help on using the changeset viewer.