package com.intellij.lang.javascript.flex.debug; import com.intellij.lang.javascript.ActionScriptFileType; import com.intellij.lang.javascript.JavaScriptSupportLoader; import com.intellij.lang.javascript.flex.FlexBundle; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.xdebugger.XDebuggerUtil; import com.intellij.xdebugger.breakpoints.XBreakpointProperties; import com.intellij.xdebugger.breakpoints.XLineBreakpoint; import com.intellij.xdebugger.breakpoints.XLineBreakpointTypeBase; import com.intellij.xdebugger.breakpoints.ui.XBreakpointGroupingRule; import org.jetbrains.annotations.NotNull; import java.util.List; /** * @author Maxim.Mossienko * Date: Jan 22, 2008 * Time: 4:26:21 PM */ public class FlexBreakpointType extends XLineBreakpointTypeBase { protected FlexBreakpointType() { super("flex", FlexBundle.message("flex.break.point.title"), new FlexDebuggerEditorsProvider()); } @Override public boolean canPutAt(@NotNull final VirtualFile file, final int line, @NotNull Project project) { if(file.getFileType() == ActionScriptFileType.INSTANCE || JavaScriptSupportLoader.isFlexMxmFile(file) ) { return true; } return false; } @Override public List<XBreakpointGroupingRule<XLineBreakpoint<XBreakpointProperties>, ?>> getGroupingRules() { return XDebuggerUtil.getInstance().getGroupingByFileRuleAsList(); } @Override public String getBreakpointsDialogHelpTopic() { return "reference.dialogs.breakpoints"; } }