# HG changeset patch # User Peer Sommerlund <p...@users.sourceforge.net> # Date 1251705047 -7200 logview: Describe grapher interface at module header
All graphers in the revgraph module returns the same datatype, thus it is more natural to describe it at the module header. diff -r 7f1520bda792 -r 6706113d1ab3 hggtk/logview/revgraph.py --- a/hggtk/logview/revgraph.py +++ b/hggtk/logview/revgraph.py @@ -3,6 +3,45 @@ This module contains the code to produce an ordered directed graph of a Mercurial repository, such as we display in the tree view at the top of the history window. Original code was from graphlog extension. + +The generator functions walks through the revision history and for the +selected revision emits tuples with the following elements: + + (curr_rev, node, lines, parents) + + - Current revision. + - node; defined as tuple (rev_column, rev_color) + - lines; a list of (col, next_col, color) indicating the edges between + the current row and the next row + - parent revisions of current revision + +The node tuple has the following elements: + - rev_column: Column for the node "circle" + - rev_color: Color used to render the circle + +The lines tuple has the following elements: + - col: Column for the upper end of the line. + - nextcol: Column for the lower end of the line. + - color: Colour used for line + +The data is used in treeview.populate with the following signature + (rev, node, lines, parents) = self.grapher.next() +and stored in treeview.graphdata + +The treeview.model is an instance of treemodel which references +treeview.graphdata + +treemodel stores it in self.line_graph_data, and extracts it +in on_get_value, where it is mapped to several columns. + REVID, NODE, LINES, PARENTS, LAST_LINES +LAST_LINES is a copy of LINES from the previous row + +treeview maps columns + treemodel.NODE, treemodel.LAST_LINES, treemodel.LINES +to CellRendererGraph attributes + "node", "in-lines", "out-lines" +which stores it in varables + node, in_lines, out_lines """ __copyright__ = "Copyright 2007 Joel Rosdahl, 2008 Steve Borho" @@ -29,16 +68,15 @@ def revision_grapher(repo, start_rev, stop_rev, branch=None, noheads=False, branch_color=False): """incremental revision grapher - This generator function walks through the revision history from - revision start_rev to revision stop_rev (which must be less than - or equal to start_rev) and for each revision emits tuples with the - following elements: - - - Current revision. - - lines; a list of (col, next_col, color) indicating the edges between - the current row and the next row - - Column of the current node in the set of ongoing edges. - - parent revisions of current revision + This grapher generates a full graph where every edge is visible. + This means that repeated merges between two branches may make + the graph very wide. + + if branch is set to the name of a branch, only this branch is shown. + if noheads is True, other heads than start_rev is hidden. Use this + to show ancestors of a revision. + if branch_color is True, the branch colour is determined by a hash + of the branch tip, and will thus always be the same. """ assert start_rev >= stop_rev ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Tortoisehg-develop mailing list Tortoisehg-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop