Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tm.te.ui.terminals/src/org/eclipse/tm/te/ui/terminals/tabs/TabTerminalListener.java')
-rw-r--r--target_explorer/plugins/org.eclipse.tm.te.ui.terminals/src/org/eclipse/tm/te/ui/terminals/tabs/TabTerminalListener.java112
1 files changed, 0 insertions, 112 deletions
diff --git a/target_explorer/plugins/org.eclipse.tm.te.ui.terminals/src/org/eclipse/tm/te/ui/terminals/tabs/TabTerminalListener.java b/target_explorer/plugins/org.eclipse.tm.te.ui.terminals/src/org/eclipse/tm/te/ui/terminals/tabs/TabTerminalListener.java
deleted file mode 100644
index 0ffa15d5e..000000000
--- a/target_explorer/plugins/org.eclipse.tm.te.ui.terminals/src/org/eclipse/tm/te/ui/terminals/tabs/TabTerminalListener.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved.
- * This program and the accompanying materials are made available under the terms
- * of the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipse.tm.te.ui.terminals.tabs;
-
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.custom.CTabItem;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.tm.internal.terminal.control.ITerminalListener;
-import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
-import org.eclipse.tm.te.ui.terminals.nls.Messages;
-
-/**
- * Terminals tab default terminal listener implementation.
- */
-@SuppressWarnings("restriction")
-public class TabTerminalListener implements ITerminalListener {
- private final CTabItem tabItem;
-
- /**
- * Constructor.
- *
- * @param tabItem The parent tab item. Must not be <code>null</code>.
- */
- public TabTerminalListener(CTabItem tabItem) {
- super();
- Assert.isNotNull(tabItem);
- this.tabItem = tabItem;
- }
-
- /**
- * Returns the associated parent tab item.
- *
- * @return The parent tab item.
- */
- protected final CTabItem getTabItem() {
- return tabItem;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tm.internal.terminal.control.ITerminalListener#setState(org.eclipse.tm.internal.terminal.provisional.api.TerminalState)
- */
- @Override
- public void setState(final TerminalState state) {
- // The tab item must have been not yet disposed
- final CTabItem item = getTabItem();
- if (item == null || item.isDisposed()) return;
-
- // Update the tab item title
- item.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- String newTitle = getTerminalConsoleTabTitle(state);
- if (newTitle != null) item.setText(newTitle);
- }
- });
- }
-
- // The pattern will not change over the session life-time
- private static final Pattern TERMINAL_TITLE_TERMINATED_PATTERN = Pattern.compile(Messages.TabTerminalListener_consoleTerminated.replaceAll("\\{[0-9]+\\}", ".*")); //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * Returns the title to set to the terminal console tab for the given state.
- * <p>
- * <b>Note:</b> This method is called from {@link #setState(TerminalState)} and
- * is expected to by called within the UI thread.
- *
- * @param state The terminal state. Must be not <code>null</code>.
- * @return The terminal console tab title to set or <code>null</code> to leave the title unchanged.
- */
- protected String getTerminalConsoleTabTitle(TerminalState state) {
- Assert.isNotNull(state);
- Assert.isNotNull(Display.findDisplay(Thread.currentThread()));
-
- // The tab item must have been not yet disposed
- CTabItem item = getTabItem();
- if (item == null || item.isDisposed()) return null;
-
- // Get the current tab title
- String oldTitle = item.getText();
-
- // Construct the new title
- String newTitle = null;
-
- if (TerminalState.CLOSED.equals(state)) {
- // Avoid multiple decorations of the closed state
- if (!TERMINAL_TITLE_TERMINATED_PATTERN.matcher(oldTitle).matches()) {
- newTitle = NLS.bind(Messages.TabTerminalListener_consoleTerminated, oldTitle);
- } else {
- newTitle = oldTitle;
- }
- }
-
- return newTitle != null && !newTitle.equals(oldTitle) ? newTitle : null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.tm.internal.terminal.control.ITerminalListener#setTerminalTitle(java.lang.String)
- */
- @Override
- public void setTerminalTitle(String title) {
- }
-}

Back to the top