Project

General

Profile

Download (3.91 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.ui.section.description;
2

    
3
import java.util.Collection;
4
import java.util.EnumSet;
5

    
6
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
7
import eu.etaxonomy.cdm.model.common.IntextReference;
8
import eu.etaxonomy.cdm.model.common.Language;
9
import eu.etaxonomy.cdm.model.common.LanguageString;
10
import eu.etaxonomy.cdm.model.common.OriginalSourceType;
11
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
12
import eu.etaxonomy.cdm.model.description.DescriptionElementSource;
13
import eu.etaxonomy.cdm.model.description.TextData;
14
import eu.etaxonomy.cdm.model.reference.Reference;
15
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
16
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
17
import eu.etaxonomy.taxeditor.store.StoreUtil;
18
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
19
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
20
import eu.etaxonomy.taxeditor.ui.element.ILanguageStringProvider;
21
import eu.etaxonomy.taxeditor.ui.element.LanguageRichTextWithLabel;
22
import eu.etaxonomy.taxeditor.ui.element.LanguageStringWithLabelElement;
23
import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection.ExpandListener;
24
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
25
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
26
import eu.etaxonomy.taxeditor.ui.section.AbstractEntityCollectionSection;
27
import eu.etaxonomy.taxeditor.util.RichtextHelper;
28

    
29
public class IntextReferenceSection extends AbstractEntityCollectionSection<LanguageString, IntextReference> {
30
	private ILanguageStringProvider langStringElement;
31
	public IntextReferenceSection(CdmFormFactory formFactory, ConversationHolder conversation,
32
			ICdmFormElement parentElement, int style) {
33
		super(formFactory, conversation, parentElement, "Intext References",style);
34
		if (parentElement instanceof ILanguageStringProvider){
35
			langStringElement = (ILanguageStringProvider)parentElement;
36
		}
37
	}
38

    
39
	@Override
40
	public Collection<IntextReference> getCollection(LanguageString entity) {
41
		if (entity == null){
42
			return null;
43
		}
44
		return getEntity().getIntextReferences();
45
	}
46

    
47
	 /** {@inheritDoc} */
48
    @Override
49
    public IntextReference createNewElement() {
50
        return IntextReference.NewEmptyInstance(this.getEntity());
51
    }
52

    
53

    
54
	@Override
55
	public void addElement(IntextReference element) {
56
		getEntity().addIntextReference(element);
57
	}
58

    
59
	@Override
60
	public IntextReference addExisting() {
61
		// TODO Auto-generated method stub
62
		return null;
63
	}
64

    
65
	@Override
66
	public boolean allowAddExisting() {
67
		// TODO Auto-generated method stub
68
		return false;
69
	}
70

    
71
	@Override
72
	public void removeElement(IntextReference element) {
73
//		int posStart = element.getStartPos();
74
//		int posEnd = element.getEndPos();
75
//		int posFirstEnd = getEntity().getText().indexOf(">", posStart);
76
//		if (posFirstEnd >-1){
77
//			String removeString = getEntity().getText().substring(posStart, posFirstEnd+1);
78
//			getEntity().setText(getEntity().getText().replace("", removeString));
79
//			removeString = getEntity().getText().substring(posEnd, getEntity().getText().indexOf(">", posEnd));
80
//			getEntity().setText(getEntity().getText().replace("", removeString));
81
//		}
82
		
83
		String originalString = getEntity().getText();
84
		String cdmMarkup = RichtextHelper.createCdmMarkUp(element, ".*");
85
		String inlineString = RichtextHelper.findInlineString(originalString, cdmMarkup);
86
		getEntity().setText(originalString.replace(inlineString, ""));
87
		getEntity().removeIntextReference(element);
88
		
89
		langStringElement.setLanguageString(getEntity());
90
		
91
	}
92

    
93
	@Override
94
	public String getEmptyString() {
95
		// TODO Auto-generated method stub
96
		return null;
97
	}
98

    
99
	@Override
100
	protected String getTooltipString() {
101
		// TODO Auto-generated method stub
102
		return null;
103
	}
104
	@Override
105
	protected void addExpandListener() {
106
		setExpanded(false);
107
		addExpansionListener(new ExpandListener());
108
	}
109
	
110
	public ILanguageStringProvider getlangStringElement(){
111
		return langStringElement;
112
	}
113
	    
114
}
(15-15/27)