package rtt.ui.content.configuration;
import org.eclipse.jface.resource.ResourceManager;
import org.eclipse.swt.graphics.Image;
import rtt.core.archive.configuration.Configuration;
import rtt.ui.content.IContent;
import rtt.ui.content.IDecoratableContent;
import rtt.ui.content.main.AbstractContent;
import rtt.ui.content.main.ContentIcon;
import rtt.ui.content.main.SimpleTypedContent;
import rtt.ui.content.main.SimpleTypedContent.ContentType;
public class ConfigurationContent extends AbstractContent implements IDecoratableContent {
private Configuration config;
private boolean isActive;
private boolean isDefault;
public ConfigurationContent(IContent parent, Configuration config) {
super(parent);
this.config = config;
this.isActive = false;
loadContent();
}
private void loadContent() {
if (config.getInitialNode() != null) {
addExecutor(ContentType.INITIALNODE, config.getInitialNode());
}
if (config.getClasspath() != null) {
childs.add(new ClasspathContent(this, config.getClasspath()));
}
}
private void addExecutor(ContentType type, String text) {
if (text == null || text.equals("")) {
text = "<None>";
}
childs.add(new SimpleTypedContent(this, type, text));
}
@Override
public String getText() {
return config.getName();
}
@Override
public String decorateText(String text, IContent content) {
if (isDefault) {
text += " (default)";
}
if (isActive) {
text += " (active)";
}
return text;
}
@Override
public Image decorateImage(ResourceManager manager, Image image, IContent content) {
return image;
}
@Override
protected ContentIcon getIcon() {
return ContentIcon.CONFIG;
}
public void setActive(boolean isActive) {
this.isActive = isActive;
}
public void setDefault(boolean isDefault) {
this.isDefault = isDefault;
}
public boolean isDefault() {
return isDefault;
}
public Configuration getConfiguration() {
return config;
}
}