From af4914e2e8639633a14d5e896f9fa633486c7b60 Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Sat, 5 Mar 2016 15:57:30 +0300 Subject: [PATCH] log: cleanup: use GraphTableModel everywhere, remove redundant instanceof's --- .../com/intellij/vcs/log/impl/VcsLogImpl.java | 6 ++-- .../com/intellij/vcs/log/ui/VcsLogUiImpl.java | 2 +- .../vcs/log/ui/frame/DetailsPanel.java | 2 +- .../vcs/log/ui/frame/VcsLogGraphTable.java | 32 ++++++++----------- 4 files changed, 18 insertions(+), 24 deletions(-) diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogImpl.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogImpl.java index 0cd51d547fe0..af956d3435dc 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogImpl.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/impl/VcsLogImpl.java @@ -50,7 +50,7 @@ public class VcsLogImpl implements VcsLog { @Nullable @Override public CommitId get(int index) { - return getTable().getGraphTableModel().getCommitIdAtRow(rows[index]); + return getTable().getModel().getCommitIdAtRow(rows[index]); } @Override @@ -72,7 +72,7 @@ public class VcsLogImpl implements VcsLog { @NotNull @Override public VcsFullCommitDetails get(int index) { - return getTable().getGraphTableModel().getFullDetails(rows[index]); + return getTable().getModel().getFullDetails(rows[index]); } @Override @@ -86,7 +86,7 @@ public class VcsLogImpl implements VcsLog { public void requestSelectedDetails(@NotNull Consumer> consumer, @Nullable ProgressIndicator indicator) { List rowsList = Ints.asList(myUi.getTable().getSelectedRows()); myDataManager.getCommitDetailsGetter() - .loadCommitsData(getTable().getGraphTableModel().convertToHashesAndRoots(rowsList), consumer, indicator); + .loadCommitsData(getTable().getModel().convertToHashesAndRoots(rowsList), consumer, indicator); } @Nullable diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUiImpl.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUiImpl.java index 9717573af084..f3e95d9aaf59 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUiImpl.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/VcsLogUiImpl.java @@ -240,7 +240,7 @@ public class VcsLogUiImpl implements VcsLogUi, Disposable { @NotNull final SettableFuture future) { if (future.isCancelled()) return; - GraphTableModel model = getTable().getGraphTableModel(); + GraphTableModel model = getTable().getModel(); int row = rowGetter.fun(model, commitId); if (row >= 0) { diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java index 4f6facb7f54c..100edc263c71 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/DetailsPanel.java @@ -178,7 +178,7 @@ class DetailsPanel extends JPanel implements ListSelectionListener { else { ((CardLayout)getLayout()).show(this, STANDARD_LAYER); int row = rows[0]; - GraphTableModel tableModel = (GraphTableModel)myGraphTable.getModel(); + GraphTableModel tableModel = myGraphTable.getModel(); VcsFullCommitDetails commitData = tableModel.getFullDetails(row); if (commitData instanceof LoadingDetails) { myLoadingPanel.startLoading(); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java index e3d806a9e047..d996469a8557 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/frame/VcsLogGraphTable.java @@ -104,7 +104,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi }; public VcsLogGraphTable(@NotNull VcsLogUiImpl ui, @NotNull final VcsLogDataManager logDataManager, @NotNull VisiblePack initialDataPack) { - super(); + super(new GraphTableModel(initialDataPack, logDataManager, ui)); myUi = ui; myLogDataManager = logDataManager; myGraphCommitCellRenderer = new GraphCommitCellRender(logDataManager, myGraphCellPainter, this); @@ -124,14 +124,12 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi PopupHandler.installPopupHandler(this, VcsLogActionPlaces.POPUP_ACTION_GROUP, VcsLogActionPlaces.VCS_LOG_TABLE_PLACE); ScrollingUtil.installActions(this, false); - GraphTableModel model = new GraphTableModel(initialDataPack, myLogDataManager, myUi); - setModel(model); initColumnSize(); } public void updateDataPack(@NotNull VisiblePack visiblePack, boolean permGraphChanged) { VcsLogGraphTable.Selection previousSelection = getSelection(); - getGraphTableModel().setVisiblePack(visiblePack); + getModel().setVisiblePack(visiblePack); previousSelection.restore(visiblePack.getVisibleGraph(), true); for (VcsLogHighlighter highlighter : myHighlighters) { @@ -351,12 +349,9 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi viewport.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { - TableModel model = getModel(); - if (model instanceof AbstractTableModel) { - Couple visibleRows = ScrollingUtil.getVisibleRows(VcsLogGraphTable.this); - ((AbstractTableModel)model) - .fireTableChanged(new TableModelEvent(model, visibleRows.first - 1, visibleRows.second, GraphTableModel.ROOT_COLUMN)); - } + AbstractTableModel model = getModel(); + Couple visibleRows = ScrollingUtil.getVisibleRows(VcsLogGraphTable.this); + model.fireTableChanged(new TableModelEvent(model, visibleRows.first - 1, visibleRows.second, GraphTableModel.ROOT_COLUMN)); } }); } @@ -394,9 +389,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi @Nullable Selection previousSelection, @Nullable MouseEvent e) { if (dataCouldChange) { - GraphTableModel graphTableModel = (GraphTableModel)getModel(); - - graphTableModel.fireTableDataChanged(); + getModel().fireTableDataChanged(); // since fireTableDataChanged clears selection we restore it here if (previousSelection != null) { @@ -414,7 +407,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi setCursor(answer.getCursorToSet()); } if (answer.getCommitToJump() != null) { - Integer row = getGraphTableModel().getVisiblePack().getVisibleGraph().getVisibleRowIndex(answer.getCommitToJump()); + Integer row = getModel().getVisiblePack().getVisibleGraph().getVisibleRowIndex(answer.getCommitToJump()); if (row != null && row >= 0 && answer.doJump()) { jumpToRow(row); // TODO wait for the full log and then jump @@ -433,7 +426,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi details = myLogDataManager.getMiniDetailsGetter().getCommitDataIfAvailable(commit); } else { - details = getGraphTableModel().getShortDetails(row); + details = getModel().getShortDetails(row); } String balloonText; if (details != null && !(details instanceof LoadingDetails)) { @@ -462,9 +455,10 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi IdeTooltipManager.getInstance().show(tooltip, false); } + @Override @NotNull - public GraphTableModel getGraphTableModel() { - return (GraphTableModel)getModel(); + public GraphTableModel getModel() { + return (GraphTableModel)super.getModel(); } @NotNull @@ -512,7 +506,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi } public void restore(@NotNull VisibleGraph newVisibleGraph, boolean scrollToSelection) { - Pair toSelectAndScroll = findRowsToSelectAndScroll(myTable.getGraphTableModel(), newVisibleGraph); + Pair toSelectAndScroll = findRowsToSelectAndScroll(myTable.getModel(), newVisibleGraph); if (!toSelectAndScroll.first.isEmpty()) { myTable.getSelectionModel().setValueIsAdjusting(true); toSelectAndScroll.first.forEach(new TIntProcedure() { @@ -639,7 +633,7 @@ public class VcsLogGraphTable extends JBTable implements DataProvider, CopyProvi @NotNull public VisibleGraph getVisibleGraph() { - return getGraphTableModel().getVisiblePack().getVisibleGraph(); + return getModel().getVisiblePack().getVisibleGraph(); } @NotNull