From cc5ffd7b028a4160998dc43b88c2a0506307c0b1 Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Mon, 17 Jan 2022 21:05:22 -0500 Subject: [PATCH] renaming DetailPanel because it is no longer a standalone Panel --- .../app/contrib/ContributionTab.java | 12 ++--- app/src/processing/app/contrib/ListPanel.java | 51 +++++++++---------- .../processing/app/contrib/StatusPanel.java | 24 ++++----- ...etailPanel.java => StatusPanelDetail.java} | 4 +- .../app/contrib/UpdateContributionTab.java | 3 +- .../app/contrib/UpdateListPanel.java | 11 ++-- 6 files changed, 51 insertions(+), 54 deletions(-) rename app/src/processing/app/contrib/{DetailPanel.java => StatusPanelDetail.java} (98%) diff --git a/app/src/processing/app/contrib/ContributionTab.java b/app/src/processing/app/contrib/ContributionTab.java index 33e5f2627..4c15332bf 100644 --- a/app/src/processing/app/contrib/ContributionTab.java +++ b/app/src/processing/app/contrib/ContributionTab.java @@ -393,16 +393,16 @@ public class ContributionTab extends JPanel { } - public void updateStatusPanel(DetailPanel contributionPanel) { - statusPanel.update(contributionPanel); + public void updateStatusDetail(StatusPanelDetail detail) { + statusPanel.updateDetail(detail); } protected void updateAll() { - Collection collection = - contributionListPanel.panelByContribution.values(); - for (DetailPanel detailPanel : collection) { - detailPanel.update(); + Collection collection = + contributionListPanel.detailForContrib.values(); + for (StatusPanelDetail detail : collection) { + detail.update(); } contributionListPanel.model.fireTableDataChanged(); } diff --git a/app/src/processing/app/contrib/ListPanel.java b/app/src/processing/app/contrib/ListPanel.java index dab2e8bfc..2f7382f89 100644 --- a/app/src/processing/app/contrib/ListPanel.java +++ b/app/src/processing/app/contrib/ListPanel.java @@ -42,11 +42,11 @@ import processing.app.ui.Toolkit; public class ListPanel extends JPanel implements Scrollable, ContributionListing.ChangeListener { ContributionTab contributionTab; - TreeMap panelByContribution = new TreeMap<>(ContributionListing.COMPARATOR); + TreeMap detailForContrib = new TreeMap<>(ContributionListing.COMPARATOR); Contribution.Filter filter; - private DetailPanel selectedPanel; + private StatusPanelDetail selectedDetail; protected ContributionRowFilter rowFilter; protected JTable table; protected TableRowSorter sorter; @@ -147,7 +147,7 @@ implements Scrollable, ContributionListing.ChangeListener { int row = table.getSelectedRow(); if (row != -1) { Contribution contrib = (Contribution) table.getValueAt(row, 0); - setSelectedPanel(panelByContribution.get(contrib)); + setSelectedDetail(detailForContrib.get(contrib)); // Preventing the focus to move out of filterField after typing every character if (!contributionTab.filterHasFocus()) { table.requestFocusInWindow(); @@ -335,11 +335,11 @@ implements Scrollable, ContributionListing.ChangeListener { private void configureStatusColumnLabel(JLabel label, Contribution contribution) { Icon icon = null; label.setFont(ManagerFrame.NORMAL_PLAIN); - DetailPanel panel = panelByContribution.get(contribution); - if (panel == null) { - System.out.println("no panel for " + contribution.name + " inside " + contributionTab.contribType); - } - if (panel.updateInProgress || panel.installInProgress) { + StatusPanelDetail detail = detailForContrib.get(contribution); +// if (detail == null) { +// System.out.println("no panel for " + contribution.name + " inside " + contributionTab.contribType); +// } + if (detail.updateInProgress || detail.installInProgress) { // Display "loading" icon if download/install in progress icon = downloadingIcon; } else if (contribution.isInstalled()) { @@ -347,7 +347,7 @@ implements Scrollable, ContributionListing.ChangeListener { icon = incompatibleIcon; } else if (ContributionListing.getInstance().hasUpdates(contribution)) { icon = updateAvailableIcon; - } else if (panel.installInProgress || panel.updateInProgress) { + } else if (detail.installInProgress || detail.updateInProgress) { icon = downloadingIcon; } else { icon = upToDateIcon; @@ -566,11 +566,11 @@ implements Scrollable, ContributionListing.ChangeListener { // Thread: EDT public void contributionAdded(final Contribution contribution) { if (true || filter.matches(contribution)) { - if (!panelByContribution.containsKey(contribution)) { + if (!detailForContrib.containsKey(contribution)) { // new Exception().printStackTrace(System.out); // long t1 = System.currentTimeMillis(); - DetailPanel newPanel = new DetailPanel(this); - panelByContribution.put(contribution, newPanel); + StatusPanelDetail newPanel = new StatusPanelDetail(this); + detailForContrib.put(contribution, newPanel); newPanel.setContrib(contribution); // add(newPanel); model.fireTableDataChanged(); @@ -586,9 +586,9 @@ implements Scrollable, ContributionListing.ChangeListener { // Thread: EDT public void contributionRemoved(final Contribution contribution) { if (true || filter.matches(contribution)) { - DetailPanel panel = panelByContribution.get(contribution); + StatusPanelDetail panel = detailForContrib.get(contribution); if (panel != null) { - panelByContribution.remove(contribution); + detailForContrib.remove(contribution); } model.fireTableDataChanged(); updateUI(); @@ -600,13 +600,13 @@ implements Scrollable, ContributionListing.ChangeListener { public void contributionChanged(final Contribution oldContrib, final Contribution newContrib) { if (true || filter.matches(oldContrib)) { - DetailPanel panel = panelByContribution.get(oldContrib); + StatusPanelDetail panel = detailForContrib.get(oldContrib); if (panel == null) { contributionAdded(newContrib); } else { - panelByContribution.remove(oldContrib); + detailForContrib.remove(oldContrib); panel.setContrib(newContrib); - panelByContribution.put(newContrib, panel); + detailForContrib.put(newContrib, panel); model.fireTableDataChanged(); } } @@ -622,15 +622,15 @@ implements Scrollable, ContributionListing.ChangeListener { // Thread: EDT - protected void setSelectedPanel(DetailPanel contributionPanel) { - contributionTab.updateStatusPanel(contributionPanel); + protected void setSelectedDetail(StatusPanelDetail contribDetail) { + contributionTab.updateStatusDetail(contribDetail); - if (selectedPanel == contributionPanel) { + if (selectedDetail == contribDetail) { // selectedPanel.setSelected(true); } else { // DetailPanel lastSelected = selectedPanel; - selectedPanel = contributionPanel; + selectedDetail = contribDetail; // if (lastSelected != null) { // lastSelected.setSelected(false); @@ -643,8 +643,8 @@ implements Scrollable, ContributionListing.ChangeListener { } - protected DetailPanel getSelectedPanel() { - return selectedPanel; + protected StatusPanelDetail getSelectedDetail() { + return selectedDetail; } @@ -689,11 +689,6 @@ implements Scrollable, ContributionListing.ChangeListener { int bottomOfScrollArea = visibleRect.y + visibleRect.height; for (Component c : getComponents()) { - // "if not a visible DetailPanel" - // (will never be true, b/c DetailPanel never visible) -// if (!(c.isVisible() && c instanceof DetailPanel)) { -// continue; -// } Dimension d = c.getPreferredSize(); int nextHeight = height + d.height; diff --git a/app/src/processing/app/contrib/StatusPanel.java b/app/src/processing/app/contrib/StatusPanel.java index ba543414d..8db3448f2 100644 --- a/app/src/processing/app/contrib/StatusPanel.java +++ b/app/src/processing/app/contrib/StatusPanel.java @@ -99,10 +99,10 @@ class StatusPanel extends JPanel { installButton.setHorizontalAlignment(SwingConstants.LEFT); installButton.addActionListener(e -> { installButton.setEnabled(false); - DetailPanel currentPanel = - contributionTab.contributionListPanel.getSelectedPanel(); - currentPanel.install(); - StatusPanel.this.update(currentPanel); + StatusPanelDetail currentDetail = + contributionTab.contributionListPanel.getSelectedDetail(); + currentDetail.install(); + updateDetail(currentDetail); }); progressPanel = new JPanel(); progressPanel.setLayout(new BorderLayout()); @@ -117,10 +117,10 @@ class StatusPanel extends JPanel { updateButton.setHorizontalAlignment(SwingConstants.LEFT); updateButton.addActionListener(e -> { updateButton.setEnabled(false); - DetailPanel currentPanel = - contributionTab.contributionListPanel.getSelectedPanel(); - currentPanel.update(); - StatusPanel.this.update(currentPanel); + StatusPanelDetail currentDetail = + contributionTab.contributionListPanel.getSelectedDetail(); + currentDetail.update(); + updateDetail(currentDetail); }); removeButton = Toolkit.createIconButton("Remove", removeIcon); @@ -128,10 +128,10 @@ class StatusPanel extends JPanel { removeButton.setHorizontalAlignment(SwingConstants.LEFT); removeButton.addActionListener(e -> { removeButton.setEnabled(false); - DetailPanel currentPanel = - contributionTab.contributionListPanel.getSelectedPanel(); + StatusPanelDetail currentPanel = + contributionTab.contributionListPanel.getSelectedDetail(); currentPanel.remove(); - StatusPanel.this.update(currentPanel); + updateDetail(currentPanel); }); int labelWidth = (width != 0) ? @@ -305,7 +305,7 @@ class StatusPanel extends JPanel { } - void update(DetailPanel panel) { + void updateDetail(StatusPanelDetail panel) { // System.out.println("rebuilding status panel for " + panel.getContrib().name); // new Exception("rebuilding status panel for " + panel.getContrib().name).printStackTrace(System.out); progressPanel.removeAll(); diff --git a/app/src/processing/app/contrib/DetailPanel.java b/app/src/processing/app/contrib/StatusPanelDetail.java similarity index 98% rename from app/src/processing/app/contrib/DetailPanel.java rename to app/src/processing/app/contrib/StatusPanelDetail.java index 551c07dab..b9453c498 100644 --- a/app/src/processing/app/contrib/DetailPanel.java +++ b/app/src/processing/app/contrib/StatusPanelDetail.java @@ -36,7 +36,7 @@ import processing.app.ui.Toolkit; * Vestigial class that was formerly a detail panel, but since 3.x * has only been used to track install/remove state information. */ -class DetailPanel { +class StatusPanelDetail { private final ListPanel listPanel; private final ContributionListing contribListing = ContributionListing.getInstance(); @@ -51,7 +51,7 @@ class DetailPanel { boolean removeInProgress; - DetailPanel(ListPanel contributionListPanel) { + StatusPanelDetail(ListPanel contributionListPanel) { // System.out.println("DetailPanel."); // new Exception().printStackTrace(System.out); listPanel = contributionListPanel; diff --git a/app/src/processing/app/contrib/UpdateContributionTab.java b/app/src/processing/app/contrib/UpdateContributionTab.java index 54d8d00c2..1db4e3ce5 100644 --- a/app/src/processing/app/contrib/UpdateContributionTab.java +++ b/app/src/processing/app/contrib/UpdateContributionTab.java @@ -68,8 +68,9 @@ public class UpdateContributionTab extends ContributionTab { setBackground(Color.WHITE); } + @Override - public void updateStatusPanel(DetailPanel contributionPanel) { + public void updateStatusDetail(StatusPanelDetail detail) { // Do nothing } } diff --git a/app/src/processing/app/contrib/UpdateListPanel.java b/app/src/processing/app/contrib/UpdateListPanel.java index 6ade2e439..fac147091 100644 --- a/app/src/processing/app/contrib/UpdateListPanel.java +++ b/app/src/processing/app/contrib/UpdateListPanel.java @@ -1,7 +1,6 @@ package processing.app.contrib; public class UpdateListPanel extends ListPanel { - Contribution.Filter contribFilter; public UpdateListPanel(ContributionTab contributionTab, @@ -17,6 +16,7 @@ public class UpdateListPanel extends ListPanel { table.getTableHeader().setEnabled(false); } + // Thread: EDT @Override public void contributionAdded(final Contribution contribution) { @@ -27,6 +27,7 @@ public class UpdateListPanel extends ListPanel { } } + // Thread: EDT @Override public void contributionRemoved(final Contribution contribution) { @@ -34,17 +35,17 @@ public class UpdateListPanel extends ListPanel { ((UpdateStatusPanel) contributionTab.statusPanel).update(); // Disables update button on last contribution } + // Thread: EDT @Override public void contributionChanged(final Contribution oldContrib, final Contribution newContrib) { - DetailPanel panel = panelByContribution.get(oldContrib); - if (panel == null) { + StatusPanelDetail detail = detailForContrib.get(oldContrib); + if (detail == null) { contributionAdded(newContrib); } else if (newContrib.isInstalled()) { - panelByContribution.remove(oldContrib); + detailForContrib.remove(oldContrib); } model.fireTableDataChanged(); } - }