Ticket #2469: 2469.patch

File 2469.patch, 1.6 KB (added by diana, 15 years ago)
  • src/main/java/org/sophie2/main/func/text/utils/TextStyleUtils.java

    ### Eclipse Workspace Patch 1.0
    #P org.sophie2.main.func.text
     
    77import org.sophie2.base.model.text.mvc.SelectionInfo; 
    88import org.sophie2.base.model.text.mvc.TextModel; 
    99import org.sophie2.base.model.text.mvc.TextView; 
     10import org.sophie2.base.model.text.style.HotStyleDef; 
    1011import org.sophie2.core.mvc.LogicR3; 
    1112import org.sophie2.main.app.commons.page.PageWorkArea; 
    1213import org.sophie2.main.func.text.view.TextFrameView; 
     
    99100                                SelectionInfo caretInfo = flow.getSelectionInfo(); 
    100101                                int caretPos = caretInfo.getCaret(); 
    101102                int markPos = caretInfo.getMarkIndex(); 
     103                ImmText text = flow.getRawText(); 
    102104                if (caretPos == markPos) { 
    103                         return flow.inputStyle().get().getValue(attribute); 
     105                        HotStyleDef style = HotStyleDef.getEmpty(); 
     106                        if (caretPos  > text.getBegin()) { 
     107                                style = text.unitAt(caretPos - 1).getStyle(); 
     108                        } 
     109                        style = style.derive(flow.inputStyle().get()); 
     110                        return style.getValue(attribute); 
    104111                } 
    105                 ImmText text = flow.getRawText(); 
    106112                 
    107113                assert caretPos <= text.getEnd() :  
    108114                        "Inconsistent caret position: " + caretPos + " " + text.getEnd();