cola.views.dag – Git DAG

The git DAG shows an interactive node graph for visualizing a git repository’s history.

Note

This is beta, this list is a wishlist and is unimplemented.

  • Selecting nodes copies its SHA-1 to the clipboard.
  • Interactive dialog with difftool, merge, etc commands using the selected revisions
class cola.views.dag.Edge(source, dest)
adjust()
boundingRect(*args, **opts)
paint(painter, option, widget, _arrow_size=4.0)
type(_type=65538)
class cola.views.dag.GitCommitView(parent=None, nodecom=None)
class cola.views.dag.GitDAGWidget(parent=None, args=None)

The git-dag widget.

add_commits(commits)
close()
delete()
pause()
resize_to_desktop()
resume()
splitter()
class cola.views.dag.GraphView(nodecom)
add(commits)
add_commits(commits)

Traverse commits and add them to the view.

keyPressEvent(event)
layout(commits)

Create edges linking commits with their parents

mouseMoveEvent(event)
mousePressEvent(event)
mouseReleaseEvent(event)
setBackgroundColor(color=None)
wheelEvent(event)

Handle Qt mouse wheel events.

class cola.views.dag.Node(commit, nodecom)
add_edge(edge)
boundingRect(_bound=PyQt4.QtCore.QRectF(-90.0, -9.0, 180.0, 18.0))
glyph(_glyph=PyQt4.QtCore.QRectF(-90.0, -9.0, 45.0, 18.0))

Provides location of the glyph representing this node

The node contains a glyph (a circle or ellipse) representing the node, as well as other text alongside the glyph. Knowing the location of the glyph, rather than the entire node allows us to make edges point at the center of the glyph, rather than at the center of the entire node.

mouseMoveEvent(event)
mousePressEvent(event)
mouseReleaseEvent(event)
paint(painter, option, widget)
shape(_shape=<PyQt4.QtGui.QPainterPath object at 0xaae1224>)
type(_type=65537)
class cola.views.dag.ReaderThread(parent, args)
run()
cola.views.dag.git_dag(log_args=None, parent=None)

Return a pre-populated git DAG widget.

Previous topic

cola.views.actions – User Actions Dialog

Next topic

cola.views.log – Log viewer

This Page