### Eclipse Workspace Patch 1.0
#P org.sophie2.base.model.text
|
|
|
8 | 8 | import org.sophie2.base.model.text.model.ImmText; |
9 | 9 | import org.sophie2.base.model.text.model.ImmTextInterval; |
10 | 10 | import org.sophie2.base.model.text.model.ImmTextUtils; |
11 | | import org.sophie2.base.model.text.model.TextUnit; |
12 | 11 | import org.sophie2.base.model.text.mvc.CaretProcessor.CaretOptions; |
13 | 12 | import org.sophie2.base.model.text.style.HotStyleDef; |
14 | 13 | |
… |
… |
|
66 | 65 | } |
67 | 66 | |
68 | 67 | public CaretOptions getDefaultOptions() { |
69 | | return new CaretOptions(0, false); |
| 68 | return new CaretOptions(0, false ); |
70 | 69 | } |
71 | 70 | |
72 | 71 | private ImmText getStyledText(ImmText sourceText, CaretOptions caretOptions) { |
… |
… |
|
77 | 76 | int end = begin + 1 > styledText.getEnd() ? begin : begin + 1; |
78 | 77 | Map<HotAttr<?>, Object> caretStyleValues = new HashMap<HotAttr<?>, Object>(); |
79 | 78 | //TODO: fix for right-to-left |
80 | | TextUnit prevUnit = begin - 1 < 0 ? styledText.unitAt(begin) : |
81 | | styledText.unitAt(begin - 1); |
82 | | HotStyleDef prevStyle = prevUnit == null ? HotStyleDef.getEmpty() : |
83 | | prevUnit.getStyle(); |
84 | 79 | caretStyleValues.put(LayoutAttr.CARET_ATTR, caretOptions.isCaretVisible()); |
85 | | HotStyleDef caretStyle = prevStyle.derive(caretStyleValues); |
| 80 | HotStyleDef caretStyle = HotStyleDef.getEmpty().derive(caretStyleValues); |
86 | 81 | |
87 | 82 | ImmTextInterval caretInterval = new ImmTextInterval(begin, end); |
88 | 83 | ImmText result = styledText.applyStyle(caretStyle, caretInterval); |
… |
… |
|
109 | 104 | * True if the processor should draw the caret, |
110 | 105 | * false otherwise. |
111 | 106 | */ |
112 | | public CaretOptions(int caretPos, boolean isCaretVisible) { |
| 107 | public CaretOptions(int caretPos, boolean isCaretVisible) { |
113 | 108 | this.caretPos = caretPos; |
114 | 109 | this.caretVisible = isCaretVisible; |
115 | 110 | } |
… |
… |
|
141 | 136 | int result = 1; |
142 | 137 | result = prime * result + this.caretPos; |
143 | 138 | result = prime * result + (this.caretVisible ? 1231 : 1237); |
| 139 | // result = prime * result + this.caretStyle.hashCode(); |
144 | 140 | return result; |
145 | 141 | } |
146 | 142 | |