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);
}
}
}