[PATCH 2 of 6] graph: draw edges to obsolete changesets as dashed

2015-07-28 Thread Andrew Shadura
# HG changeset patch
# User Sean Farley 
# Date 1404932959 18000
#  Wed Jul 09 14:09:19 2014 -0500
# Node ID 1d08fb9cd850269f7f771e54f3e9496d49fcb102
# Parent  011e77e80ae34ba9a19b8591c78959feee5934b9
graph: draw edges to obsolete changesets as dashed

diff --git a/kallithea/lib/graphmod.py b/kallithea/lib/graphmod.py
--- a/kallithea/lib/graphmod.py
+++ b/kallithea/lib/graphmod.py
@@ -103,6 +103,7 @@ def _colored(repo, dag):
 
 row = []
 colors = {}
+obs = {}
 newcolor = 1
 
 for (rev, dagparents) in dag:
@@ -111,6 +112,7 @@ def _colored(repo, dag):
 if rev not in row:
 row.append(rev)  # new head
 colors[rev] = newcolor
+obs[rev] = int(repo[rev].obsolete)
 newcolor += 1
 
 col = row.index(rev)
@@ -126,12 +128,14 @@ def _colored(repo, dag):
 nextrow.append(r)
 else:
 colors.pop(r)
+obs.pop(r)
 
 # Set colors for the parents
 color = colors.pop(rev)
 if addparents:
 b = branch(rev)
 for p in reversed(addparents):
+obs[p] = int(repo[p].obsolete)
 if b and branch(abs(p)) == b:
 colors[p] = color
 b = None
@@ -143,10 +147,10 @@ def _colored(repo, dag):
 edges = []
 for ecol, ep in enumerate(row):
 if ep in nextrow:
-edges.append((ecol, nextrow.index(ep), colors[ep]))
+edges.append((ecol, nextrow.index(ep), colors[ep], obs[ep]))
 elif ep == rev:
 for p in dagparents:
-edges.append((ecol, nextrow.index(p), colors[p]))
+edges.append((ecol, nextrow.index(p), colors[p], obs[p]))
 
 # Yield and move on
 closing = int(repo[rev].closesbranch)
diff --git a/kallithea/public/js/graph.js b/kallithea/public/js/graph.js
--- a/kallithea/public/js/graph.js
+++ b/kallithea/public/js/graph.js
@@ -115,6 +115,7 @@ function BranchRenderer(canvas_id, conte
start = line[0];
end = line[1];
color = line[2];
+   obsolete_line = line[3];

x = Math.floor(base_x - box_size * start);
 
@@ -159,6 +160,11 @@ function BranchRenderer(canvas_id, conte

this.ctx.lineWidth=this.line_width;
this.ctx.beginPath();
+   if (obsolete_line)
+   {
+   this.ctx.setLineDash([5]);
+   }
+   this.ctx.beginPath();
this.ctx.moveTo(x, rowY);
if (start == end)
{
@@ -168,9 +174,14 @@ function BranchRenderer(canvas_id, conte
{
var x2 = Math.floor(base_x - box_size * 
end);
var ymid = (rowY+nextY) / 2;
+   if (obsolete_node)
+   {
+   this.ctx.setLineDash([5]);
+   }
this.ctx.bezierCurveTo 
(x,ymid,x2,ymid,x2,nextY);
}
this.ctx.stroke();
+   this.ctx.setLineDash([]); // reset the dashed 
line, if any
}

column = node[0];
___
kallithea-general mailing list
kallithea-general@sfconservancy.org
http://lists.sfconservancy.org/mailman/listinfo/kallithea-general


Re: [PATCH 2 of 6] graph: draw edges to obsolete changesets as dashed

2015-07-28 Thread Sean Farley

Andrew Shadura  writes:

> # HG changeset patch
> # User Sean Farley 
> # Date 1404932959 18000
> #  Wed Jul 09 14:09:19 2014 -0500
> # Node ID 1d08fb9cd850269f7f771e54f3e9496d49fcb102
> # Parent  011e77e80ae34ba9a19b8591c78959feee5934b9
> graph: draw edges to obsolete changesets as dashed

I was actually thinking of making these show as solid lines but drawing
a dash between the precursor / successor changesets. The wrench I ran
into was drawing the dotted line between pages.
___
kallithea-general mailing list
kallithea-general@sfconservancy.org
http://lists.sfconservancy.org/mailman/listinfo/kallithea-general