All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Haggerty <mhagger@alum.mit.edu>
To: Paul Mackerras <paulus@samba.org>
Cc: git@vger.kernel.org, Michael Haggerty <mhagger@alum.mit.edu>
Subject: [PATCH 05/13] gitk: fill in `wvals` as the tags are first processed
Date: Mon, 19 Dec 2016 17:45:04 +0100	[thread overview]
Message-ID: <d7b6999f7e3ba271c6932925cd26ea2884df3014.1482164633.git.mhagger@alum.mit.edu> (raw)
In-Reply-To: <cover.1482164633.git.mhagger@alum.mit.edu>

It's no longer, and a little bit more direct, to fill in `wvals` at the
same time as we determine the tag's type.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
---
 gitk | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/gitk b/gitk
index d2e3803..fb2f653 100755
--- a/gitk
+++ b/gitk
@@ -6561,6 +6561,7 @@ proc drawtags {id x xt y1} {
 
     set marks {}
     set types {}
+    set wvals {}
     set maxtags 3
     set maxtagpct 25
     set maxwidth [expr {[graph_pane_width] * $maxtagpct / 100}]
@@ -6575,14 +6576,17 @@ proc drawtags {id x xt y1} {
 	    # show just a single "n tags..." tag
 	    lappend types tags
 	    if {$ntags == 1} {
-		lappend marks "tag..."
+		set text "tag..."
 	    } else {
-		lappend marks [format "%d tags..." $ntags]
+		set text [format "%d tags..." $ntags]
 	    }
+	    lappend marks $text
+	    lappend wvals [font measure mainfont $text]
 	} else {
 	    foreach tag $tags {
 		lappend types tag
 		lappend marks $tag
+		lappend wvals [font measure mainfont $tag]
 	    }
 	}
     }
@@ -6590,8 +6594,10 @@ proc drawtags {id x xt y1} {
 	foreach head $idheads($id) {
 	    if {$head eq $mainhead} {
 		lappend types mainhead
+		lappend wvals [font measure mainfontbold $head]
 	    } else {
 		lappend types head
+		lappend wvals [font measure mainfont $head]
 	    }
 	    lappend marks $head
 	}
@@ -6600,6 +6606,7 @@ proc drawtags {id x xt y1} {
 	foreach other $idotherrefs($id) {
 	    lappend types other
 	    lappend marks $other
+	    lappend wvals [font measure mainfont $other]
 	}
     }
     if {$marks eq {}} {
@@ -6609,15 +6616,8 @@ proc drawtags {id x xt y1} {
     set yt [expr {$y1 - 0.5 * $linespc}]
     set yb [expr {$yt + $linespc - 1}]
     set xvals {}
-    set wvals {}
-    foreach tag $marks type $types {
-	if {$type eq "mainhead"} {
-	    set wid [font measure mainfontbold $tag]
-	} else {
-	    set wid [font measure mainfont $tag]
-	}
+    foreach wid $wvals {
 	lappend xvals $xt
-	lappend wvals $wid
 	set xt [expr {$xt + $wid + $extra}]
     }
     set t [$canv create line $x $y1 [lindex $xvals end] $y1 \
-- 
2.9.3


  parent reply	other threads:[~2016-12-19 16:50 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-19 16:44 [PATCH 00/13] gitk: tweak rendering of remote-tracking references Michael Haggerty
2016-12-19 16:45 ` [PATCH 01/13] gitk: when processing tag labels, don't use `marks` as scratch space Michael Haggerty
2016-12-19 16:45 ` [PATCH 02/13] gitk: keep track of tag types in a separate `types` array Michael Haggerty
2016-12-19 16:45 ` [PATCH 03/13] gitk: use a type "tags" to indicate abbreviated tags Michael Haggerty
2016-12-19 16:45 ` [PATCH 04/13] gitk: use a type "mainhead" to indicate the main HEAD branch Michael Haggerty
2016-12-19 16:45 ` Michael Haggerty [this message]
2016-12-19 16:45 ` [PATCH 06/13] gitk: simplify regexp Michael Haggerty
2016-12-19 16:45 ` [PATCH 07/13] gitk: extract a method `remotereftext` Michael Haggerty
2016-12-19 16:45 ` [PATCH 08/13] gitk: only change the color of the "remote" part of remote refs Michael Haggerty
2016-12-19 16:45 ` [PATCH 09/13] gitk: shorten labels displayed for modern remote-tracking refs Michael Haggerty
2016-12-19 16:45 ` [PATCH 10/13] gitk: use type "remote" for remote-tracking references Michael Haggerty
2016-12-19 16:45 ` [PATCH 11/13] gitk: introduce a constant otherrefbgcolor Michael Haggerty
2016-12-19 16:45 ` [PATCH 12/13] gitk: add a configuration setting `remoterefbgcolor` Michael Haggerty
2016-12-19 16:45 ` [PATCH 13/13] gitk: change the default colors for remote-tracking references Michael Haggerty
2016-12-19 22:53 ` [PATCH 00/13] gitk: tweak rendering of " Philip Oakley
2016-12-20  8:03   ` Michael Haggerty
2016-12-20 15:01 ` Marc Branchaud
2016-12-20 22:17   ` Paul Mackerras
2016-12-20 22:53     ` Marc Branchaud
2016-12-21  0:05   ` Michael Haggerty
2016-12-21 19:07     ` Marc Branchaud
2016-12-22  8:15       ` Michael Haggerty
2017-01-09 22:03         ` Marc Branchaud
2017-02-06 17:13 ` Marc Branchaud

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d7b6999f7e3ba271c6932925cd26ea2884df3014.1482164633.git.mhagger@alum.mit.edu \
    --to=mhagger@alum.mit.edu \
    --cc=git@vger.kernel.org \
    --cc=paulus@samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.