From bef68e9cb51b1e86d7978220280783772de4db49 Mon Sep 17 00:00:00 2001 From: Karl von Randow Date: Tue, 7 Nov 2023 19:21:13 +1300 Subject: [PATCH 1/2] tree table: fix rendering when in a table with vertical margin --- src/org/violetlib/treetable/ui/BasicTreeTableUI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/violetlib/treetable/ui/BasicTreeTableUI.java b/src/org/violetlib/treetable/ui/BasicTreeTableUI.java index d9ff573..312489f 100755 --- a/src/org/violetlib/treetable/ui/BasicTreeTableUI.java +++ b/src/org/violetlib/treetable/ui/BasicTreeTableUI.java @@ -455,7 +455,7 @@ protected void paintTree(Graphics g) { } treeTableCellRenderer.prepareForTree(); - Graphics cg = g.create(x, 0, tree.getWidth(), tree.getHeight()); + Graphics cg = g.create(x, tree.getY(), tree.getWidth(), tree.getHeight()); try { cg.clipRect(clipX, 0, clipW, tree.getHeight()); tree.paint(cg); From 3e2c2c228b2bb7b19ee1f8cb81121ee29cc3663b Mon Sep 17 00:00:00 2001 From: Karl von Randow Date: Tue, 7 Nov 2023 19:21:36 +1300 Subject: [PATCH 2/2] =?UTF-8?q?treetable:=20fix=20rowAtPoint=20when=20ther?= =?UTF-8?q?e=E2=80=99s=20a=20vertical=20margin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../violetlib/treetable/ui/InternalTableWithMargins.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/org/violetlib/treetable/ui/InternalTableWithMargins.java b/src/org/violetlib/treetable/ui/InternalTableWithMargins.java index 1c4b75c..6480962 100644 --- a/src/org/violetlib/treetable/ui/InternalTableWithMargins.java +++ b/src/org/violetlib/treetable/ui/InternalTableWithMargins.java @@ -95,6 +95,15 @@ public int columnAtPoint(@NotNull Point point) return super.columnAtPoint(point); } + @Override + public int rowAtPoint(@NotNull Point point) + { + if (margin > 0 || verticalMargin > 0) { + point = new Point(point.x - margin, point.y - verticalMargin); + } + return super.rowAtPoint(point); + } + @Override public @NotNull Rectangle getCellRect(int row, int column, boolean includeSpacing) {