Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRolf Theunissen2020-06-23 19:28:29 +0000
committerLars Vogel2020-06-24 09:58:59 +0000
commitc7fd8819ffabed898826d6922c1dceb367f45bc0 (patch)
tree2dd475fd8289770c94cc7be270d5f490db7576e8
parent0392a8bc3452d4d8ccc351b5b07210cfb71f3f46 (diff)
downloadeclipse.platform.ui-c7fd8819ffabed898826d6922c1dceb367f45bc0.tar.gz
eclipse.platform.ui-c7fd8819ffabed898826d6922c1dceb367f45bc0.tar.xz
eclipse.platform.ui-c7fd8819ffabed898826d6922c1dceb367f45bc0.zip
Bug 564144 - Removes org.eclipse.ui.internal.keys.KeyBindingState
Full text search also showed no usage Change-Id: I2d1a355fe7cb3b767f7a418424a731d8d12012f9 Signed-off-by: Rolf Theunissen <rolf.theunissen@gmail.com>
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/KeyBindingState.java171
1 files changed, 0 insertions, 171 deletions
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/KeyBindingState.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/KeyBindingState.java
deleted file mode 100644
index 38d8be3a604..00000000000
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/keys/KeyBindingState.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.keys;
-
-import org.eclipse.jface.action.IContributionItem;
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.jface.action.StatusLineContributionItem;
-import org.eclipse.jface.bindings.keys.KeySequence;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.internal.WorkbenchWindow;
-
-/**
- * <p>
- * The mutable state of the key binding architecture. This is the only piece of
- * the key binding architecture that changes (internally). It keeps track of
- * what partial key strokes the user has entered. In the case of functional
- * groups of key bindings, it allows the user to keep part of the key sequence
- * even after a match has been made. Only after releasing all of the modifier
- * keys would the sequence reset itself.
- * </p>
- * <p>
- * In the current implementation, a partial reset results in only one key stroke
- * being left in the sequence. However, this may change in the future.
- * </p>
- *
- * @since 3.0
- */
-class KeyBindingState {
-
- /**
- * The workbench window associated with this state. The state can only exist for
- * one window. When the focus leaves this window then the mode must
- * automatically be reset.
- */
- private IWorkbenchWindow associatedWindow;
-
- /**
- * This is the current extent of the sequence entered by the user. In an
- * application with only single-stroke key bindings, this will also be empty.
- * However, in applications with multi-stroke key bindings, this is the sequence
- * entered by the user that partially matches another one of the application's
- * active key bindings.
- */
- private KeySequence currentSequence;
-
- /**
- * The workbench that should be notified of changes to the key binding state.
- * This is done by updating one of the contribution items on the status line.
- */
- private final IWorkbench workbench;
-
- /**
- * Constructs a new instance of <code>KeyBindingState</code> with an empty key
- * sequence, set to reset fully.
- *
- * @param workbenchToNotify The workbench that this state should keep advised of
- * changes to the key binding state; must not be
- * <code>null</code>.
- */
- KeyBindingState(IWorkbench workbenchToNotify) {
- currentSequence = KeySequence.getInstance();
- workbench = workbenchToNotify;
- associatedWindow = workbench.getActiveWorkbenchWindow();
- }
-
- /**
- * An accessor for the workbench window associated with this state. This should
- * never be <code>null</code>, as the setting follows the last workbench window
- * to have focus.
- *
- * @return The workbench window to which the key binding architecture is
- * currently attached; should never be <code>null</code>.
- */
- IWorkbenchWindow getAssociatedWindow() {
- return associatedWindow;
- }
-
- /**
- * An accessor for the current key sequence waiting for completion.
- *
- * @return The current incomplete key sequence; never <code>null</code>, but may
- * be empty.
- */
- KeySequence getCurrentSequence() {
- return currentSequence;
- }
-
- /**
- * Gets the status line contribution item which the key binding architecture
- * uses to keep the user up-to-date as to the current state.
- *
- * @return The status line contribution item, if any; <code>null</code>, if
- * none.
- */
- StatusLineContributionItem getStatusLine() {
- if (associatedWindow instanceof WorkbenchWindow) {
- WorkbenchWindow window = (WorkbenchWindow) associatedWindow;
- IStatusLineManager statusLine = window.getStatusLineManager();
- // TODO implicit dependency on IDE's action builder
- // @issue implicit dependency on IDE's action builder
- if (statusLine != null) { // this can be null if we're exiting
- IContributionItem item = statusLine.find("ModeContributionItem"); //$NON-NLS-1$
- if (item instanceof StatusLineContributionItem) {
- return ((StatusLineContributionItem) item);
- }
- }
- }
-
- return null;
- }
-
- /**
- * <p>
- * Resets the state based on the current properties. If the state is to collapse
- * fully or if there are no key strokes, then it sets the state to have an empty
- * key sequence. Otherwise, it leaves the first key stroke in the sequence.
- * </p>
- * <p>
- * The workbench's status lines are updated, if appropriate.
- * </p>
- */
- void reset() {
- currentSequence = KeySequence.getInstance();
- updateStatusLines();
- }
-
- /**
- * A mutator for the workbench window to which this state is associated.
- *
- * @param window The workbench window to associated; should never be
- * <code>null</code>.
- */
- void setAssociatedWindow(IWorkbenchWindow window) {
- associatedWindow = window;
- }
-
- /**
- * A mutator for the partial sequence entered by the user.
- *
- * @param sequence The current key sequence; should not be <code>null</code>,
- * but may be empty.
- */
- void setCurrentSequence(KeySequence sequence) {
- currentSequence = sequence;
- updateStatusLines();
- }
-
- /**
- * Updates the text of the status line of the associated shell with the current
- * sequence.
- */
- private void updateStatusLines() {
- StatusLineContributionItem statusLine = getStatusLine();
- if (statusLine != null) {
- statusLine.setText(getCurrentSequence().format());
- }
- }
-}

Back to the top