package eu.etaxonomy.taxeditor.editor.view;
-import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.Viewer;
import eu.etaxonomy.taxeditor.model.AbstractCdmViewPart;
/**
+ * <p>Abstract AbstractCdmDataViewer class.</p>
+ *
* @author n.hoffmann
* @created Feb 9, 2010
* @version 1.0
*/
public abstract class AbstractCdmDataViewer extends Viewer implements ISelectionProvider, IConversationEnabled{
- private static final Logger logger = Logger
- .getLogger(AbstractCdmDataViewer.class);
protected ManagedForm managedForm;
/**
- *
+ * <p>Constructor for AbstractCdmDataViewer.</p>
+ *
+ * @param parent a {@link org.eclipse.swt.widgets.Composite} object.
+ * @param viewPart a {@link eu.etaxonomy.taxeditor.model.AbstractCdmViewPart} object.
*/
public AbstractCdmDataViewer(Composite parent, AbstractCdmViewPart viewPart) {
this.viewPart = viewPart;
rootElement = new RootElement(formFactory, body);
}
+ /**
+ * <p>createFormFactory</p>
+ */
protected void createFormFactory() {
if(formFactory != null){
formFactory.dispose();
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.Viewer#getControl()
*/
+ /** {@inheritDoc} */
@Override
public Control getControl() {
for(Control child : body.getChildren()){
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.Viewer#setInput(java.lang.Object)
*/
+ /** {@inheritDoc} */
@Override
public void setInput(Object input) {
this.input = input;
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.Viewer#getInput()
*/
+ /** {@inheritDoc} */
@Override
public Object getInput() {
return input;
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.Viewer#refresh()
*/
+ /** {@inheritDoc} */
@Override
public void refresh() {
showParts();
}
+ /**
+ * <p>layout</p>
+ */
public void layout(){
body.layout();
}
+ /**
+ * <p>showParts</p>
+ */
protected abstract void showParts();
+ /**
+ * <p>destroySections</p>
+ */
protected void destroySections() {
for (IFormPart formPart : managedForm.getParts()){
removePart((CdmSectionPart) formPart);
}
+ /**
+ * <p>setFocus</p>
+ */
public void setFocus(){
// we have to set focus to a control of this viewer
// otherwise, after opening a dialog from the details, the focus will not be
}
}
+ /**
+ * <p>reflow</p>
+ */
public void reflow(){
managedForm.reflow(true);
}
+ /**
+ * <p>removePart</p>
+ *
+ * @param sectionPart a {@link eu.etaxonomy.taxeditor.editor.view.detail.CdmSectionPart} object.
+ */
protected void removePart(CdmSectionPart sectionPart){
managedForm.removePart(sectionPart);
formFactory.removePropertyChangeListener(sectionPart);
}
+ /**
+ * <p>addPart</p>
+ *
+ * @param section a {@link eu.etaxonomy.taxeditor.forms.AbstractFormSection} object.
+ */
protected void addPart(AbstractFormSection section){
CdmSectionPart sectionPart = new CdmSectionPart(section);
managedForm.addPart(sectionPart);
formFactory.addPropertyChangeListener(sectionPart);
}
+ /**
+ * <p>getConversationHolder</p>
+ *
+ * @return a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
+ */
public ConversationHolder getConversationHolder() {
return viewPart.getConversationHolder();
}
+ /** {@inheritDoc} */
public void update(CdmDataChangeMap changeEvents) {}
}