import org.eclipse.core.commands.operations.IOperationHistory;
import org.eclipse.core.commands.operations.IUndoContext;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.widgets.ExpandableComposite;
import org.eclipse.ui.forms.widgets.ScrolledForm;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.term.TermNode;
import eu.etaxonomy.taxeditor.l10n.Messages;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.model.FeatureNodeContainer;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.view.detail.CdmSectionPart;
import eu.etaxonomy.taxeditor.workbench.part.IE4SavablePart;
/**
return title.replace("&", "&&");
}
- public static String getPrefKey(Class<? extends AbstractFormSection> sectionClass, Object entity) {
- return sectionClass.getCanonicalName()+";"+entity.getClass().getCanonicalName();
+ public static String getPrefKey(Class<? extends AbstractFormSection> sectionClass, String entity) {
+ return sectionClass.getCanonicalName()+";"+entity;
}
/**
boolean proceed = MessageDialog.openQuestion(null,
Messages.DefinedTermEditorE4_SAVE_TITLE, Messages.DefinedTermEditorE4_SAVE_MESSAGE);
if (proceed) {
- editor.save(null);
+ editor.save(new NullProgressMonitor());
return false;
}
else{
}
return string1.compareTo(string2);
}
+
+ public static int getSectionStyle(Class<? extends AbstractFormSection> clazz, String input){
+ return StoreUtil.getSectionStyle(clazz, input, false);
+ }
+
+ public static int getSectionStyle(Class<? extends AbstractFormSection> clazz, String input, boolean initiallyExpanded){
+ int style = ExpandableComposite.TWISTIE;
+ String prefKey = getPrefKey(clazz, input);
+ if(PreferencesUtil.contains(prefKey)){
+ style = PreferencesUtil.getStringValue(prefKey).equals(CdmSectionPart.EXPANDED)?style |= ExpandableComposite.EXPANDED:style;
+ }
+ else{
+ style = initiallyExpanded?style |= ExpandableComposite.EXPANDED:style;
+ }
+ return style;
+ }
+
+ public static String getPath(TermNode node){
+ String path = node.getTerm().getLabel();
+ TermNode parent = node.getParent();
+ while(parent != null && parent.getTerm()!=null){
+ path = parent.getTerm().getLabel() + "/" + path;
+ parent = parent.getParent();
+ }
+ return path;
+ }
+
+ public static void setTextWithoutModifyListeners(Text text, String string){
+ Listener[] listeners = text.getListeners(SWT.Modify);
+ for (Listener listener : listeners) {
+ text.removeListener(SWT.Modify, listener);
+ }
+ text.setText(CdmUtils.Nz(string));
+ for (Listener listener : listeners) {
+ text.addListener(SWT.Modify, listener);
+ }
+ }
}