1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-15 21:15:23 +02:00

[238257] Added help text for empty view.

This commit is contained in:
Anna Dushistova 2008-08-11 16:40:49 +00:00
parent 3460ce0dbb
commit a0c7e18d8c
3 changed files with 38 additions and 3 deletions

View file

@ -7,6 +7,7 @@
* *
* Contributors: * Contributors:
* Martin Oberhuber (Wind River) - [235626] initial API and implementation * Martin Oberhuber (Wind River) - [235626] initial API and implementation
* Anna Dushistova (MontaVista) - [238257] Request a help text when no tab is open in "Remote Shell", "Remote Monitor" and "Terminals" views
*******************************************************************************/ *******************************************************************************/
package org.eclipse.rse.internal.terminals.ui; package org.eclipse.rse.internal.terminals.ui;
@ -23,6 +24,8 @@ public class TerminalUIResources extends NLS {
public static String TerminalsUI_cannotOpenView_error; public static String TerminalsUI_cannotOpenView_error;
public static String TerminalViewer_text;
static { static {
NLS.initializeMessages(BUNDLE_NAME, TerminalUIResources.class); NLS.initializeMessages(BUNDLE_NAME, TerminalUIResources.class);
} }

View file

@ -8,6 +8,7 @@
# Contributors: # Contributors:
# Yu-Fen Kuo (MontaVista) - initial API and implementation # Yu-Fen Kuo (MontaVista) - initial API and implementation
# Martin Oberhuber (Wind River) - [235626] Convert terminals.ui to MessageBundle format # Martin Oberhuber (Wind River) - [235626] Convert terminals.ui to MessageBundle format
# Anna Dushistova (MontaVista) - [238257] Request a help text when no tab is open in "Remote Shell", "Remote Monitor" and "Terminals" views
################################################################################ ################################################################################
# NLS_MESSAGEFORMAT_VAR # NLS_MESSAGEFORMAT_VAR
@ -19,3 +20,4 @@ ShowInTerminalViewAction_label=Show In Terminals View
ShowInTerminalViewAction_tooltip=Show current terminal in Terminals view ShowInTerminalViewAction_tooltip=Show current terminal in Terminals view
TerminalsUI_cannotOpenView_error=Can not open remote terminals view TerminalsUI_cannotOpenView_error=Can not open remote terminals view
TerminalViewer_text=To open a terminal, right-click the Terminal subsystem under the target. Then select 'Launch Terminal' from the context menu.

View file

@ -23,7 +23,8 @@
* Anna Dushistova (MontaVista) - Adapted from SystemCommandsViewPart * Anna Dushistova (MontaVista) - Adapted from SystemCommandsViewPart
* Yu-Fen Kuo (MontaVista) - [227572] RSE Terminal doesn't reset the "connected" state when the shell exits * Yu-Fen Kuo (MontaVista) - [227572] RSE Terminal doesn't reset the "connected" state when the shell exits
* Anna Dushistova (MontaVista) - [228577] [rseterminal] Clean up RSE Terminal impl * Anna Dushistova (MontaVista) - [228577] [rseterminal] Clean up RSE Terminal impl
********************************************************************************/ * Anna Dushistova (MontaVista) - [238257] Request a help text when no tab is open in "Remote Shell", "Remote Monitor" and "Terminals" views
*********************************************************************************/
package org.eclipse.rse.internal.terminals.ui.views; package org.eclipse.rse.internal.terminals.ui.views;
import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuListener;
@ -37,18 +38,22 @@ import org.eclipse.rse.core.events.ISystemResourceChangeEvent;
import org.eclipse.rse.core.events.ISystemResourceChangeEvents; import org.eclipse.rse.core.events.ISystemResourceChangeEvents;
import org.eclipse.rse.core.events.ISystemResourceChangeListener; import org.eclipse.rse.core.events.ISystemResourceChangeListener;
import org.eclipse.rse.core.model.ISystemRegistry; import org.eclipse.rse.core.model.ISystemRegistry;
import org.eclipse.rse.internal.terminals.ui.TerminalUIResources;
import org.eclipse.rse.services.clientserver.messages.SystemMessage; import org.eclipse.rse.services.clientserver.messages.SystemMessage;
import org.eclipse.rse.subsystems.terminals.core.elements.TerminalElement; import org.eclipse.rse.subsystems.terminals.core.elements.TerminalElement;
import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.rse.ui.messages.ISystemMessageLine;
import org.eclipse.rse.ui.model.ISystemShellProvider; import org.eclipse.rse.ui.model.ISystemShellProvider;
import org.eclipse.rse.ui.view.IRSEViewPart; import org.eclipse.rse.ui.view.IRSEViewPart;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.ISelectionService; import org.eclipse.ui.ISelectionService;
import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.part.PageBook;
import org.eclipse.ui.part.ViewPart; import org.eclipse.ui.part.ViewPart;
public class TerminalViewer extends ViewPart implements ISelectionListener, public class TerminalViewer extends ViewPart implements ISelectionListener,
@ -56,14 +61,26 @@ public class TerminalViewer extends ViewPart implements ISelectionListener,
ISystemResourceChangeListener, ISystemShellProvider, IRSEViewPart, ISystemResourceChangeListener, ISystemShellProvider, IRSEViewPart,
IMenuListener, ISystemMessageLine { IMenuListener, ISystemMessageLine {
private TerminalViewTab tabFolder; private TerminalViewTab tabFolder;
private PageBook pagebook;
private Label noTabShownLabel;
public static String VIEW_ID = "org.eclipse.rse.terminals.ui.view.TerminalView"; //$NON-NLS-1$ public static String VIEW_ID = "org.eclipse.rse.terminals.ui.view.TerminalView"; //$NON-NLS-1$
public void createPartControl(Composite parent) { public void createPartControl(Composite parent) {
tabFolder = new TerminalViewTab(parent, this); pagebook = new PageBook(parent, SWT.NONE);
tabFolder = new TerminalViewTab(pagebook, this);
tabFolder.getFolder().addSelectionListener(this); tabFolder.getFolder().addSelectionListener(this);
// Page 2: Nothing selected
noTabShownLabel = new Label(pagebook, SWT.TOP + SWT.LEFT + SWT.WRAP);
noTabShownLabel.setText(TerminalUIResources.TerminalViewer_text);
showEmptyPage();
ISelectionService selectionService = getSite().getWorkbenchWindow() ISelectionService selectionService = getSite().getWorkbenchWindow()
.getSelectionService(); .getSelectionService();
selectionService.addSelectionListener(this); selectionService.addSelectionListener(this);
@ -107,6 +124,11 @@ public class TerminalViewer extends ViewPart implements ISelectionListener,
if (source instanceof TerminalElement) { if (source instanceof TerminalElement) {
tabFolder.disposePageFor(((TerminalElement) source).getName()); tabFolder.disposePageFor(((TerminalElement) source).getName());
} }
}else if(event.getType() == ISystemResourceChangeEvents.EVENT_REFRESH){
if(tabFolder.getSelectedTab()==null)
showEmptyPage();
else
showTabsPage();
} }
} }
@ -199,4 +221,12 @@ public class TerminalViewer extends ViewPart implements ISelectionListener,
return tabFolder; return tabFolder;
} }
private void showEmptyPage() {
pagebook.showPage(noTabShownLabel);
}
private void showTabsPage(){
pagebook.showPage(tabFolder);
}
} }