package fr.adrienbrault.idea.symfony2plugin.profiler;
import com.intellij.openapi.project.DumbAware;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.wm.ToolWindow;
import com.intellij.openapi.wm.ToolWindowFactory;
import com.intellij.openapi.wm.ex.ToolWindowEx;
import fr.adrienbrault.idea.symfony2plugin.Symfony2Icons;
import fr.adrienbrault.idea.symfony2plugin.Symfony2ProjectComponent;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
/**
* @author Daniel Espendiller <daniel@espendiller.net>
*/
public class SymfonyWebProfilerWindowFactory implements ToolWindowFactory, Condition<Project>, DumbAware {
private static final Icon TOOLWINDOW_ICON = Symfony2Icons.SYMFONY_TOOL_WINDOW;
@Override
public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindow toolWindow) {
SymfonyWebProfilerPane symfony2SearchPane = new SymfonyWebProfilerPane(project);
setUpContent((ToolWindowEx)toolWindow, symfony2SearchPane);
toolWindow.setIcon(TOOLWINDOW_ICON);
}
private static void setUpContent(ToolWindowEx toolWindow, SymfonyWebProfilerPane symfony2SearchPane) {
symfony2SearchPane.setup(toolWindow);
}
@Override
public boolean value(Project project) {
return Symfony2ProjectComponent.isEnabled(project);
}
}