annotate src/main/java/de/mpiwg/itgroup/ismi/util/guiComponents/DataPaginator.java @ 173:aa564b1b5e1f public_by_author

publicByAuthor feature ui for selecting texts ready. actual changing of public state not yet implemented.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Wed, 06 Jun 2018 21:01:05 +0200
parents 2e911857a759
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.util.guiComponents;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.text.MessageFormat;
jurzua
parents:
diff changeset
4
jurzua
parents:
diff changeset
5 public class DataPaginator {
jurzua
parents:
diff changeset
6 /* This should be parameters or properties stored somewhere */
173
aa564b1b5e1f publicByAuthor feature ui for selecting texts ready.
Robert Casties <casties@mpiwg-berlin.mpg.de>
parents: 1
diff changeset
7 private int itemsPerPage = 20;
1
jurzua
parents:
diff changeset
8 private int rewindFastForwardBy = 10;
jurzua
parents:
diff changeset
9
jurzua
parents:
diff changeset
10 private int currentPage;
jurzua
parents:
diff changeset
11 private int numberOfPages;
jurzua
parents:
diff changeset
12
jurzua
parents:
diff changeset
13 private String recordStatus;
jurzua
parents:
diff changeset
14
jurzua
parents:
diff changeset
15 public void first(){
jurzua
parents:
diff changeset
16 this.currentPage = 0;
jurzua
parents:
diff changeset
17 }
jurzua
parents:
diff changeset
18
jurzua
parents:
diff changeset
19 public void last(){
jurzua
parents:
diff changeset
20 this.currentPage = this.numberOfPages -1;
jurzua
parents:
diff changeset
21 }
jurzua
parents:
diff changeset
22
jurzua
parents:
diff changeset
23 public void fastRewind () {
jurzua
parents:
diff changeset
24 this.rewind(this.rewindFastForwardBy);
jurzua
parents:
diff changeset
25 }
jurzua
parents:
diff changeset
26
jurzua
parents:
diff changeset
27 private void rewind (int aRewindFastForwardBy) {
jurzua
parents:
diff changeset
28 int newPageNumber = currentPage - aRewindFastForwardBy;
jurzua
parents:
diff changeset
29 if (newPageNumber < 0) {
jurzua
parents:
diff changeset
30 currentPage = 0;
jurzua
parents:
diff changeset
31 } else {
jurzua
parents:
diff changeset
32 currentPage = newPageNumber;
jurzua
parents:
diff changeset
33 }
jurzua
parents:
diff changeset
34 }
jurzua
parents:
diff changeset
35
jurzua
parents:
diff changeset
36 public void goToPage(int newPageNumber){
jurzua
parents:
diff changeset
37 if (newPageNumber > this.numberOfPages -1) {
jurzua
parents:
diff changeset
38 currentPage = this.numberOfPages -1;
jurzua
parents:
diff changeset
39 } else if(newPageNumber < 0 ){
jurzua
parents:
diff changeset
40 currentPage = 0;
jurzua
parents:
diff changeset
41 }else{
jurzua
parents:
diff changeset
42 currentPage = newPageNumber;
jurzua
parents:
diff changeset
43 }
jurzua
parents:
diff changeset
44
jurzua
parents:
diff changeset
45 }
jurzua
parents:
diff changeset
46
jurzua
parents:
diff changeset
47 private void forward (int aRewindFastForwardBy) {
jurzua
parents:
diff changeset
48 int newPageNumber = currentPage + aRewindFastForwardBy;
jurzua
parents:
diff changeset
49 if (newPageNumber > this.numberOfPages - 1) {
jurzua
parents:
diff changeset
50 currentPage = this.numberOfPages -1;
jurzua
parents:
diff changeset
51 } else {
jurzua
parents:
diff changeset
52 currentPage = newPageNumber;
jurzua
parents:
diff changeset
53 }
jurzua
parents:
diff changeset
54 }
jurzua
parents:
diff changeset
55
jurzua
parents:
diff changeset
56 public void previous () {
jurzua
parents:
diff changeset
57 this.rewind(1);
jurzua
parents:
diff changeset
58 }
jurzua
parents:
diff changeset
59
jurzua
parents:
diff changeset
60 public void next () {
jurzua
parents:
diff changeset
61 this.forward(1);
jurzua
parents:
diff changeset
62 }
jurzua
parents:
diff changeset
63
jurzua
parents:
diff changeset
64 public void fastForward () {
jurzua
parents:
diff changeset
65 this.forward(this.rewindFastForwardBy);
jurzua
parents:
diff changeset
66 }
jurzua
parents:
diff changeset
67
jurzua
parents:
diff changeset
68 public void initCount() {
jurzua
parents:
diff changeset
69 if (currentPage > numberOfPages) {
jurzua
parents:
diff changeset
70 currentPage=numberOfPages;
jurzua
parents:
diff changeset
71 }
jurzua
parents:
diff changeset
72 }
jurzua
parents:
diff changeset
73
jurzua
parents:
diff changeset
74 public int getNumberOfPages() {
jurzua
parents:
diff changeset
75 return numberOfPages;
jurzua
parents:
diff changeset
76 }
jurzua
parents:
diff changeset
77
jurzua
parents:
diff changeset
78 public void setNumberOfPages(int numberOfPages) {
jurzua
parents:
diff changeset
79 this.numberOfPages = numberOfPages;
jurzua
parents:
diff changeset
80 }
jurzua
parents:
diff changeset
81
jurzua
parents:
diff changeset
82 public void resetNumberOfPages(int itemsTotal){
jurzua
parents:
diff changeset
83 int numberOfPages = (itemsTotal
jurzua
parents:
diff changeset
84 % this.getItemsPerPage() == 0) ?
jurzua
parents:
diff changeset
85 itemsTotal
jurzua
parents:
diff changeset
86 / this.getItemsPerPage() :
jurzua
parents:
diff changeset
87 (itemsTotal
jurzua
parents:
diff changeset
88 / this.getItemsPerPage()) + 1;
jurzua
parents:
diff changeset
89 this.setNumberOfPages(numberOfPages);
jurzua
parents:
diff changeset
90 }
jurzua
parents:
diff changeset
91
jurzua
parents:
diff changeset
92 public int getCurrentPage() {
jurzua
parents:
diff changeset
93 return currentPage;
jurzua
parents:
diff changeset
94 }
jurzua
parents:
diff changeset
95
jurzua
parents:
diff changeset
96 public void setCurrentPage(int currentPage) {
jurzua
parents:
diff changeset
97 this.currentPage = currentPage;
jurzua
parents:
diff changeset
98 }
jurzua
parents:
diff changeset
99
jurzua
parents:
diff changeset
100 public String getRecordStatus () {
jurzua
parents:
diff changeset
101 this.recordStatus = MessageFormat.format("{0} of {1}",
jurzua
parents:
diff changeset
102 new Object []{
jurzua
parents:
diff changeset
103 Integer.valueOf(currentPage + 1),
jurzua
parents:
diff changeset
104 Integer.valueOf(numberOfPages)
jurzua
parents:
diff changeset
105 });
jurzua
parents:
diff changeset
106 return recordStatus;
jurzua
parents:
diff changeset
107 }
jurzua
parents:
diff changeset
108
jurzua
parents:
diff changeset
109 public void setRecordStatus(String recordStatus) {
jurzua
parents:
diff changeset
110 this.recordStatus = recordStatus;
jurzua
parents:
diff changeset
111 }
jurzua
parents:
diff changeset
112
jurzua
parents:
diff changeset
113 public int getItemsPerPage() {
jurzua
parents:
diff changeset
114 return itemsPerPage;
jurzua
parents:
diff changeset
115 }
jurzua
parents:
diff changeset
116
jurzua
parents:
diff changeset
117 public void setItemsPerPage(int itemsPerPage) {
jurzua
parents:
diff changeset
118 this.itemsPerPage = itemsPerPage;
jurzua
parents:
diff changeset
119 }
jurzua
parents:
diff changeset
120
jurzua
parents:
diff changeset
121 public int getRewindFastForwardBy() {
jurzua
parents:
diff changeset
122 return rewindFastForwardBy;
jurzua
parents:
diff changeset
123 }
jurzua
parents:
diff changeset
124
jurzua
parents:
diff changeset
125 public void setRewindFastForwardBy(int rewindFastForwardBy) {
jurzua
parents:
diff changeset
126 this.rewindFastForwardBy = rewindFastForwardBy;
jurzua
parents:
diff changeset
127 }
jurzua
parents:
diff changeset
128 }