/**
*
*/
package com.aelitis.azureus.ui.swt.skin;
import org.eclipse.swt.widgets.Control;
import org.gudy.azureus2.ui.swt.debug.ObfusticateImage;
import org.gudy.azureus2.ui.swt.plugins.PluginUISWTSkinObject;
import com.aelitis.azureus.ui.swt.views.skin.SkinView;
/**
* @author TuxPaper
* @created Jun 12, 2006
*
*/
public interface SWTSkinObject
extends PluginUISWTSkinObject
{
/**
* Retrieve the associated SWT Control used by the skin object
*
* @return SWT Control
*/
public Control getControl();
/**
* Retrieve the type of widget.
* @return
*
* TODO Move widget types to SWTSkinObject
*/
public String getType();
/**
* Retrieve the Skin Object ID that represents this object. Typically the
* same as {@link #getConfigID()}, however, may be different if a config
* id is used to make independant copies
*
* @return An unique Skin Object ID
*/
public String getSkinObjectID();
/**
* Retrieve the Config ID which is ID in the skin config file.
*
* @return Config ID
*/
public String getConfigID();
public SWTSkinObject getParent();
public SWTSkin getSkin();
public void setVisible(boolean visible);
public boolean isVisible();
public void setDefaultVisibility();
/**
* @param sConfigID
* @param sSuffix
*/
void setBackground(String sConfigID, String sSuffix);
/**
* @param suffix
* @param level
* @param walkUp TODO
* @return TODO
*/
String switchSuffix(String suffix, int level, boolean walkUp);
String switchSuffix(String suffix, int level, boolean walkUp, boolean walkDown);
/**
* Convenience method for switching suffix using defaults
* @param suffix
* @return
*/
String switchSuffix(String suffix);
/**
* @return
*/
String getSuffix();
/**
* @param properties
*/
void setProperties(SWTSkinProperties skinProperties);
/**
* @return
*/
SWTSkinProperties getProperties();
//void getTemplate(String property)
public void addListener(SWTSkinObjectListener listener);
public void removeListener(SWTSkinObjectListener listener);
/**
* @return
*/
public SWTSkinObjectListener[] getListeners();
public String getViewID();
/**
* @param eventType
*/
void triggerListeners(int eventType);
/**
* @param eventType
* @param params
*/
void triggerListeners(int eventType, Object params);
/**
*
*
* @since 3.0.1.3
*/
public void dispose();
/**
* @param id
*
* @since 3.0.4.3
*/
void setTooltipID(String id);
/**
* @return
*
* @since 3.0.5.3
*/
boolean getDefaultVisibility();
public Object getData(String id);
public void setData(String id, Object data);
/**
* @return
*
* @since 3.1.1.1
*/
boolean isDisposed();
/**
* @return
*
* @since 3.1.1.1
*/
boolean isDebug();
/**
* @param walkup
* @return
*
* @since 3.1.1.1
*/
String getTooltipID(boolean walkup);
/**
* @param b
*
* @since 3.1.1.1
*/
public void setDebug(boolean b);
public void relayout();
public void layoutComplete();
public void setObfusticatedImageGenerator(ObfusticateImage obfusticatedImageGenerator);
public SkinView getSkinView();
public void setSkinView(SkinView sv);
}