/*******************************************************************************
* Copyright (c) 2007 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.common.ui.widget.editor;
import java.beans.PropertyChangeListener;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.widgets.Listener;
public interface IFieldEditor extends INamedElement {
/**
*
* @param composite
*/
public Object[] getEditorControls(Object composite);
/**
*
* @return
*/
public Object[] getEditorControls();
/**
*
* @return
*/
public int getNumberOfControls();
/**
*
* @param parent
*/
public void doFillIntoGrid(Object parent);
/**
*
* @param listener
*/
public void addPropertyChangeListener(PropertyChangeListener listener);
/**
*
* @param listener
*/
public void addDisposeListener(DisposeListener listener);
/**
*
* @param listener
*/
public void removeDisposeListener(DisposeListener listener);
/**
*
* @param listener
*/
public void removePropertyChangeListener(PropertyChangeListener listener);
/**
*
* @return
*/
public boolean isEditable();
/**
*
* @param aEdiatble
*/
public void setEditable(boolean aEdiatble);
/**
* @return
*
*/
public boolean setFocus();
/**
*
* @return
*/
public boolean isEnabled();
/**
*
* @param enabled
*/
public void setEnabled(boolean enabled);
/**
*
*/
public void dispose();
/**
*
* @param e
*/
public void dispose(DisposeEvent e);
/**
* Sets the application defined property of this editor
* @param data
* @param key
*/
public void setData(Object key, Object data);
/**
* Gets the application defined property of this editor
* @param key
* @return
*/
public Object getData(Object key);
}