Robin Rosenberg | 1 Oct 2008 01:53
Favicon

[EGIT PATCH 2/8] Move AWTPlotRenderer to its own file.

This is mostly a convenience issue as it allows the
use of the JVM hotswap feature while debugging.

Signed-off-by: Robin Rosenberg <robin.rosenberg <at> dewire.com>
---
 .../org/spearce/jgit/awtui/AWTPlotRenderer.java    |  104 ++++++++++++++++++++
 .../org/spearce/jgit/awtui/CommitGraphPane.java    |   92 -----------------
 2 files changed, 104 insertions(+), 92 deletions(-)
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java

diff --git a/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
new file mode 100644
index 0000000..a9933a4
--- /dev/null
+++ b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
 <at>  <at>  -0,0 +1,104  <at>  <at> 
+/**
+ * 
+ */
+package org.spearce.jgit.awtui;
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Polygon;
+
+import org.spearce.jgit.awtui.CommitGraphPane.GraphCellRender;
+import org.spearce.jgit.awtui.SwingCommitList.SwingLane;
+import org.spearce.jgit.lib.Ref;
+import org.spearce.jgit.revplot.AbstractPlotRenderer;
(Continue reading)

Shawn O. Pearce | 1 Oct 2008 16:32
Gravatar

Re: [EGIT PATCH 2/8] Move AWTPlotRenderer to its own file.

Robin Rosenberg <robin.rosenberg <at> dewire.com> wrote:
> This is mostly a convenience issue as it allows the
> use of the JVM hotswap feature while debugging.
> 
> Signed-off-by: Robin Rosenberg <robin.rosenberg <at> dewire.com>
> ---
>  .../org/spearce/jgit/awtui/AWTPlotRenderer.java    |  104 ++++++++++++++++++++
>  .../org/spearce/jgit/awtui/CommitGraphPane.java    |   92 -----------------
>  2 files changed, 104 insertions(+), 92 deletions(-)
>  create mode 100644 org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
> 
> diff --git a/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
> new file mode 100644
> index 0000000..a9933a4
> --- /dev/null
> +++ b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
>  <at>  <at>  -0,0 +1,104  <at>  <at> 
> +/**
> + * 
> + */
> +package org.spearce.jgit.awtui;

Missing copyright from the old sources.  Please carry over the
existing copyright header.

--

-- 
Shawn.
Robin Rosenberg | 1 Oct 2008 01:53
Favicon

[EGIT PATCH 3/8] Dispose of allocated colors on finalize()

---
 .../egit/ui/internal/history/SWTPlotRenderer.java  |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git
a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
index 23ec255..a58b3bf 100644
--- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
+++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
 <at>  <at>  -45,6 +45,17  <at>  <at>  SWTPlotRenderer(final Display d) {
 		sys_darkblue = d.getSystemColor(SWT.COLOR_DARK_BLUE);
 	}

