package jadex.tools.debugger;
import jadex.base.gui.plugin.IControlCenter;
import jadex.bridge.IComponentIdentifier;
import jadex.bridge.IExternalAccess;
import jadex.commons.IBreakpointPanel;
import javax.swing.Icon;
import javax.swing.JComponent;
/**
* An inner panel of the debugger.
* For different component types, different panels
* can be implement using the external access of the
* component to show component specific details.
*/
public interface IDebuggerPanel
{
/**
* Called to initialize the panel.
* Called on the swing thread.
* @param jcc The jcc.
* @param bpp The breakpoint panel.
* @param id The component identifier.
* @param access The external access of the component.
*/
public void init(IControlCenter jcc, IBreakpointPanel bpp, IComponentIdentifier name, IExternalAccess access);
/**
* The title of the panel (name of the tab).
* @return The tab title.
*/
public String getTitle();
/**
* The icon of the panel.
* @return The icon (or null, if none).
*/
public Icon getIcon();
/**
* The component to be shown in the gui.
* @return The component to be displayed.
*/
public JComponent getComponent();
/**
* The tooltip text of the panel, if any.
* @return The tooltip text, or null.
*/
public String getTooltipText();
}