diff options
author | Daniel Burrows <dburrows@debian.org> | 2009-04-03 09:57:39 -0700 |
---|---|---|
committer | Daniel Burrows <dburrows@debian.org> | 2009-04-03 09:57:39 -0700 |
commit | 8c401236c85d543ca565132bbab5a857867e4b97 (patch) | |
tree | cffe708d87527a339d8b5ae28656d8b7d7129e17 /tools | |
parent | 562ea22b1764ff8018a9a9e2b8021c8f70850283 (diff) | |
download | aptitude-8c401236c85d543ca565132bbab5a857867e4b97.tar.gz |
Add dotted edges that follow the order of the search rather than the hierarchy.
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/resolver-visualize/Main.hs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tools/resolver-visualize/Main.hs b/tools/resolver-visualize/Main.hs index d2799e92..bb01f8ee 100755 --- a/tools/resolver-visualize/Main.hs +++ b/tools/resolver-visualize/Main.hs @@ -1044,6 +1044,14 @@ dotEdges params step = processed ++ unprocessed | ((Unprocessed { successorChoice = succChoice }), stepNum) <- zip (stepSuccessors step) ([0..] :: [Integer]) ] +dotOrderEdges steps = + [ edge (node (name $ printf "step%d" (stepOrder step1))) + (node (name $ printf "step%d" (stepOrder step2))) + ..= ("constraint", "false") + ..= ("style", "dotted") + ..= ("color", "blue") + | (step1, step2) <- zip steps (drop 1 steps) ] + renderDot :: Params -> [ProcessingStep] -> Digraph renderDot params steps = let droppedSteps = maybe steps (\n -> genericDrop n steps) (firstStep params) @@ -1052,8 +1060,9 @@ renderDot params steps = then error "No steps to render." else let stepNodes = map (dotStepNode params) truncatedSteps unprocessed = concat $ map (dotUnprocessedSuccs params) truncatedSteps - edges = concat $ map (dotEdges params) truncatedSteps in - digraph (stepNodes ++ unprocessed) edges + stepEdges = concat $ map (dotEdges params) truncatedSteps + orderEdges = dotOrderEdges truncatedSteps in + digraph (stepNodes ++ unprocessed) (stepEdges ++ orderEdges) writeDotRun params steps outputFile = do let dot = renderDot params steps |