當前位置: 首頁>>代碼示例>>Java>>正文


Java StackingPopupDispatcher類代碼示例

本文整理匯總了Java中com.intellij.openapi.ui.popup.StackingPopupDispatcher的典型用法代碼示例。如果您正苦於以下問題:Java StackingPopupDispatcher類的具體用法?Java StackingPopupDispatcher怎麽用?Java StackingPopupDispatcher使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


StackingPopupDispatcher類屬於com.intellij.openapi.ui.popup包,在下文中一共展示了StackingPopupDispatcher類的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: createCancelAction

import com.intellij.openapi.ui.popup.StackingPopupDispatcher; //導入依賴的package包/類
/**
 *
 * @return null if we should ignore <Esc> for window closing
 */
@Nullable
protected ActionListener createCancelAction() {
  return new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        MenuSelectionManager menuSelectionManager = MenuSelectionManager.defaultManager();
        MenuElement[] selectedPath = menuSelectionManager.getSelectedPath();
        if (selectedPath.length > 0) { // hide popup menu if any
          menuSelectionManager.clearSelectedPath();
        }
        else {
          if (ApplicationManager.getApplication() == null) {
            doCancelAction(e);
            return;
          }
          final StackingPopupDispatcher popupDispatcher = StackingPopupDispatcher.getInstance();
          if (popupDispatcher != null && !popupDispatcher.isPopupFocused()) {
            doCancelAction(e);
          }
        }
      }
    };
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:28,代碼來源:DialogWrapper.java

示例2: update

import com.intellij.openapi.ui.popup.StackingPopupDispatcher; //導入依賴的package包/類
@Override
public void update(AnActionEvent e) {
  Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
  e.getPresentation().setEnabled(false);
  if (focusOwner instanceof JComponent && SpeedSearchBase.hasActiveSpeedSearch((JComponent)focusOwner)) {
    return;
  }

  if (StackingPopupDispatcher.getInstance().isPopupFocused()) return;
  JTree tree = UIUtil.getParentOfType(JTree.class, focusOwner);
  JTable table = UIUtil.getParentOfType(JTable.class, focusOwner);
  
  if (tree != null || table != null) {
    if (hasNoEditingTreesOrTablesUpward(focusOwner)) {
      e.getPresentation().setEnabled(true);
    }
  }
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:19,代碼來源:DialogWrapperPeerImpl.java

示例3: update

import com.intellij.openapi.ui.popup.StackingPopupDispatcher; //導入依賴的package包/類
@Override
public void update(AnActionEvent e) {
  Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
  e.getPresentation().setEnabled(false);
  if (focusOwner instanceof JComponent && SpeedSearchBase.hasActiveSpeedSearch((JComponent)focusOwner)) {
    return;
  }

  if (StackingPopupDispatcher.getInstance().isPopupFocused()) return;

  if (focusOwner instanceof JTree) {
    JTree tree = (JTree)focusOwner;
    if (!tree.isEditing()) {
      e.getPresentation().setEnabled(true);
    }
  }
  else if (focusOwner instanceof JTable) {
    JTable table = (JTable)focusOwner;
    if (!table.isEditing()) {
      e.getPresentation().setEnabled(true);
    }
  }
}
 
開發者ID:lshain-android-source,項目名稱:tools-idea,代碼行數:24,代碼來源:DialogWrapperPeerImpl.java

示例4: update

import com.intellij.openapi.ui.popup.StackingPopupDispatcher; //導入依賴的package包/類
@Override
public void update(@Nonnull AnActionEvent e) {
  Component focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
  e.getPresentation().setEnabled(false);
  if (focusOwner instanceof JComponent && SpeedSearchBase.hasActiveSpeedSearch((JComponent)focusOwner)) {
    return;
  }

  if (StackingPopupDispatcher.getInstance().isPopupFocused()) return;
  JTree tree = UIUtil.getParentOfType(JTree.class, focusOwner);
  JTable table = UIUtil.getParentOfType(JTable.class, focusOwner);

  if (tree != null || table != null) {
    if (hasNoEditingTreesOrTablesUpward(focusOwner)) {
      e.getPresentation().setEnabled(true);
    }
  }
}
 
開發者ID:consulo,項目名稱:consulo,代碼行數:19,代碼來源:DialogWrapperPeerImpl.java

示例5: hidePopupsIfNeeded

import com.intellij.openapi.ui.popup.StackingPopupDispatcher; //導入依賴的package包/類
private void hidePopupsIfNeeded() {
  if (!SystemInfo.isMac) return;

  StackingPopupDispatcher.getInstance().hidePersistentPopups();
  myDisposeActions.add(new Runnable() {
    @Override
    public void run() {
      StackingPopupDispatcher.getInstance().restorePersistentPopups();
    }
  });
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:12,代碼來源:DialogWrapperPeerImpl.java

示例6: hidePopupsIfNeeded

import com.intellij.openapi.ui.popup.StackingPopupDispatcher; //導入依賴的package包/類
private void hidePopupsIfNeeded() {
  if (!SystemInfo.isMac) return;

  StackingPopupDispatcher.getInstance().hidePersistentPopups();

  Disposer.register(myDialog, new Disposable() {
    @Override
    public void dispose() {
      StackingPopupDispatcher.getInstance().restorePersistentPopups();
    }
  });
}
 
開發者ID:jskierbi,項目名稱:intellij-ce-playground,代碼行數:13,代碼來源:GlassPaneDialogWrapperPeer.java

示例7: hidePopupsIfNeeded

import com.intellij.openapi.ui.popup.StackingPopupDispatcher; //導入依賴的package包/類
private void hidePopupsIfNeeded() {
  if (!SystemInfo.isMac) return;

  final StackingPopupDispatcher stackingPopupDispatcher = StackingPopupDispatcher.getInstance();
  stackingPopupDispatcher.hidePersistentPopups();

  Disposer.register(myDialog, new Disposable() {
    @Override
    public void dispose() {
      stackingPopupDispatcher.restorePersistentPopups();
    }
  });
}
 
開發者ID:consulo,項目名稱:consulo,代碼行數:14,代碼來源:GlassPaneDialogWrapperPeer.java

示例8: hidePopupsIfNeeded

import com.intellij.openapi.ui.popup.StackingPopupDispatcher; //導入依賴的package包/類
private void hidePopupsIfNeeded() {
  if (!SystemInfo.isMac) return;

  StackingPopupDispatcher.getInstance().hidePersistentPopups();
  myDisposeActions.add(() -> StackingPopupDispatcher.getInstance().restorePersistentPopups());
}
 
開發者ID:consulo,項目名稱:consulo,代碼行數:7,代碼來源:DialogWrapperPeerImpl.java


注:本文中的com.intellij.openapi.ui.popup.StackingPopupDispatcher類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。