mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-25 18:05:33 +02:00
Updates to New Connection wizard
This commit is contained in:
parent
1daaecc113
commit
9c7ad4084f
9 changed files with 145 additions and 43 deletions
|
@ -115,7 +115,7 @@ public abstract class AbstractSystemNewConnectionWizardPage extends AbstractSyst
|
|||
if (ourWizard != null) {
|
||||
String[] systemTypes = parentFactory.getSystemTypes();
|
||||
IRSESystemType systemType = RSECorePlugin.getDefault().getRegistry().getSystemType(systemTypes[0]);
|
||||
IWizardPage wizardPage = ourWizard.getDelegate(systemType).getMainPage();
|
||||
IWizardPage wizardPage = ourWizard.getDelegate().getMainPage();
|
||||
|
||||
if (wizardPage instanceof ISystemNewConnectionWizardMainPage) {
|
||||
return (ISystemNewConnectionWizardMainPage)wizardPage;
|
||||
|
@ -139,7 +139,7 @@ public abstract class AbstractSystemNewConnectionWizardPage extends AbstractSyst
|
|||
if (ourWizard != null) {
|
||||
String[] systemTypes = parentFactory.getSystemTypes();
|
||||
IRSESystemType systemType = RSECorePlugin.getDefault().getRegistry().getSystemType(systemTypes[0]);
|
||||
IWizardPage wizardPage = ourWizard.getDelegate(systemType).getMainPage();
|
||||
IWizardPage wizardPage = ourWizard.getDelegate().getMainPage();
|
||||
|
||||
if (wizardPage instanceof RSENewConnectionWizardDefaultDelegateMainPage) {
|
||||
return ((RSENewConnectionWizardDefaultDelegateMainPage)wizardPage).getForm();
|
||||
|
|
|
@ -23,7 +23,7 @@ public interface IRSENewConnectionWizard extends INewWizard {
|
|||
|
||||
public static final String NEW_CONNECTION_WIZARD_DELEGATE_EXTENSION_POINT_ID = "org.eclipse.rse.ui.newConnectionWizardDelegate";
|
||||
|
||||
public IRSENewConnectionWizardDelegate getDelegate(IRSESystemType systemType);
|
||||
public IRSENewConnectionWizardDelegate getDelegate();
|
||||
|
||||
public void setSystemType(IRSESystemType systemType);
|
||||
public void setSystemType(IRSESystemType systemType, boolean initWithSystemType);
|
||||
}
|
|
@ -27,6 +27,8 @@ public interface IRSENewConnectionWizardDelegate {
|
|||
|
||||
public void init(RSENewConnectionWizard wizard, IRSESystemType systemType);
|
||||
|
||||
public void systemTypeChanged(IRSESystemType systemType);
|
||||
|
||||
public RSENewConnectionWizard getWizard();
|
||||
|
||||
public IRSESystemType getSystemType();
|
||||
|
|
|
@ -75,6 +75,7 @@ public class RSEDefaultNewConnectionWizardDelegate extends RSENewConnectionWizar
|
|||
super.init(wizard, systemType);
|
||||
restrictSystemType(systemType.getName());
|
||||
activeProfileNames = SystemStartHere.getSystemProfileManager().getActiveSystemProfileNames();
|
||||
systemTypeSelected(systemType.getName(), true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -206,26 +207,36 @@ public class RSEDefaultNewConnectionWizardDelegate extends RSENewConnectionWizar
|
|||
*/
|
||||
protected RSENewConnectionWizardDefaultDelegateMainPage createMainPage(String[] restrictSystemTypesTo)
|
||||
{
|
||||
String pageTitle = null;
|
||||
if ((restrictSystemTypesTo==null) || (restrictSystemTypesTo.length != 1))
|
||||
pageTitle = SystemResources.RESID_NEWCONN_PAGE1_TITLE;
|
||||
else
|
||||
{
|
||||
String onlySystemType = restrictSystemTypesTo[0];
|
||||
if (onlySystemType.equals(IRSESystemType.SYSTEMTYPE_LOCAL))
|
||||
pageTitle =SystemResources.RESID_NEWCONN_PAGE1_LOCAL_TITLE;
|
||||
else
|
||||
{
|
||||
pageTitle =SystemResources.RESID_NEWCONN_PAGE1_REMOTE_TITLE;
|
||||
pageTitle = SystemMessage.sub(pageTitle, "&1", onlySystemType);
|
||||
}
|
||||
}
|
||||
String pageTitle = getPageTitle();
|
||||
mainPage = new RSENewConnectionWizardDefaultDelegateMainPage(getWizard(),
|
||||
pageTitle,
|
||||
SystemResources.RESID_NEWCONN_PAGE1_DESCRIPTION);
|
||||
getWizard().setOutputObject(null);
|
||||
return mainPage;
|
||||
}
|
||||
}
|
||||
|
||||
public String getPageTitle() {
|
||||
|
||||
String pageTitle = null;
|
||||
|
||||
if ((restrictSystemTypesTo == null) || (restrictSystemTypesTo.length != 1)) {
|
||||
pageTitle = SystemResources.RESID_NEWCONN_PAGE1_TITLE;
|
||||
}
|
||||
else {
|
||||
String onlySystemType = restrictSystemTypesTo[0];
|
||||
|
||||
if (onlySystemType.equals(IRSESystemType.SYSTEMTYPE_LOCAL)) {
|
||||
pageTitle = SystemResources.RESID_NEWCONN_PAGE1_LOCAL_TITLE;
|
||||
}
|
||||
else {
|
||||
pageTitle = SystemResources.RESID_NEWCONN_PAGE1_REMOTE_TITLE;
|
||||
pageTitle = SystemMessage.sub(pageTitle, "&1", onlySystemType);
|
||||
}
|
||||
}
|
||||
|
||||
return pageTitle;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the currently selected connection. Used to better default entry fields.
|
||||
*/
|
||||
|
@ -391,7 +402,10 @@ public class RSEDefaultNewConnectionWizardDelegate extends RSENewConnectionWizar
|
|||
*/
|
||||
public IWizardPage getMainPage()
|
||||
{
|
||||
addPages();
|
||||
if (mainPage == null) {
|
||||
addPages();
|
||||
}
|
||||
|
||||
return mainPage;
|
||||
}
|
||||
|
||||
|
@ -521,7 +535,8 @@ public class RSEDefaultNewConnectionWizardDelegate extends RSENewConnectionWizar
|
|||
*/
|
||||
public boolean canFinish()
|
||||
{
|
||||
boolean ok = true;
|
||||
boolean ok = mainPage.isPageComplete();
|
||||
|
||||
if (ok && hasAdditionalPages())
|
||||
{
|
||||
for (int idx=0; ok && (idx<subsystemFactorySuppliedWizardPages.length); idx++)
|
||||
|
@ -529,4 +544,14 @@ public class RSEDefaultNewConnectionWizardDelegate extends RSENewConnectionWizar
|
|||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.rse.ui.wizards.RSENewConnectionWizardDelegate#systemTypeChanged(org.eclipse.rse.core.IRSESystemType)
|
||||
*/
|
||||
public void systemTypeChanged(IRSESystemType systemType) {
|
||||
setSystemType(systemType);
|
||||
restrictSystemType(systemType.getName());
|
||||
mainPage.setTitle(getPageTitle());
|
||||
subsystemFactorySuppliedWizardPages = getAdditionalWizardPages(systemType.getName());
|
||||
}
|
||||
}
|
|
@ -30,10 +30,15 @@ import org.eclipse.rse.ui.SystemResources;
|
|||
/**
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* @author kmunir
|
||||
*
|
||||
*/
|
||||
public class RSENewConnectionWizard extends AbstractSystemWizard implements IRSENewConnectionWizard {
|
||||
|
||||
private HashMap map;
|
||||
private IRSESystemType systemType;
|
||||
private boolean initWithSystemType;
|
||||
private IRSENewConnectionWizardDelegate delegate;
|
||||
private RSENewConnectionWizardMainPage mainPage;
|
||||
|
||||
|
@ -50,9 +55,10 @@ public class RSENewConnectionWizard extends AbstractSystemWizard implements IRSE
|
|||
/**
|
||||
* @see org.eclipse.rse.ui.wizards.IRSENewConnectionWizard#setSystemType(org.eclipse.rse.core.IRSESystemType)
|
||||
*/
|
||||
public void setSystemType(IRSESystemType systemType) {
|
||||
public void setSystemType(IRSESystemType systemType, boolean initWithSystemType) {
|
||||
this.systemType = systemType;
|
||||
getDelegate(systemType);
|
||||
this.initWithSystemType = initWithSystemType;
|
||||
setDelegate(systemType);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -67,7 +73,7 @@ public class RSENewConnectionWizard extends AbstractSystemWizard implements IRSE
|
|||
* Get the new connection wizard delegate for the system type.
|
||||
* @param systemType the system type for which we need the delegate.
|
||||
*/
|
||||
public IRSENewConnectionWizardDelegate getDelegate(IRSESystemType systemType) {
|
||||
private IRSENewConnectionWizardDelegate setDelegate(IRSESystemType systemType) {
|
||||
|
||||
if (map != null) {
|
||||
delegate = (IRSENewConnectionWizardDelegate)(map.get(systemType.getId()));
|
||||
|
@ -83,6 +89,13 @@ public class RSENewConnectionWizard extends AbstractSystemWizard implements IRSE
|
|||
return delegate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.rse.ui.wizards.IRSENewConnectionWizard#getDelegate()
|
||||
*/
|
||||
public IRSENewConnectionWizardDelegate getDelegate() {
|
||||
return delegate;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.jface.wizard.Wizard#addPages()
|
||||
*/
|
||||
|
|
|
@ -88,13 +88,22 @@ public class RSENewConnectionWizardDefaultDelegateMainPage
|
|||
/**
|
||||
* Return the main wizard typed
|
||||
*/
|
||||
private RSEDefaultNewConnectionWizardDelegate getOurWizardDelegate()
|
||||
{
|
||||
private RSEDefaultNewConnectionWizardDelegate getOurWizardDelegate() {
|
||||
IWizard wizard = getWizard();
|
||||
if (wizard instanceof RSEDefaultNewConnectionWizardDelegate)
|
||||
return (RSEDefaultNewConnectionWizardDelegate)wizard;
|
||||
else
|
||||
return null;
|
||||
|
||||
if (wizard instanceof RSENewConnectionWizard) {
|
||||
IRSENewConnectionWizardDelegate delegate = ((RSENewConnectionWizard)wizard).getDelegate();
|
||||
|
||||
if (delegate instanceof RSEDefaultNewConnectionWizardDelegate) {
|
||||
return (RSEDefaultNewConnectionWizardDelegate)delegate;
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -219,10 +228,10 @@ public class RSENewConnectionWizardDefaultDelegateMainPage
|
|||
* Return user-entered System Type.
|
||||
* Call this after finish ends successfully.
|
||||
*/
|
||||
public String getSystemType()
|
||||
/* public String getSystemType()
|
||||
{
|
||||
return form.getSystemType();
|
||||
}
|
||||
} */
|
||||
/**
|
||||
* Return user-entered Connection Name.
|
||||
* Call this after finish ends successfully.
|
||||
|
@ -355,4 +364,11 @@ public class RSENewConnectionWizardDefaultDelegateMainPage
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.rse.ui.wizards.ISystemNewConnectionWizardMainPage#getSystemType()
|
||||
*/
|
||||
public String getSystemType() {
|
||||
RSEDefaultNewConnectionWizardDelegate newConnWizardDelegate = getOurWizardDelegate();
|
||||
return newConnWizardDelegate.getSystemType().getName();
|
||||
}
|
||||
}
|
|
@ -31,7 +31,15 @@ public abstract class RSENewConnectionWizardDelegate implements IRSENewConnectio
|
|||
* @see org.eclipse.rse.ui.wizards.IRSENewConnectionWizardDelegate#init(org.eclipse.rse.ui.wizards.RSENewConnectionWizard, org.eclipse.rse.core.IRSESystemType)
|
||||
*/
|
||||
public void init(RSENewConnectionWizard wizard, IRSESystemType systemType) {
|
||||
setWizard(wizard);
|
||||
setSystemType(systemType);
|
||||
}
|
||||
|
||||
protected void setWizard(RSENewConnectionWizard wizard) {
|
||||
this.wizard = wizard;
|
||||
}
|
||||
|
||||
protected void setSystemType(IRSESystemType systemType) {
|
||||
this.systemType = systemType;
|
||||
}
|
||||
|
||||
|
@ -75,4 +83,11 @@ public abstract class RSENewConnectionWizardDelegate implements IRSENewConnectio
|
|||
public IWizardPage getPreviousPage(IWizardPage page) {
|
||||
return wizard.getStartingPage();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.rse.ui.wizards.IRSENewConnectionWizardDelegate#systemTypeChanged(org.eclipse.rse.core.IRSESystemType)
|
||||
*/
|
||||
public void systemTypeChanged(IRSESystemType systemType) {
|
||||
|
||||
}
|
||||
}
|
|
@ -22,18 +22,22 @@ import org.eclipse.rse.core.RSECorePlugin;
|
|||
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||
import org.eclipse.rse.ui.SystemResources;
|
||||
import org.eclipse.rse.ui.SystemWidgetHelpers;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.widgets.Combo;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Event;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Listener;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class RSENewConnectionWizardMainPage extends AbstractSystemWizardPage {
|
||||
public class RSENewConnectionWizardMainPage extends AbstractSystemWizardPage implements Listener {
|
||||
|
||||
protected String parentHelpId;
|
||||
protected Combo textSystemType;
|
||||
protected IWizardPage nextPage;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
|
@ -65,6 +69,8 @@ public class RSENewConnectionWizardMainPage extends AbstractSystemWizardPage {
|
|||
textSystemType.setToolTipText(SystemResources.RESID_CONNECTION_SYSTEMTYPE_TIP);
|
||||
SystemWidgetHelpers.setHelp(textSystemType, RSEUIPlugin.HELPPREFIX + "ccon0003");
|
||||
|
||||
textSystemType.addListener(SWT.Selection, this);
|
||||
|
||||
return composite_prompts;
|
||||
}
|
||||
|
||||
|
@ -93,18 +99,43 @@ public class RSENewConnectionWizardMainPage extends AbstractSystemWizardPage {
|
|||
*/
|
||||
public IWizardPage getNextPage() {
|
||||
|
||||
IWizard wizard = getWizard();
|
||||
if (nextPage == null) {
|
||||
|
||||
// if the wizard is a new connection wizard, which should always be the case,
|
||||
// get the new connection wizard delegate for the selected system type and
|
||||
// ask for the main page
|
||||
if (wizard instanceof IRSENewConnectionWizard) {
|
||||
String systemTypeStr = textSystemType.getText();
|
||||
IRSENewConnectionWizardDelegate delegate = ((IRSENewConnectionWizard)wizard).getDelegate(RSECorePlugin.getDefault().getRegistry().getSystemType(systemTypeStr));
|
||||
return delegate.getMainPage();
|
||||
IWizard wizard = getWizard();
|
||||
|
||||
// if the wizard is a new connection wizard, which should always be the case,
|
||||
// get the new connection wizard delegate for the selected system type and
|
||||
// ask for the main page
|
||||
if (wizard instanceof IRSENewConnectionWizard) {
|
||||
String systemTypeStr = textSystemType.getText();
|
||||
IRSENewConnectionWizard newConnWizard = (IRSENewConnectionWizard)wizard;
|
||||
newConnWizard.setSystemType(RSECorePlugin.getDefault().getRegistry().getSystemType(systemTypeStr), false);
|
||||
nextPage = newConnWizard.getDelegate().getMainPage();
|
||||
}
|
||||
else {
|
||||
nextPage = super.getNextPage();
|
||||
}
|
||||
}
|
||||
else {
|
||||
return super.getNextPage();
|
||||
|
||||
}
|
||||
|
||||
return nextPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event)
|
||||
*/
|
||||
public void handleEvent(Event event) {
|
||||
|
||||
if (event.type == SWT.Selection && event.widget == textSystemType) {
|
||||
IWizard wizard = getWizard();
|
||||
|
||||
if (wizard instanceof IRSENewConnectionWizard) {
|
||||
String systemTypeStr = textSystemType.getText();
|
||||
IRSENewConnectionWizard newConnWizard = (IRSENewConnectionWizard)wizard;
|
||||
newConnWizard.getDelegate().systemTypeChanged(RSECorePlugin.getDefault().getRegistry().getSystemType(systemTypeStr));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -89,7 +89,7 @@ public class SubSystemServiceWizardPage extends AbstractSystemNewConnectionWizar
|
|||
IHost dummyHost = null;
|
||||
if (getWizard() instanceof RSENewConnectionWizard)
|
||||
{
|
||||
dummyHost = ((RSENewConnectionWizard)getWizard()).getDelegate(systemType).getDummyHost();
|
||||
dummyHost = ((RSENewConnectionWizard)getWizard()).getDelegate().getDummyHost();
|
||||
}
|
||||
|
||||
// create elements for each
|
||||
|
|
Loading…
Add table
Reference in a new issue