Java 类com.intellij.ui.speedSearch.SpeedSearchSupply 实例源码

项目:intellij-ce-playground    文件:RemoteServerListConfigurable.java   
@Nullable
@Override
public Runnable enableSearch(final String option) {
  return new Runnable() {
    @Override
    public void run() {
      ObjectUtils.assertNotNull(SpeedSearchSupply.getSupply(myTree, true)).findAndSelectElement(option);
    }
  };
}
项目:intellij-ce-playground    文件:IdeKeyEventDispatcher.java   
private static boolean isSpeedSearchEditing(KeyEvent e) {
  int keyCode = e.getKeyCode();
  if (keyCode == KeyEvent.VK_BACK_SPACE) {
    Component owner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
    if (owner instanceof JComponent) {
      SpeedSearchSupply supply = SpeedSearchSupply.getSupply((JComponent)owner);
      return supply != null && supply.isPopupActive();
    }
  }
  return false;
}
项目:intellij-ce-playground    文件:SearchReplaceComponent.java   
@Nullable
@Override
public Object getData(@NonNls String dataId) {
  if (SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY.is(dataId)) {
    return mySearchTextComponent.getText();
  }
  return myDataProviderDelegate != null ? myDataProviderDelegate.getData(dataId) : null;
}
项目:intellij-ce-playground    文件:GotoActionBase.java   
protected static Pair<String, Integer> getInitialText(boolean useEditorSelection, AnActionEvent e) {
  final String predefined = e.getData(PlatformDataKeys.PREDEFINED_TEXT);
  if (!StringUtil.isEmpty(predefined)) {
    return Pair.create(predefined, 0);
  }
  if (useEditorSelection) {
    final Editor editor = e.getData(CommonDataKeys.EDITOR);
    if (editor != null) {
      final String selectedText = editor.getSelectionModel().getSelectedText();
      if (selectedText != null && !selectedText.contains("\n")) {
        return Pair.create(selectedText, 0);
      }
    }
  }

  final String query = e.getData(SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY);
  if (!StringUtil.isEmpty(query)) {
    return Pair.create(query, 0);
  }

  final Component focusOwner = IdeFocusManager.getInstance(getEventProject(e)).getFocusOwner();
  if (focusOwner instanceof JComponent) {
    final SpeedSearchSupply supply = SpeedSearchSupply.getSupply((JComponent)focusOwner);
    if (supply != null) {
      return Pair.create(supply.getEnteredPrefix(), 0);
    }
  }

  if (myInAction != null) {
    final Pair<String, Integer> lastString = ourLastStrings.get(myInAction);
    if (lastString != null) {
      return lastString;
    }
  }

  return Pair.create("", 0);
}
项目:tools-idea    文件:EditorSearchComponent.java   
@Override
@Nullable
public Object getData(@NonNls final String dataId) {
  if (SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY.is(dataId)) {
    return mySearchField.getText();
  }
  if (PlatformDataKeys.EDITOR_EVEN_IF_INACTIVE.is(dataId)) {
    return myEditor;
  }
  return null;
}
项目:tools-idea    文件:GotoActionBase.java   
protected static Pair<String, Integer> getInitialText(boolean useEditorSelection, AnActionEvent e) {
  final String predefined = e.getData(PlatformDataKeys.PREDEFINED_TEXT);
  if (!StringUtil.isEmpty(predefined)) {
    return Pair.create(predefined, 0);
  }
  if (useEditorSelection) {
    final Editor editor = e.getData(PlatformDataKeys.EDITOR);
    if (editor != null) {
      final String selectedText = editor.getSelectionModel().getSelectedText();
      if (selectedText != null && !selectedText.contains("\n")) {
        return Pair.create(selectedText, 0);
      }
    }
  }

  final String query = e.getData(SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY);
  if (!StringUtil.isEmpty(query)) {
    return Pair.create(query, 0);
  }

  final Component focusOwner = IdeFocusManager.getInstance(getEventProject(e)).getFocusOwner();
  if (focusOwner instanceof JComponent) {
    final SpeedSearchSupply supply = SpeedSearchSupply.getSupply((JComponent)focusOwner);
    if (supply != null) {
      return Pair.create(supply.getEnteredPrefix(), 0);
    }
  }

  if (myInAction != null) {
    final Pair<String, Integer> lastString = ourLastStrings.get(myInAction);
    if (lastString != null) {
      return lastString;
    }
  }

  return Pair.create("", 0);
}
项目:consulo    文件:IdeKeyEventDispatcher.java   
private static boolean isSpeedSearchEditing(KeyEvent e) {
  int keyCode = e.getKeyCode();
  if (keyCode == KeyEvent.VK_BACK_SPACE) {
    Component owner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
    if (owner instanceof JComponent) {
      SpeedSearchSupply supply = SpeedSearchSupply.getSupply((JComponent)owner);
      return supply != null && supply.isPopupActive();
    }
  }
  return false;
}
项目:consulo    文件:SearchReplaceComponent.java   
@Nullable
@Override
public Object getData(@Nonnull Key<?> dataId) {
  if (SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY == dataId) {
    return mySearchTextComponent.getText();
  }
  return myDataProviderDelegate != null ? myDataProviderDelegate.getData(dataId) : null;
}
项目:consulo    文件:GotoActionBase.java   
protected static Pair<String, Integer> getInitialText(boolean useEditorSelection, AnActionEvent e) {
  final String predefined = e.getData(PlatformDataKeys.PREDEFINED_TEXT);
  if (!StringUtil.isEmpty(predefined)) {
    return Pair.create(predefined, 0);
  }
  if (useEditorSelection) {
    String selectedText = getInitialTextForNavigation(e.getData(CommonDataKeys.EDITOR));
    if (selectedText != null) return new Pair<>(selectedText, 0);
  }

  final String query = e.getData(SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY);
  if (!StringUtil.isEmpty(query)) {
    return Pair.create(query, 0);
  }

  final Component focusOwner = IdeFocusManager.getInstance(getEventProject(e)).getFocusOwner();
  if (focusOwner instanceof JComponent) {
    final SpeedSearchSupply supply = SpeedSearchSupply.getSupply((JComponent)focusOwner);
    if (supply != null) {
      return Pair.create(supply.getEnteredPrefix(), 0);
    }
  }

  if (myInAction != null) {
    final Pair<String, Integer> lastString = ourLastStrings.get(myInAction);
    if (lastString != null) {
      return lastString;
    }
  }

  return Pair.create("", 0);
}
项目:intellij-ce-playground    文件:CheckboxTreeHelper.java   
private static boolean isToggleEvent(KeyEvent e, JComponent mainComponent) {
  return e.getKeyCode() == KeyEvent.VK_SPACE && SpeedSearchSupply.getSupply(mainComponent) == null;
}
项目:intellij-ce-playground    文件:JBTable.java   
@Override
public boolean editCellAt(final int row, final int column, final EventObject e) {
  if (cellEditor != null && !cellEditor.stopCellEditing()) {
    return false;
  }

  if (row < 0 || row >= getRowCount() || column < 0 || column >= getColumnCount()) {
    return false;
  }

  if (!isCellEditable(row, column)) {
    return false;
  }

  if (e instanceof KeyEvent) {
    // do not start editing in autoStartsEdit mode on Ctrl-Z and other non-typed events
    if (!UIUtil.isReallyTypedEvent((KeyEvent)e) || ((KeyEvent)e).getKeyChar() == KeyEvent.CHAR_UNDEFINED) return false;

    SpeedSearchSupply supply = SpeedSearchSupply.getSupply(this);
    if (supply != null && supply.isPopupActive()) {
      return false;
    }
  }

  final TableCellEditor editor = getCellEditor(row, column);
  if (editor != null && editor.isCellEditable(e)) {
    editorComp = prepareEditor(editor, row, column);
    //((JComponent)editorComp).setBorder(null);
    if (editorComp == null) {
      removeEditor();
      return false;
    }
    editorComp.setBounds(getCellRect(row, column, false));
    add(editorComp);
    editorComp.validate();

    if (surrendersFocusOnKeyStroke()) {
      // this replaces focus request in JTable.processKeyBinding
      final IdeFocusManager focusManager = IdeFocusManager.findInstanceByComponent(this);
      focusManager.setTypeaheadEnabled(false);
      focusManager.requestFocus(editorComp, true).doWhenProcessed(new Runnable() {
        @Override
        public void run() {
          focusManager.setTypeaheadEnabled(true);
        }
      });
    }

    setCellEditor(editor);
    setEditingRow(row);
    setEditingColumn(column);
    editor.addCellEditorListener(this);

    return true;
  }
  return false;
}
项目:intellij-ce-playground    文件:DeleteAction.java   
public void update(AnActionEvent event){
  String place = event.getPlace();
  Presentation presentation = event.getPresentation();
  if (ActionPlaces.PROJECT_VIEW_POPUP.equals(place) || ActionPlaces.COMMANDER_POPUP.equals(place))
    presentation.setText(IdeBundle.message("action.delete.ellipsis"));
  else
    presentation.setText(IdeBundle.message("action.delete"));
  DataContext dataContext = event.getDataContext();
  Project project = CommonDataKeys.PROJECT.getData(dataContext);
  if (project == null) {
    presentation.setEnabled(false);
    return;
  }
  DeleteProvider provider = getDeleteProvider(dataContext);
  if (event.getInputEvent() instanceof KeyEvent) {
    KeyEvent keyEvent = (KeyEvent)event.getInputEvent();
    Object component = PlatformDataKeys.CONTEXT_COMPONENT.getData(dataContext);
    if (component instanceof JTextComponent) provider = null; // Do not override text deletion
    if (keyEvent.getKeyCode() == KeyEvent.VK_BACK_SPACE) {
      // Do not override text deletion in speed search
      if (component instanceof JComponent) {
        SpeedSearchSupply searchSupply = SpeedSearchSupply.getSupply((JComponent)component);
        if (searchSupply != null) provider = null;
      }

      String activeSpeedSearchFilter = SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY.getData(dataContext);
      if (!StringUtil.isEmpty(activeSpeedSearchFilter)) {
        provider = null;
      }
    }
  }
  if (provider instanceof TitledHandler) {
    presentation.setText(((TitledHandler)provider).getActionTitle());
  }
  final boolean canDelete = provider != null && provider.canDeleteElement(dataContext);
  if (ActionPlaces.isPopupPlace(event.getPlace())) {
    presentation.setVisible(canDelete);
  }
  else {
    presentation.setEnabled(canDelete);
  }
}
项目:intellij-ce-playground    文件:PluginManagerMain.java   
@Override
public void filter() {
  getPluginTable().putClientProperty(SpeedSearchSupply.SEARCH_QUERY_KEY, getFilter());
  pluginsModel.filter(getFilter().toLowerCase());
  TableUtil.ensureSelectionExists(getPluginTable());
}
项目:intellij-ce-playground    文件:NotificationsConfigurablePanel.java   
public void selectGroup(String searchQuery) {
  ObjectUtils.assertNotNull(SpeedSearchSupply.getSupply(myTable, true)).findAndSelectElement(searchQuery);
}
项目:intellij-ce-playground    文件:TemplateListPanel.java   
void selectNode(@NotNull String searchQuery) {
  ObjectUtils.assertNotNull(SpeedSearchSupply.getSupply(myTree, true)).findAndSelectElement(searchQuery);
}
项目:tools-idea    文件:JBTable.java   
public boolean editCellAt(final int row, final int column, final EventObject e) {
  if (cellEditor != null && !cellEditor.stopCellEditing()) {
    return false;
  }

  if (row < 0 || row >= getRowCount() || column < 0 || column >= getColumnCount()) {
    return false;
  }

  if (!isCellEditable(row, column)) {
    return false;
  }

  if (e instanceof KeyEvent && UIUtil.isReallyTypedEvent((KeyEvent)e)) {
    SpeedSearchSupply supply = SpeedSearchSupply.getSupply(this);
    if (supply != null && supply.isPopupActive()) {
      return false;
    }
  }

  if (myEditorRemover == null) {
    final KeyboardFocusManager keyboardFocusManager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
    myEditorRemover = new MyCellEditorRemover();
    //noinspection HardCodedStringLiteral
    keyboardFocusManager.addPropertyChangeListener("focusOwner", myEditorRemover);
    //noinspection HardCodedStringLiteral
    keyboardFocusManager.addPropertyChangeListener("permanentFocusOwner", myEditorRemover);
  }

  final TableCellEditor editor = getCellEditor(row, column);
  if (editor != null && editor.isCellEditable(e)) {
    editorComp = prepareEditor(editor, row, column);
    //((JComponent)editorComp).setBorder(null);
    if (editorComp == null) {
      removeEditor();
      return false;
    }
    editorComp.setBounds(getCellRect(row, column, false));
    add(editorComp);
    editorComp.validate();

    IdeFocusManager.findInstanceByComponent(this).requestFocus(editorComp, false);

    setCellEditor(editor);
    setEditingRow(row);
    setEditingColumn(column);
    editor.addCellEditorListener(this);
    if (isTypeAhead) {
      JTableCellEditorHelper.typeAhead(this, e, row, column);
    }
    return true;
  }
  return false;
}
项目:tools-idea    文件:DeleteAction.java   
public void update(AnActionEvent event){
  String place = event.getPlace();
  Presentation presentation = event.getPresentation();
  if (ActionPlaces.PROJECT_VIEW_POPUP.equals(place) || ActionPlaces.COMMANDER_POPUP.equals(place))
    presentation.setText(IdeBundle.message("action.delete.ellipsis"));
  else
    presentation.setText(IdeBundle.message("action.delete"));
  DataContext dataContext = event.getDataContext();
  Project project = PlatformDataKeys.PROJECT.getData(dataContext);
  if (project == null) {
    presentation.setEnabled(false);
    return;
  }
  DeleteProvider provider = getDeleteProvider(dataContext);
  if (event.getInputEvent() instanceof KeyEvent) {
    KeyEvent keyEvent = (KeyEvent)event.getInputEvent();
    Object component = PlatformDataKeys.CONTEXT_COMPONENT.getData(dataContext);
    if (component instanceof JTextComponent) provider = null; // Do not override text deletion
    if (keyEvent.getKeyCode() == KeyEvent.VK_BACK_SPACE) {
      // Do not override text deletion in speed search
      if (component instanceof JComponent) {
        SpeedSearchSupply searchSupply = SpeedSearchSupply.getSupply((JComponent)component);
        if (searchSupply != null) provider = null;
      }

      String activeSpeedSearchFilter = SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY.getData(dataContext);
      if (!StringUtil.isEmpty(activeSpeedSearchFilter)) {
        provider = null;
      }
    }
  }
  if (provider instanceof TitledHandler) {
    presentation.setText(((TitledHandler)provider).getActionTitle());
  }
  final boolean canDelete = provider != null && provider.canDeleteElement(dataContext);
  if (ActionPlaces.isPopupPlace(event.getPlace())) {
    presentation.setVisible(canDelete);
  }
  else {
    presentation.setEnabled(canDelete);
  }
}
项目:consulo    文件:ScrollingUtil.java   
@Override
public void update(AnActionEvent e) {
  e.getPresentation().setEnabled(SpeedSearchSupply.getSupply(myComponent) == null && !isEmpty(myComponent));
}
项目:consulo    文件:JBTable.java   
@Override
public boolean editCellAt(final int row, final int column, final EventObject e) {
  if (cellEditor != null && !cellEditor.stopCellEditing()) {
    return false;
  }

  if (row < 0 || row >= getRowCount() || column < 0 || column >= getColumnCount()) {
    return false;
  }

  if (!isCellEditable(row, column)) {
    return false;
  }

  if (e instanceof KeyEvent) {
    // do not start editing in autoStartsEdit mode on Ctrl-Z and other non-typed events
    if (!UIUtil.isReallyTypedEvent((KeyEvent)e) || ((KeyEvent)e).getKeyChar() == KeyEvent.CHAR_UNDEFINED) return false;

    SpeedSearchSupply supply = SpeedSearchSupply.getSupply(this);
    if (supply != null && supply.isPopupActive()) {
      return false;
    }
  }

  final TableCellEditor editor = getCellEditor(row, column);
  if (editor != null && editor.isCellEditable(e)) {
    editorComp = prepareEditor(editor, row, column);
    //((JComponent)editorComp).setBorder(null);
    if (editorComp == null) {
      removeEditor();
      return false;
    }
    editorComp.setBounds(getCellRect(row, column, false));
    add(editorComp);
    editorComp.validate();

    if (surrendersFocusOnKeyStroke()) {
      // this replaces focus request in JTable.processKeyBinding
      final IdeFocusManager focusManager = IdeFocusManager.findInstanceByComponent(this);
      focusManager.setTypeaheadEnabled(false);
      focusManager.requestFocus(editorComp, true).doWhenProcessed(() -> focusManager.setTypeaheadEnabled(true));
    }

    setCellEditor(editor);
    setEditingRow(row);
    setEditingColumn(column);
    editor.addCellEditorListener(this);

    return true;
  }
  return false;
}
项目:consulo    文件:DeleteAction.java   
public void update(AnActionEvent event){
  String place = event.getPlace();
  Presentation presentation = event.getPresentation();
  if (ActionPlaces.PROJECT_VIEW_POPUP.equals(place) || ActionPlaces.COMMANDER_POPUP.equals(place))
    presentation.setText(IdeBundle.message("action.delete.ellipsis"));
  else
    presentation.setText(IdeBundle.message("action.delete"));
  DataContext dataContext = event.getDataContext();
  Project project = event.getData(CommonDataKeys.PROJECT);
  if (project == null) {
    presentation.setEnabled(false);
    return;
  }
  DeleteProvider provider = getDeleteProvider(dataContext);
  if (event.getInputEvent() instanceof KeyEvent) {
    KeyEvent keyEvent = (KeyEvent)event.getInputEvent();
    Object component = event.getData(PlatformDataKeys.CONTEXT_COMPONENT);
    if (component instanceof JTextComponent) provider = null; // Do not override text deletion
    if (keyEvent.getKeyCode() == KeyEvent.VK_BACK_SPACE) {
      // Do not override text deletion in speed search
      if (component instanceof JComponent) {
        SpeedSearchSupply searchSupply = SpeedSearchSupply.getSupply((JComponent)component);
        if (searchSupply != null) provider = null;
      }

      String activeSpeedSearchFilter = event.getData(SpeedSearchSupply.SPEED_SEARCH_CURRENT_QUERY);
      if (!StringUtil.isEmpty(activeSpeedSearchFilter)) {
        provider = null;
      }
    }
  }
  if (provider instanceof TitledHandler) {
    presentation.setText(((TitledHandler)provider).getActionTitle());
  }
  final boolean canDelete = provider != null && provider.canDeleteElement(dataContext);
  if (ActionPlaces.isPopupPlace(event.getPlace())) {
    presentation.setVisible(canDelete);
  }
  else {
    presentation.setEnabled(canDelete);
  }
}
项目:consulo    文件:NotificationsConfigurablePanel.java   
public void selectGroup(String searchQuery) {
  ObjectUtil.assertNotNull(SpeedSearchSupply.getSupply(myTable, true)).findAndSelectElement(searchQuery);
}
项目:consulo    文件:GutterIconsConfigurable.java   
@Nullable
@Override
public Runnable enableSearch(String option) {
  return () -> ObjectUtils.assertNotNull(SpeedSearchSupply.getSupply(myList, true)).findAndSelectElement(option);
}