package com.itsolut.mantis.ui.editor;
import org.eclipse.mylyn.internal.tasks.ui.editors.TaskEditorRichTextPart;
import org.eclipse.mylyn.tasks.core.data.TaskAttribute;
import org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.forms.widgets.FormToolkit;
import com.itsolut.mantis.core.MantisAttributeMapper;
import com.itsolut.mantis.core.util.MantisUtils;
/**
* @author Robert Munteanu
*
*/
@SuppressWarnings("restriction")
public class AbstractRichTextPart extends TaskEditorRichTextPart {
private String _key;
public AbstractRichTextPart(String label, MantisAttributeMapper.Attribute attribute,
boolean expandedByDefault) {
setPartName(label);
setExpandVertically(true);
if (!expandedByDefault)
collapse();
_key = attribute.getKey();
}
@Override
public void initialize(AbstractTaskEditorPage taskEditorPage) {
super.initialize(taskEditorPage);
TaskAttribute attribute = getTaskData().getRoot().getAttribute(_key);
setAttribute(attribute);
if ( MantisUtils.hasValue (attribute) )
expand();
}
@Override
public void createControl(Composite parent, FormToolkit toolkit) {
super.createControl(parent, toolkit);
getEditor().enableAutoTogglePreview();
if (!getTaskData().isNew())
getEditor().showPreview();
}
private void collapse() {
setSectionStyle(getSectionStyle() & ~ExpandableComposite.EXPANDED);
}
private void expand() {
setSectionStyle(getSectionStyle() | ExpandableComposite.EXPANDED);
}
}