+	 <at> Override
+	protected void finalize() throws Throwable {
+		sys_black.dispose();
+		sys_blue.dispose();
+		sys_gray.dispose();
+		sys_darkblue.dispose();
+		sys_yellow.dispose();
+		sys_green.dispose();
+		sys_white.dispose();
+	}
+	
 	void paint(final Event event) {
 		g = event.gc;
 		cellX = event.x;
--

-- 
1.6.0.1.310.gf789d0.dirty

(Continue reading)

Shawn O. Pearce | 1 Oct 2008 16:37
Gravatar

Re: [EGIT PATCH 3/8] Dispose of allocated colors on finalize()

Robin Rosenberg <robin.rosenberg <at> dewire.com> wrote:
> ---

Missing SBO.

>  .../egit/ui/internal/history/SWTPlotRenderer.java  |   11 +++++++++++
>  1 files changed, 11 insertions(+), 0 deletions(-)
> 
> diff --git
a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
> index 23ec255..a58b3bf 100644
> --- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
> +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
>  <at>  <at>  -45,6 +45,17  <at>  <at>  SWTPlotRenderer(final Display d) {
>  		sys_darkblue = d.getSystemColor(SWT.COLOR_DARK_BLUE);
>  	}
>  
> +	 <at> Override
> +	protected void finalize() throws Throwable {
> +		sys_black.dispose();
> +		sys_blue.dispose();
> +		sys_gray.dispose();
> +		sys_darkblue.dispose();
> +		sys_yellow.dispose();
> +		sys_green.dispose();
> +		sys_white.dispose();
> +	}

I think this is wrong.  Any color that we get from
Display.getSystemColor() must not be disposed of by the application,
(Continue reading)

Robin Rosenberg | 1 Oct 2008 19:48
Favicon

Re: [EGIT PATCH 3/8] Dispose of allocated colors on finalize()

onsdagen den 1 oktober 2008 16.37.18 skrev Shawn O. Pearce:
> Robin Rosenberg <robin.rosenberg <at> dewire.com> wrote:
[..]
> I think this is wrong.  Any color that we get from
[...]
> What was the rationale for disposing of these resources?  Did you
> identify that this is a resource leak somewhere?  Because I'd like
> to make sure I actually understand the SWT resource model better
> so I don't commit mistakes in the future.

I read the Color javadoc, but not the getSystemColor one. You are right, drop this patch
and the "dispose" hunk in the next patch (which was also a

-- robin
Robin Rosenberg | 1 Oct 2008 01:53
Favicon

[EGIT PATCH 4/8] Align commit text properly in jgit glog

Signed-off-by: Robin Rosenberg <robin.rosenberg <at> dewire.com>
---
 .../egit/ui/internal/history/SWTPlotRenderer.java  |    3 ---
 .../org/spearce/jgit/awtui/AWTPlotRenderer.java    |    7 +++----
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git
a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
index a58b3bf..7c286a4 100644
--- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
+++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
 <at>  <at>  -51,9 +51,6  <at>  <at>  protected void finalize() throws Throwable {
 		sys_blue.dispose();
 		sys_gray.dispose();
 		sys_darkblue.dispose();
-		sys_yellow.dispose();
-		sys_green.dispose();
-		sys_white.dispose();
 	}
 	
 	void paint(final Event event) {
diff --git a/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
index a9933a4..5090ec9 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
 <at>  <at>  -10,7 +10,6  <at>  <at> 

 import org.spearce.jgit.awtui.CommitGraphPane.GraphCellRender;
 import org.spearce.jgit.awtui.SwingCommitList.SwingLane;
-import org.spearce.jgit.lib.Ref;
(Continue reading)

Shawn O. Pearce | 1 Oct 2008 16:38
Gravatar

Re: [EGIT PATCH 4/8] Align commit text properly in jgit glog

Robin Rosenberg <robin.rosenberg <at> dewire.com> wrote:
> Signed-off-by: Robin Rosenberg <robin.rosenberg <at> dewire.com>
> ---
>  .../egit/ui/internal/history/SWTPlotRenderer.java  |    3 ---
>  .../org/spearce/jgit/awtui/AWTPlotRenderer.java    |    7 +++----
>  2 files changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git
a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
> index a58b3bf..7c286a4 100644
> --- a/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
> +++ b/org.spearce.egit.ui/src/org/spearce/egit/ui/internal/history/SWTPlotRenderer.java
>  <at>  <at>  -51,9 +51,6  <at>  <at>  protected void finalize() throws Throwable {
>  		sys_blue.dispose();
>  		sys_gray.dispose();
>  		sys_darkblue.dispose();
> -		sys_yellow.dispose();
> -		sys_green.dispose();
> -		sys_white.dispose();
>  	}

Can't you squash this hunk to the prior commit, assuming the prior
commit is still a valid change?

--

-- 
Shawn.
Robin Rosenberg | 1 Oct 2008 21:31
Favicon

[EGIT PATCH 0/3] jgit glog alignment fixes

The series resent based upon review comments. Drop the unnecessary dispose
calls for system allocated colors (and thus all SWT related changed).

-- robin

Robin Rosenberg | 1 Oct 2008 21:31
Favicon

[EGIT PATCH 1/3] Set table row height for the glog JTable

For some obscure reason JTable has a fixed default row size
of 16 pixels. This doesn't work well outside the default
look-and-feels shipped with the JRE, e.g. the GTK look and
feel for Linux.

Signed-off-by: Robin Rosenberg <robin.rosenberg <at> dewire.com>
---
 .../org/spearce/jgit/awtui/CommitGraphPane.java    |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/org.spearce.jgit/src/org/spearce/jgit/awtui/CommitGraphPane.java b/org.spearce.jgit/src/org/spearce/jgit/awtui/CommitGraphPane.java
index 2be0e95..d778821 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/awtui/CommitGraphPane.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/awtui/CommitGraphPane.java
 <at>  <at>  -52,6 +52,7  <at>  <at> 
 import javax.swing.table.AbstractTableModel;
 import javax.swing.table.DefaultTableCellRenderer;
 import javax.swing.table.JTableHeader;
+import javax.swing.table.TableCellRenderer;
 import javax.swing.table.TableColumn;
 import javax.swing.table.TableColumnModel;
 import javax.swing.table.TableModel;
 <at>  <at>  -83,8 +84,18  <at>  <at>  public CommitGraphPane() {
 		allCommits = new SwingCommitList();
 		configureHeader();
 		setShowHorizontalLines(false);
-		setRowMargin(0);
 		setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+		configureRowHeight();
+	}
(Continue reading)

Robin Rosenberg | 1 Oct 2008 21:31
Favicon

[EGIT PATCH 2/3] Move AWTPlotRenderer to its own file.

This is mostly a convenience issue as it allows the
use of the JVM hotswap feature while debugging.

Signed-off-by: Robin Rosenberg <robin.rosenberg <at> dewire.com>
---
 .../org/spearce/jgit/awtui/AWTPlotRenderer.java    |  137 ++++++++++++++++++++
 .../org/spearce/jgit/awtui/CommitGraphPane.java    |   92 -------------
 2 files changed, 137 insertions(+), 92 deletions(-)
 create mode 100644 org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java

diff --git a/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
new file mode 100644
index 0000000..dc785ec
--- /dev/null
+++ b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
 <at>  <at>  -0,0 +1,137  <at>  <at> 
+/*
+ * Copyright (C) 2008, Shawn O. Pearce <spearce <at> spearce.org>
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
(Continue reading)

Robin Rosenberg | 1 Oct 2008 21:31
Favicon

[EGIT PATCH 3/3] Align commit text properly in jgit glog

Signed-off-by: Robin Rosenberg <robin.rosenberg <at> dewire.com>
---
 .../org/spearce/jgit/awtui/AWTPlotRenderer.java    |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
index dc785ec..b6b715c 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/awtui/AWTPlotRenderer.java
 <at>  <at>  -109,10 +109,10  <at>  <at>  protected void drawBoundaryDot(final int x, final int y, final int w,

 	 <at> Override
 	protected void drawText(final String msg, final int x, final int y) {
-		final int texty = g.getFontMetrics().getHeight()
-				- g.getFontMetrics().getDescent();
+		final int texth = g.getFontMetrics().getHeight();
+		final int y0 = y - texth/2 + (cell.getHeight() - texth)/2;
 		g.setColor(cell.getForeground());
-		g.drawString(msg, x, texty - (cell.getHeight() - y * 2));
+		g.drawString(msg, x, y0 + texth - g.getFontMetrics().getDescent());
 	}

 	 <at> Override
--

-- 
1.6.0.1.310.gf789d0.dirty

Robin Rosenberg | 1 Oct 2008 02:02
Favicon

Re: [EGIT PATCH 4/8] Align commit text properly in jgit glog


The Series actually ends here for now. The rest are not ready yet but can
be reviews if you are curious on my tagdecoration branch. These bug fixes
came out as a side effect.

-- robin

Gmane