mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs-log] calculate row height so that labels could nicely fit
This commit is contained in:
@@ -91,6 +91,7 @@ public class VcsLogGraphTable extends JBTable implements TypeSafeDataProvider, C
|
||||
}
|
||||
}
|
||||
};
|
||||
private final GraphCommitCellRender myGraphCommitCellRenderer;
|
||||
|
||||
private boolean myColumnsSizeInitialized = false;
|
||||
|
||||
@@ -112,12 +113,12 @@ public class VcsLogGraphTable extends JBTable implements TypeSafeDataProvider, C
|
||||
super();
|
||||
myUI = UI;
|
||||
myLogDataHolder = logDataHolder;
|
||||
myGraphCommitCellRenderer = new GraphCommitCellRender(myUI.getColorManager(), logDataHolder, myGraphCellPainter, this);
|
||||
|
||||
setDefaultRenderer(VirtualFile.class, new RootCellRenderer(myUI));
|
||||
setDefaultRenderer(GraphCommitCell.class, new GraphCommitCellRender(myUI.getColorManager(), logDataHolder, myGraphCellPainter, this));
|
||||
setDefaultRenderer(GraphCommitCell.class, myGraphCommitCellRenderer);
|
||||
setDefaultRenderer(String.class, new StringCellRenderer());
|
||||
|
||||
setRowHeight(22);
|
||||
setShowHorizontalLines(false);
|
||||
setIntercellSpacing(JBUI.emptySize());
|
||||
|
||||
@@ -750,6 +751,11 @@ public class VcsLogGraphTable extends JBTable implements TypeSafeDataProvider, C
|
||||
return myDummyEditor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRowHeight() {
|
||||
return myGraphCommitCellRenderer.getPreferredHeight();
|
||||
}
|
||||
|
||||
private class StringCellRenderer extends ColoredTableCellRenderer {
|
||||
@Override
|
||||
protected void customizeCellRenderer(JTable table, Object value, boolean selected, boolean hasFocus, int row, int column) {
|
||||
|
||||
@@ -49,6 +49,17 @@ public class GraphCommitCellRender extends ColoredTableCellRenderer {
|
||||
myIssueLinkRenderer = new IssueLinkRenderer(dataHolder.getProject(), this);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Dimension getPreferredSize() {
|
||||
Dimension preferredSize = super.getPreferredSize();
|
||||
return new Dimension(preferredSize.width, getPreferredHeight());
|
||||
}
|
||||
|
||||
public int getPreferredHeight() {
|
||||
return myLabelPainter.calculateSize("", getFontMetrics(LabelPainters.getFont())).height + 4;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void paintComponent(Graphics g) {
|
||||
super.paintComponent(g);
|
||||
|
||||
Reference in New Issue
Block a user