void (boolean repaint) { if (PluginDetailsPageComponent.isMultiTabs()) { myIndicator = new AbstractProgressIndicatorExBase(); myLayout.setProgressComponent(new AsyncProcessIcon("PluginListComponentIconProgress") { @Override public int getBaseline(int width, int height) { return (int)(height * 0.85); } @Override public void removeNotify() { super.removeNotify(); if (!isDisposed()) { dispose(); } } }); } else { OneLineProgressIndicator indicator = new OneLineProgressIndicator(false); indicator.setCancelRunnable(() -> myPluginModel.finishInstall(getDescriptorForActions(), null, false, false, true)); myLayout.setProgressComponent(indicator.createBaselineWrapper()); myIndicator = indicator; } MyPluginModel.addProgress(getDescriptorForActions(), myIndicator); if (repaint) { fullRepaint(); } }