Changeset 8774

Show
Ignore:
Timestamp:
03/08/10 10:24:50 (6 months ago)
Author:
kyli
Message:
#2344 (TEXT_LAYOUT_COMMONS): Removed tab logic, getRun method in ImmHotText.
Location:
branches/private/kyli/2344/modules/org.sophie2.base.model.text/src/main/java/org/sophie2/base/model/text
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/private/kyli/2344/modules/org.sophie2.base.model.text/src/main/java/org/sophie2/base/model/text/mvc/TextFlowLogic.java

    r8721 r8774  
    435435                        return LogicR3.fire(new EventR3(fields)); 
    436436                } 
    437         }, 
    438  
    439         /** 
    440          * Handler for pressing the Tab key 
    441          */ 
    442         ON_TAB_PRESSED { 
    443  
    444                 public void defineFilter(EventFilterBuilder filter) { 
    445                         filter.setSourceClass(TextView.class); 
    446                         filter.setEventId(TextView.EventIds.TAB_PRESSED); 
    447                 } 
    448  
    449                 public boolean handle(EventR3 event) { 
    450                         return fireSetText(event, "    "); 
    451                 } 
    452  
    453437        }; 
    454438 
  • branches/private/kyli/2344/modules/org.sophie2.base.model.text/src/main/java/org/sophie2/base/model/text/smart/ImmHotText.java

    r8721 r8774  
    44import java.text.AttributedString; 
    55import java.util.Comparator; 
     6import java.util.HashMap; 
     7import java.util.Map; 
    68 
    79import org.sophie2.base.commons.structures.ImmHashingTree; 
     
    1012import org.sophie2.base.commons.util.Hash; 
    1113import org.sophie2.base.commons.util.Hasher; 
     14import org.sophie2.base.commons.util.ImmColor; 
    1215import org.sophie2.base.commons.util.ImmList; 
    1316import org.sophie2.base.commons.util.ImmMap; 
     
    1518import org.sophie2.base.model.text.Attachment; 
    1619import org.sophie2.base.model.text.HotAttr; 
     20import org.sophie2.base.model.text.smart.elements.CommonAttr; 
    1721import org.sophie2.base.model.text.smart.position.HotIndexInterval; 
    1822import org.sophie2.base.model.text.smart.position.HotInterval; 
     
    11651169                return res; 
    11661170        } 
    1167  
     1171         
     1172        @SuppressWarnings("unchecked") 
     1173         public  Map<HotAttr<?>, ?> getAllStyledValues(HotPos pos) { 
     1174             Map allStylesMap = new HashMap<HotAttr<?>, Object>(); 
     1175             HotAttr<ImmColor> backGrAttr = CommonAttr.BACKGROUND_COLOR; 
     1176             HotAttr<?> boldAttr = CommonAttr.BOLD; 
     1177             HotAttr<?> fontFamilyAttr = CommonAttr.FONT_FAMILY; 
     1178             HotAttr<?> fontSizeaAttr = CommonAttr.FONT_SIZE; 
     1179             HotAttr<?> fgAttr = CommonAttr.FOREGROUND_COLOR; 
     1180             HotAttr<?> italicAttr = CommonAttr.ITALIC; 
     1181             HotAttr<?> overlinedAttr = CommonAttr.OVERLINED; 
     1182             HotAttr<?> paraAlignAttr = CommonAttr.PARA_ALIGNMENT; 
     1183             HotAttr<?> paraFirstLineAttr = CommonAttr.PARA_FIRST_LINE_INDENT; 
     1184             HotAttr<?> paraLeftIndentAttr = CommonAttr.PARA_LEFT_INDENT; 
     1185             HotAttr<?> paraLineSpacingAttr = CommonAttr.PARA_LINE_SPACING; 
     1186             HotAttr<?> paraRightIndentAttr = CommonAttr.PARA_RIGHT_INDENT; 
     1187             HotAttr<?> paraSpaceAboveAttr = CommonAttr.PARA_SPACE_ABOVE; 
     1188             HotAttr<?> paraSpaceBelowAttr = CommonAttr.PARA_SPACE_BELOW; 
     1189             HotAttr<?> strikeThroughAttr = CommonAttr.STRIKE_THROUGH; 
     1190             HotAttr<?> underlinedAttr = CommonAttr.UNDERLINED; 
     1191             HotAttr<?> widthExtraAttr = CommonAttr.WIDTH_EXTRA; 
     1192              
     1193              
     1194             allStylesMap.put(backGrAttr, getStyleValue(backGrAttr, pos)); 
     1195             allStylesMap.put(boldAttr, getStyleValue(boldAttr, pos)); 
     1196             allStylesMap.put(fontFamilyAttr, getStyleValue(fontFamilyAttr, pos)); 
     1197             allStylesMap.put(fontSizeaAttr, getStyleValue(fontSizeaAttr, pos)); 
     1198             allStylesMap.put(fgAttr, getStyleValue(fgAttr, pos)); 
     1199             allStylesMap.put(italicAttr, getStyleValue(italicAttr, pos)); 
     1200             allStylesMap.put(overlinedAttr, getStyleValue(overlinedAttr, pos)); 
     1201             allStylesMap.put(paraAlignAttr, getStyleValue(paraAlignAttr, pos)); 
     1202             allStylesMap.put(paraFirstLineAttr, getStyleValue(paraFirstLineAttr, pos)); 
     1203             allStylesMap.put(paraLeftIndentAttr, getStyleValue(paraLeftIndentAttr, pos)); 
     1204             allStylesMap.put(paraLineSpacingAttr, getStyleValue(paraLineSpacingAttr, pos)); 
     1205             allStylesMap.put(paraRightIndentAttr, getStyleValue(paraRightIndentAttr, pos)); 
     1206             allStylesMap.put(paraSpaceAboveAttr, getStyleValue(paraSpaceAboveAttr, pos)); 
     1207             allStylesMap.put(paraSpaceBelowAttr, getStyleValue(paraSpaceBelowAttr, pos)); 
     1208             allStylesMap.put(strikeThroughAttr, getStyleValue(strikeThroughAttr, pos)); 
     1209             allStylesMap.put(underlinedAttr, getStyleValue(underlinedAttr, pos)); 
     1210             allStylesMap.put(widthExtraAttr, getStyleValue(widthExtraAttr, pos)); 
     1211           
     1212             return allStylesMap; 
     1213              
     1214            } 
     1215 
     1216         
     1217        public ImmHotText getRun(HotPos start) { 
     1218                HotPos pos = start.normalize(this); 
     1219                 
     1220                if (pos.isEnd(this)) { 
     1221                        return null; 
     1222                } 
     1223                 
     1224                // TODO create real runs until style change or tab break; 
     1225                 
     1226                HotPos end = pos; 
     1227//              Map<HotAttr<?>, ?> style = getAllStyledValues(pos); 
     1228                 
     1229                end = advance(end, 1); 
     1230//              while (!end.isEnd(this) &&  
     1231//                              getAllStyledValues(advance(end, 1)).equals(style)) { 
     1232//                      end = advance(end, 1); 
     1233//              } 
     1234                 
     1235                HotInterval interval = new HotInterval(pos, end); 
     1236                 
     1237//              if (getPosComparator().compare(pos, end) == 0) { 
     1238//                      return null; 
     1239//              } 
     1240                 
     1241                return subText(interval); 
     1242        } 
    11681243}