package eu.etaxonomy.taxeditor.ui.element;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
protected TextWithLabelAndSetNullElement(CdmFormFactory formFactory, ICdmFormElement parentElement,
String labelString, String initialText, int style) {
- super(formFactory, parentElement, labelString, initialText, initialText == null, null, style);
-// this.btnToggleProtectTitleCache.setSelection(initialText == null);
- if (btnToggleProtectTitleCache.getSelection()){
- this.text_cache.setText("[NULL]");
- this.text_cache.setEnabled(false);
- }
+ super(formFactory, parentElement, labelString, initialText, !initialText.equals("[NULL]"), null, style);
+
+ this.text_cache.setEnabled(state);
+
+ text_cache.addModifyListener(this);
+ btnToggleProtectTitleCache.setSelection(!state);
+// if (!state){
+// this.text_cache.setText("[NULL]");
+//
+// }
}
protected void createButton(CdmFormFactory formFactory) {
@Override
public void widgetSelected(SelectionEvent e) {
//add [NULL] to text field
- text_cache.setEnabled(btnToggleProtectTitleCache.getSelection());
+ setState(!btnToggleProtectTitleCache.getSelection());
+ text_cache.setEnabled(state);
+
String textStr = "";
if (btnToggleProtectTitleCache.getSelection()){
textStr = "[NULL]";
}
text_cache.setText(textStr);
- setState(btnToggleProtectTitleCache.getSelection());
+
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
}
@Override
protected void setState(boolean state) {
- btnToggleProtectTitleCache.setSelection(state);
+ //btnToggleProtectTitleCache.setSelection(state);
+
text_cache.setEnabled(!state);
+ String textStr = "";
if(state){
- btnToggleProtectTitleCache.setToolTipText(Messages.TextWithAddNull_ToolTip_NotNull);
+ btnToggleProtectTitleCache.setToolTipText(Messages.TextWithAddNull_ToolTip_NotNull);
}
else{
btnToggleProtectTitleCache.setToolTipText(Messages.TextWithAddNull_ToolTip_null);
- }
+ textStr = "[NULL]";
+
+ }
+
+ //text_cache.setText(textStr);
+ this.state = state;
+ text_cache.removeModifyListener(this);
+ text_cache.addModifyListener(this);
+// text_cache.setText(textStr);
}
@Override
public void setEnabled(boolean isEnabled){
this.isEnabled = isEnabled;
- if (!state){
+ if (state){
text_cache.setEditable(isEnabled);
}
btnToggleProtectTitleCache.setEnabled(isEnabled);
}
+
+ @Override
+ public void modifyText(ModifyEvent e) {
+ if (state){
+ firePropertyChangeEvent(new CdmPropertyChangeEvent(this, e));
+ }
+ }
+
}
package eu.etaxonomy.taxeditor.ui.section.vocabulary;\r
\r
import org.apache.commons.lang3.StringUtils;\r
+import org.eclipse.swt.widgets.Composite;\r
\r
import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
import eu.etaxonomy.cdm.model.term.TermVocabulary;\r
+import eu.etaxonomy.cdm.persistence.permission.TargetEntityStates;\r
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelAndSetNullElement;\r
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;\r
\r
/**\r
\r
protected TextWithLabelElement textIdInVocabulary;\r
\r
- protected TextWithLabelElement textSymbol;\r
+ protected TextWithLabelAndSetNullElement textSymbol;\r
\r
- protected TextWithLabelElement textSymbol2;\r
+ protected TextWithLabelAndSetNullElement textSymbol2;\r
\r
/**\r
* @param formFactory\r
protected void createControls(ICdmFormElement formElement, T entity, int style) {\r
super.createControls(formElement, entity, style);\r
textIdInVocabulary = formFactory.createTextWithLabelElement(formElement, "ID in vocabulary", entity.getIdInVocabulary(), style);\r
- textSymbol = formFactory.createTextWithLabelElement(formElement, "Symbol", entity.getSymbol(), style);\r
- textSymbol2 = formFactory.createTextWithLabelElement(formElement, "Symbol 2", entity.getSymbol2(), style);\r
+ String symbolString = entity.getSymbol();\r
+ if (entity.getSymbol() == null) {\r
+ symbolString = "[NULL]";\r
+ }\r
+ String symbolString2 = entity.getSymbol2();\r
+ if (entity.getSymbol2() == null) {\r
+ symbolString2 = "[NULL]";\r
+ }\r
+ textSymbol = formFactory.createTextWithLabelAndSetNullElement(formElement, "Symbol", symbolString, style);\r
+ textSymbol2 = formFactory.createTextWithLabelAndSetNullElement(formElement, "Symbol 2", symbolString2, style);\r
};\r
\r
@Override\r
public void handleEvent(Object eventSource) {\r
super.handleEvent(eventSource);\r
- //handleRepresentation(eventSource);\r
if(eventSource==textIdInVocabulary){\r
if (StringUtils.isBlank(textIdInVocabulary.getText())){\r
getEntity().setIdInVocabulary(null);\r
\r
}\r
if(eventSource==textSymbol){\r
- if (StringUtils.isBlank(textSymbol.getText())){\r
- getEntity().setSymbol(null);\r
- }else{\r
- getEntity().setSymbol(textSymbol.getText());\r
- }\r
-\r
+ if (textSymbol.getText().equals("[NULL]")){\r
+ getEntity().setSymbol(null);\r
+ }else {\r
+ getEntity().setSymbol(textSymbol.getText());\r
+ }\r
}\r
\r
if(eventSource==textSymbol2){\r
- if (StringUtils.isBlank(textSymbol2.getText())){\r
- getEntity().setSymbol2(null);\r
- }else{\r
- getEntity().setSymbol2(textSymbol2.getText());\r
- }\r
+ if (textSymbol2.getText().equals("[NULL]")){\r
+ getEntity().setSymbol2(null);\r
+ }else {\r
+ getEntity().setSymbol2(textSymbol2.getText());\r
+ } \r
\r
}\r
}\r