root / sqs-reader / src / main / java / net / sqs2 / omr / result / export / model / MarkAreasTableCell.java @ 1852

View | Annotate | Download (1.3 KB)

1
/**
2
 * 
3
 */
4
package net.sqs2.omr.result.export.model;
5
6
import java.util.ArrayList;
7
import java.util.List;
8
import java.util.TreeSet;
9
10
import net.sqs2.omr.master.FormArea;
11
import net.sqs2.omr.master.FormMaster;
12
import net.sqs2.omr.model.PageID;
13
import net.sqs2.omr.model.SourceDirectory;
14
import net.sqs2.omr.model.SpreadSheet;
15
16
public class MarkAreasTableCell extends FormAreaTableCell {
17
        SpreadSheet spreadSheet;
18
        SourceDirectory rowGroupSourceDirectory;
19
20
        public MarkAreasTableCell(SpreadSheet spreadSheet, SourceDirectory rowGroupSourceDirectory,
21
                        int rowGroupRowIndex, int rowIndex, int columnIndex) {
22
                super(spreadSheet, rowGroupSourceDirectory, rowGroupRowIndex, rowIndex, columnIndex);
23
        }
24
25
        public List<PageID> getPageIDList() {
26
                FormMaster master = (FormMaster) this.rowGroupSourceDirectory.getPageMaster();
27
                int numPages = master.getNumPages();
28
                TreeSet<Integer> set = new TreeSet<Integer>();
29
                for (FormArea formArea : master.getFormAreaList(this.questionIndex)) {
30
                        int pageIndex = formArea.getPageIndex();
31
                        set.add(pageIndex);
32
                }
33
34
                List<PageID> pageIDList = this.rowGroupSourceDirectory.getPageIDList();
35
                ;
36
                List<PageID> ret = new ArrayList<PageID>(set.size());
37
                for (int pageIndex : set) {
38
                        ret.add(pageIDList.get(this.rowIndex * numPages + pageIndex));
39
                }
40
                return ret;
41
        }
42
43
}