package jetbrains.mps.plugin;
/*Generated by MPS */
import com.intellij.openapi.components.ProjectComponent;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.wm.StatusBar;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import com.intellij.openapi.wm.IdeFrame;
import com.intellij.openapi.wm.WindowManager;
public class PluginStateMonitor implements ProjectComponent {
private final Project myProject;
private StatusBar myStatusBar;
private PluginStateWidget myWidget;
public PluginStateMonitor(Project project) {
myProject = project;
}
@NonNls
@NotNull
@Override
public String getComponentName() {
return PluginStateMonitor.class.getSimpleName();
}
@Override
public void initComponent() {
}
@Override
public void disposeComponent() {
}
@Override
public void projectOpened() {
myStatusBar = getStatusBar();
if (myStatusBar == null) {
return;
}
this.myWidget = new PluginStateWidget(myProject);
myStatusBar.addWidget(this.myWidget);
}
@Override
public void projectClosed() {
if (myStatusBar == null) {
return;
}
myStatusBar.removeWidget(myWidget.ID());
}
@Nullable
private StatusBar getStatusBar() {
IdeFrame ideFrame = WindowManager.getInstance().getIdeFrame(myProject);
if (ideFrame == null) {
return null;
}
return ideFrame.getStatusBar();
}
}