Changeset 915


Ignore:
Timestamp:
05/20/14 14:09:51 (10 years ago)
Author:
bln4
Message:

Added useful toString method to XRawItem to help with debugging
Added new functionality to XGroupItem. A sibling method to getRawTextItemList named getRawTextLines which returns a List<Text[]> in order to reintroduce the separation of lines in XGroupItem objects.

Location:
trunk/src/org/expeditee/io/flowlayout
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/io/flowlayout/XGroupItem.java

    r914 r915  
    206206        }
    207207       
     208        public List<Text[]> getRawTextLines() {
     209                final List<Text> rawText = getRawTextItemList();
     210                final List<Text> lineStarts = new LinkedList<Text>();
     211                for(final YOverlappingItemsSpan span : this.yitems_span_array) {
     212                        if(span instanceof YOverlappingItemsTopEdge) {
     213                                final YOverlappingItemsTopEdge topEdge = (YOverlappingItemsTopEdge) span;
     214                                final List<XItem> xLine = topEdge.getXOrderedLine().getXItemList();
     215                                for(final XItem xitem : xLine) {
     216                                        if(xitem instanceof XRawItem) {
     217                                                final Text item = (Text)((XRawItem) xitem).getItem();
     218                                                lineStarts.add(item);
     219                                                break;
     220                                        }
     221                                }
     222                        }
     223                }
     224                final List<Integer> indexes = new LinkedList<Integer>();
     225                for(final Text lineStart : lineStarts)
     226                        indexes.add(rawText.indexOf(lineStart));
     227                final List<Text[]> ret = new LinkedList<Text[]>();
     228                int rangeEnd = indexes.get(0);
     229                int last = rangeEnd;
     230                for(int i = 1; i < indexes.size(); i++) {
     231                        rangeEnd = indexes.get(i);
     232                        final List<Text> part = new LinkedList<Text>(rawText.subList(0, rangeEnd - last));
     233                        last = rangeEnd;
     234                        rawText.removeAll(part);
     235                        part.toArray(new Text[]{});
     236                        ret.add(part.toArray(new Text[]{}));
     237                }
     238                ret.add(rawText.toArray(new Text[]{}));
     239                return ret;
     240        }
     241       
    208242        public List<XGroupItem> getGroupedItemList()
    209243        {
     
    12341268                return getYXOverlappingItemList(false);
    12351269        }
     1270       
     1271        public String toString() {
     1272                return "XGroupItem";
     1273        }
    12361274}
    12371275
  • trunk/src/org/expeditee/io/flowlayout/XRawItem.java

    r905 r915  
    3131        }
    3232       
     33        public String toString() {
     34                return "XRawItem For " + item.toString();
     35        }
     36       
    3337}
Note: See TracChangeset for help on using the changeset viewer.