/** * Aptana Studio * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions). * Please see the license.html included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.aptana.ide.syncing.ui.editors; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorSite; import org.eclipse.ui.PartInitException; import org.eclipse.ui.part.EditorPart; import com.aptana.ide.syncing.core.ISiteConnection; import com.aptana.ide.syncing.ui.views.FTPManagerComposite; /** * @author Michael Xia (mxia@aptana.com) */ public class ConnectionEditor extends EditorPart implements FTPManagerComposite.Listener { /** * ID of the editor */ public static final String ID = "com.aptana.ide.syncing.ui.editors.ConnectionEditor"; //$NON-NLS-1$ private ConnectionEditorInput fInput; private FTPManagerComposite fConnectionComposite; public ConnectionEditor() { } public void setSelectedSite(ISiteConnection site) { fConnectionComposite.setSelectedSite(site); } @Override public void dispose() { fConnectionComposite.dispose(); super.dispose(); } @Override public void doSave(IProgressMonitor monitor) { } @Override public void doSaveAs() { } @Override public void init(IEditorSite site, IEditorInput input) throws PartInitException { setSite(site); if (input instanceof ConnectionEditorInput) { setInput(input); fInput = (ConnectionEditorInput) input; setPartName(fInput.getName()); } else { throw new PartInitException("Incorrect editor input for ConnectionEditor"); //$NON-NLS-1$ } } @Override public boolean isDirty() { return false; } @Override public boolean isSaveAsAllowed() { return false; } @Override public void createPartControl(Composite parent) { fConnectionComposite = new FTPManagerComposite(parent); fConnectionComposite.setSelectedSite(fInput.getConnection()); fConnectionComposite.addListener(this); } @Override public void setFocus() { fConnectionComposite.getControl().setFocus(); } public void siteConnectionChanged(ISiteConnection site) { fInput.setConnection(site); setPartName(fInput.getName()); setTitleToolTip(fInput.getToolTipText()); } }