package jetbrains.mps.ide.icons; /*Generated by MPS */ import com.intellij.openapi.components.ApplicationComponent; import jetbrains.mps.classloading.ClassLoaderManager; import jetbrains.mps.ide.MPSCoreComponents; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import jetbrains.mps.classloading.DeployListener; import java.util.Set; import jetbrains.mps.module.ReloadableModule; import org.jetbrains.mps.openapi.util.ProgressMonitor; public class GlobalIconManager extends BaseIconManager implements ApplicationComponent { private ClassLoaderManager myClm; private GlobalIconManager.MyDeployListener myListener = new GlobalIconManager.MyDeployListener(); public GlobalIconManager(MPSCoreComponents cc) { myClm = cc.getClassLoaderManager(); } @Override public void initComponent() { myClm.addListener(this.myListener); } @Override public void disposeComponent() { myClm.removeListener(myListener); } @NonNls @NotNull @Override public String getComponentName() { return GlobalIconManager.class.getSimpleName(); } private class MyDeployListener implements DeployListener { public MyDeployListener() { } public void onUnloaded(Set<ReloadableModule> unloaded, @NotNull ProgressMonitor pm) { invalidate(unloaded); } public void onLoaded(Set<ReloadableModule> loaded, @NotNull ProgressMonitor pm) { invalidate(loaded); } } }