void (boolean requestFocus, boolean singleParameterInfo) { if (myHint.isVisible()) { JComponent myHintComponent = myHint.getComponent(); myHintComponent.removeAll(); hideHint(); myHint = createHint(); } mySingleParameterInfo = singleParameterInfo && myKeepOnHintHidden; int caretOffset = myEditor.getCaretModel().getOffset(); Pair<Point, Short> pos = myProvider.getBestPointPosition(myHint, myParameterInfoControllerData.getParameterOwner(), caretOffset, null, HintManager.ABOVE); @SuppressWarnings("MagicConstant") HintHint hintHint = HintManagerImpl.createHintHint(myEditor, pos.getFirst(), myHint, pos.getSecond()); hintHint.setExplicitClose(true); hintHint.setRequestFocus(requestFocus); hintHint.setShowImmediately(true); if (!ExperimentalUI.isNewUI()) { hintHint.setBorderColor(ParameterInfoComponent.BORDER_COLOR); hintHint.setBorderInsets(JBUI.insets(4, 1, 4, 1)); hintHint.setComponentBorder(JBUI.Borders.empty()); } int flags = HintManager.HIDE_BY_ESCAPE | HintManager.UPDATE_BY_SCROLLING; if (!singleParameterInfo && myKeepOnHintHidden) flags |= HintManager.HIDE_BY_TEXT_CHANGE; Editor editorToShow = InjectedLanguageEditorUtil.getTopLevelEditor(myEditor); //update presentation of descriptors synchronously myComponent.update(mySingleParameterInfo); // is case of injection we need to calculate position for EditorWindow // also we need to show the hint in the main editor because of intention bulb HintManagerImpl.getInstanceImpl().showEditorHint(myHint, editorToShow, pos.getFirst(), flags, 0, false, hintHint); updateComponent(); }