List of usage examples for com.intellij.openapi.actionSystem IdeActions ACTION_TOGGLE_LINE_BREAKPOINT
String ACTION_TOGGLE_LINE_BREAKPOINT
To view the source code for com.intellij.openapi.actionSystem IdeActions ACTION_TOGGLE_LINE_BREAKPOINT.
Click Source Link
From source file:com.intellij.xdebugger.impl.XDebuggerUtilImpl.java
License:Apache License
@NotNull public static <P extends XBreakpointProperties> AsyncResult<XLineBreakpoint> toggleAndReturnLineBreakpoint( @NotNull final Project project, @NotNull final XLineBreakpointType<P> type, @NotNull final XSourcePosition position, final boolean temporary, @Nullable final Editor editor) { return new WriteAction<AsyncResult<XLineBreakpoint>>() { @Override//from w w w . j a v a 2 s.c om protected void run(@NotNull Result<AsyncResult<XLineBreakpoint>> result) throws Throwable { final VirtualFile file = position.getFile(); final int line = position.getLine(); final XBreakpointManager breakpointManager = XDebuggerManager.getInstance(project) .getBreakpointManager(); XLineBreakpoint<P> breakpoint = breakpointManager.findBreakpointAtLine(type, file, line); if (breakpoint != null) { breakpointManager.removeBreakpoint(breakpoint); } else { List<? extends XLineBreakpointType<P>.XLineBreakpointVariant> variants = type .computeVariants(project, position); if (!variants.isEmpty() && editor != null) { RelativePoint relativePoint = DebuggerUIUtil.calcPopupLocation(editor, line); if (variants.size() > 1 && relativePoint != null) { final AsyncResult<XLineBreakpoint> res = new AsyncResult<XLineBreakpoint>(); class MySelectionListener implements ListSelectionListener { RangeHighlighter myHighlighter = null; @Override public void valueChanged(ListSelectionEvent e) { if (!e.getValueIsAdjusting()) { clearHighlighter(); Object value = ((JList) e.getSource()).getSelectedValue(); if (value instanceof XLineBreakpointType.XLineBreakpointVariant) { TextRange range = ((XLineBreakpointType.XLineBreakpointVariant) value) .getHighlightRange(); TextRange lineRange = DocumentUtil .getLineTextRange(editor.getDocument(), line); if (range != null) { range = range.intersection(lineRange); } else { range = lineRange; } if (range != null && !range.isEmpty()) { EditorColorsScheme scheme = EditorColorsManager.getInstance() .getGlobalScheme(); TextAttributes attributes = scheme .getAttributes(DebuggerColors.BREAKPOINT_ATTRIBUTES); myHighlighter = editor.getMarkupModel().addRangeHighlighter( range.getStartOffset(), range.getEndOffset(), DebuggerColors.BREAKPOINT_HIGHLIGHTER_LAYER, attributes, HighlighterTargetArea.EXACT_RANGE); } } } } private void clearHighlighter() { if (myHighlighter != null) { myHighlighter.dispose(); } } } // calculate default item int caretOffset = editor.getCaretModel().getOffset(); XLineBreakpointType<P>.XLineBreakpointVariant defaultVariant = null; for (XLineBreakpointType<P>.XLineBreakpointVariant variant : variants) { TextRange range = variant.getHighlightRange(); if (range != null && range.contains(caretOffset)) { //noinspection ConstantConditions if (defaultVariant == null || defaultVariant.getHighlightRange().getLength() > range.getLength()) { defaultVariant = variant; } } } final int defaultIndex = defaultVariant != null ? variants.indexOf(defaultVariant) : 0; final MySelectionListener selectionListener = new MySelectionListener(); ListPopupImpl popup = new ListPopupImpl( new BaseListPopupStep<XLineBreakpointType.XLineBreakpointVariant>( "Create breakpoint for", variants) { @NotNull @Override public String getTextFor(XLineBreakpointType.XLineBreakpointVariant value) { return value.getText(); } @Override public Icon getIconFor(XLineBreakpointType.XLineBreakpointVariant value) { return value.getIcon(); } @Override public void canceled() { selectionListener.clearHighlighter(); } @Override @RequiredDispatchThread public PopupStep onChosen( final XLineBreakpointType.XLineBreakpointVariant selectedValue, boolean finalChoice) { selectionListener.clearHighlighter(); ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override public void run() { P properties = (P) selectedValue.createProperties(); res.setDone(breakpointManager.addLineBreakpoint(type, file.getUrl(), line, properties, temporary)); } }); return FINAL_CHOICE; } @Override public int getDefaultOptionIndex() { return defaultIndex; } }); DebuggerUIUtil.registerExtraHandleShortcuts(popup, IdeActions.ACTION_TOGGLE_LINE_BREAKPOINT); popup.addListSelectionListener(selectionListener); popup.show(relativePoint); result.setResult(res); return; } else { P properties = variants.get(0).createProperties(); result.setResult(AsyncResult.done((XLineBreakpoint) breakpointManager .addLineBreakpoint(type, file.getUrl(), line, properties, temporary))); return; } } P properties = type.createBreakpointProperties(file, line); result.setResult(AsyncResult.done((XLineBreakpoint) breakpointManager.addLineBreakpoint(type, file.getUrl(), line, properties, temporary))); return; } result.setResult(AsyncResult.<XLineBreakpoint>rejected()); } }.execute().getResultObject(); }
From source file:org.cordovastudio.startup.CordovaStudioInitializer.java
License:Apache License
private void hideIdeaActions() { hideAction("NewPackageInfo", "package-info.java"); hideAction("NewForm", "GUI Form"); hideAction("NewDialog", "Dialog"); hideAction("NewFormSnapshot", "Form Snapshot"); replaceAction("Groovy.NewClass", new EmptyAction()); replaceAction("Groovy.NewScript", new EmptyAction()); hideAction("NewModule", "New Module..."); hideAction("NewModuleInGroup", "Module"); hideAction("CreateLibraryFromFile", "Add As Library..."); hideAction("ImportModule", "Import Module..."); //hideAction(IdeActions.GROUP_MOVE_MODULE_TO_GROUP, "Move Module to Group"); hideAction(IdeActions.MODULE_SETTINGS, "Module Settings"); //hideAction(IdeActions.GROUP_WELCOME_SCREEN_DOC, "Docs and How-Tos"); //hideAction(IdeActions.GROUP_WELCOME_SCREEN_QUICKSTART, "WelcomeScreen.QuickStart"); //TODO: find name hideAction(IdeActions.ACTION_EXTERNAL_JAVADOC, "External Documentation"); hideAction(IdeActions.ACTION_QUICK_JAVADOC, "Quick Documentation"); hideAction("AddFrameworkSupport", "Add Framework Support..."); hideAction(IdeActions.ACTION_GENERATE_ANT_BUILD, "Generate Ant Build..."); hideAction("BuildArtifact", "Build Artifacts..."); hideAction("RunTargetAction", "Run Ant Target"); hideAction(IdeActions.ACTION_MAKE_MODULE, "Make Module"); hideAction(IdeActions.ACTION_GENERATE_ANT_BUILD, "Generate Ant Build..."); hideAction(IdeActions.ACTION_INSPECT_CODE, "Inspect Code..."); //hideAction(IdeActions.GROUP_DEBUGGER, "DebuggerActions"); //TODO: find name hideAction(IdeActions.ACTION_DEFAULT_DEBUGGER, "Debug"); hideAction(IdeActions.ACTION_TOGGLE_LINE_BREAKPOINT, "Toggle Line Breakpoint"); //hideAction(IdeActions.GROUP_USAGE_VIEW_POPUP, "UsageView.Popup"); //TODO: find name hideAction(IdeActions.ACTION_GOTO_DECLARATION, "Declaration"); hideAction(IdeActions.ACTION_GOTO_TYPE_DECLARATION, "Type Declaration"); hideAction(IdeActions.ACTION_GOTO_IMPLEMENTATION, "Implementation(s)"); hideAction(IdeActions.ACTION_ANALYZE_DEPENDENCIES, "Analyze Dependencies..."); hideAction(IdeActions.ACTION_ANALYZE_BACK_DEPENDENCIES, "Analyze Backward Dependencies..."); hideAction(IdeActions.ACTION_ANALYZE_CYCLIC_DEPENDENCIES, "Analyze Cyclic Dependencies..."); //hideAction(IdeActions.GROUP_REFACTOR, "Refactor"); hideAction(IdeActions.ACTION_TYPE_HIERARCHY, "Class Hierarchy"); hideAction(IdeActions.ACTION_METHOD_HIERARCHY, "Method Hierarchy"); hideAction(IdeActions.ACTION_CALL_HIERARCHY, "Call Hierarchy"); //hideAction(IdeActions.GROUP_TYPE_HIERARCHY_POPUP, "TypeH ierarchy"); //hideAction(IdeActions.GROUP_METHOD_HIERARCHY_POPUP, "Method Hierarchy"); //hideAction(IdeActions.GROUP_CALL_HIERARCHY_POPUP, "Call Hierarchy"); //hideAction(IdeActions.GROUP_COMMANDER_POPUP, "Commander"); //hideAction(IdeActions.GROUP_TESTTREE_POPUP, "TestTreePopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_TESTSTATISTICS_POPUP, "TestStatisticsTablePopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_J2EE_VIEW_POPUP, "J2EEViewPopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_EJB_TRANSACTION_ATTRIBUTES_VIEW_POPUP, "EjbTransactionAttributesViewPopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_EJB_ENVIRONMENT_ENTRIES_VIEW_POPUP, "EjbEnvironmentEntriesViewPopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_EJB_REFERENCES_VIEW_POPUP, "EjbReferencesViewPopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_SECURITY_ROLES_VIEW_POPUP, "SecurityRolesViewPopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_PARAMETERS_VIEW_POPUP, "ParametersViewPopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_SERVLET_MAPPING_VIEW_POPUP, "ServletMappingViewPopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_EJB_RESOURCE_REFERENCES_VIEW_POPUP, "EjbResourceReferencesViewPopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_EJB_RESOURCE_ENVIRONMENT_REFERENCES_VIEW_POPUP, "EjbResourceEnvironmentReferencesViewPopupMenu"); //TODO: find name //hideAction(IdeActions.GROUP_ADD_SUPPORT, "AddSupportGroup"); hideAction(IdeActions.ACTION_QUICK_IMPLEMENTATIONS, "Quick Definition"); }