Ticket #2472: 2472.patch

File 2472.patch, 2.3 KB (added by diana, 15 years ago)
  • src/main/java/org/sophie2/base/model/text/mvc/CaretProcessor.java

    ### Eclipse Workspace Patch 1.0
    #P org.sophie2.base.model.text
     
    88import org.sophie2.base.model.text.model.ImmText; 
    99import org.sophie2.base.model.text.model.ImmTextInterval; 
    1010import org.sophie2.base.model.text.model.ImmTextUtils; 
    11 import org.sophie2.base.model.text.model.TextUnit; 
    1211import org.sophie2.base.model.text.mvc.CaretProcessor.CaretOptions; 
    1312import org.sophie2.base.model.text.style.HotStyleDef; 
    1413 
     
    6665        } 
    6766 
    6867        public CaretOptions getDefaultOptions() { 
    69                 return new CaretOptions(0, false); 
     68                return new CaretOptions(0, false ); 
    7069        } 
    7170 
    7271        private ImmText getStyledText(ImmText sourceText, CaretOptions caretOptions) { 
     
    7776                int end = begin + 1 > styledText.getEnd() ? begin : begin + 1; 
    7877                Map<HotAttr<?>, Object> caretStyleValues = new HashMap<HotAttr<?>, Object>(); 
    7978                //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(); 
    8479                caretStyleValues.put(LayoutAttr.CARET_ATTR, caretOptions.isCaretVisible()); 
    85                 HotStyleDef caretStyle = prevStyle.derive(caretStyleValues); 
     80                HotStyleDef caretStyle = HotStyleDef.getEmpty().derive(caretStyleValues); 
    8681 
    8782                ImmTextInterval caretInterval = new ImmTextInterval(begin, end); 
    8883                ImmText result = styledText.applyStyle(caretStyle, caretInterval); 
     
    109104                 *                True if the processor should draw the caret, 
    110105                 *                false otherwise. 
    111106                 */ 
    112                 public CaretOptions(int caretPos, boolean isCaretVisible) { 
     107                public CaretOptions(int caretPos, boolean isCaretVisible) {  
    113108                        this.caretPos = caretPos; 
    114109                        this.caretVisible = isCaretVisible; 
    115110                } 
     
    141136                        int result = 1; 
    142137                        result = prime * result + this.caretPos; 
    143138                        result = prime * result + (this.caretVisible ? 1231 : 1237); 
     139//                      result = prime * result + this.caretStyle.hashCode(); 
    144140                        return result; 
    145141                } 
    146142