Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDirk Fauth2016-10-10 17:13:21 +0000
committerDirk Fauth2016-10-10 17:13:21 +0000
commit7235a973636fc28c6832ce6aed4a4c01ad4cc79f (patch)
tree0c64b6928120702043be12a3885802c1f66df174
parenta89f1b4afe7432f52b6e5a2b314358431f96dcd6 (diff)
downloadorg.eclipse.nebula.widgets.nattable-7235a973636fc28c6832ce6aed4a4c01ad4cc79f.tar.gz
org.eclipse.nebula.widgets.nattable-7235a973636fc28c6832ce6aed4a4c01ad4cc79f.tar.xz
org.eclipse.nebula.widgets.nattable-7235a973636fc28c6832ce6aed4a4c01ad4cc79f.zip
Bug 505665 - [Print] Show total page count in footer
Change-Id: Ie3d580770b8078d29e2a594088216877fa57e19d Signed-off-by: Dirk Fauth <dirk.fauth@googlemail.com>
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages.properties2
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_de.properties2
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_es.properties2
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_fr.properties2
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_it.properties2
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ja.properties2
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ko.properties2
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_CN.properties2
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_TW.properties2
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/LayerPrinter.java14
-rw-r--r--org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/config/PrintConfigAttributes.java8
11 files changed, 28 insertions, 12 deletions
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages.properties b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages.properties
index e9e6673c..1ec4aadb 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages.properties
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages.properties
@@ -130,7 +130,7 @@ PersistenceDialog.nameLabel=Name
PersistenceDialog.viewerLabel=Available State Configurations
PersistenceDialog.nameErrorText=It is not possible to use an empty name for a view configuration!
-Printer.page=Page
+Printer.page=Page {0}
Search.find=Find
Search.closeButtonLabel=&Close
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_de.properties b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_de.properties
index 4c322eb8..fb81b7f6 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_de.properties
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_de.properties
@@ -130,7 +130,7 @@ PersistenceDialog.nameLabel=Name
PersistenceDialog.viewerLabel=Verf\u00FCgbare Darstellungen
PersistenceDialog.nameErrorText=Es muss ein Name für eine Darstellung gesetzt werden!
-Printer.page=Seite
+Printer.page=Seite {0}
Search.find=Suchen
Search.closeButtonLabel=Schlie&\u00DFen
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_es.properties b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_es.properties
index 4b218bf3..23a434b4 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_es.properties
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_es.properties
@@ -127,7 +127,7 @@ PersistenceDialog.nameLabel=Nombre
PersistenceDialog.viewerLabel=Configuraci\u00f3n de estado disponible
PersistenceDialog.nameErrorText=Debe definirse un nombre para la visualizaci\u00f3n.
-Printer.page=P\u00e1gina
+Printer.page=P\u00e1gina {0}
Search.find=Buscar
Search.closeButtonLabel=&Cerrar
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_fr.properties b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_fr.properties
index c6f901b9..97072728 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_fr.properties
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_fr.properties
@@ -127,7 +127,7 @@ PersistenceDialog.nameLabel=Nom
PersistenceDialog.viewerLabel=Configuration d'\u00e9tat disponible
PersistenceDialog.nameErrorText=Un nom doit \u00eatre d\u00e9fini pour la repr\u00e9sentation.
-Printer.page=Page
+Printer.page=Page {0}
Search.find=Rechercher
Search.closeButtonLabel=&Fermer
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_it.properties b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_it.properties
index 23d0d150..8c4129f7 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_it.properties
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_it.properties
@@ -127,7 +127,7 @@ PersistenceDialog.nameLabel=Nome
PersistenceDialog.viewerLabel=Configurazione di stato disponibile
PersistenceDialog.nameErrorText=Deve essere definito un nome per la rappresentazione.
-Printer.page=Pagina
+Printer.page=Pagina {0}
Search.find=Trova
Search.closeButtonLabel=&Chiudi
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ja.properties b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ja.properties
index 7c948808..1519e276 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ja.properties
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ja.properties
@@ -127,7 +127,7 @@ PersistenceDialog.nameLabel=\u540d\u524d
PersistenceDialog.viewerLabel=\u4f7f\u7528\u53ef\u80fd\u306a\uff7d\uff83\uff70\uff80\uff7d\u69cb\u6210
PersistenceDialog.nameErrorText=\uff74\uff8c\uff6a\uff78\uff84\u306b\u540d\u524d\u3092\u4ed8\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-Printer.page=\uff8d\uff9f\uff70\uff7c\uff9e
+Printer.page=\uff8d\uff9f\uff70\uff7c\uff9e {0}
Search.find=\u691c\u7d22
Search.closeButtonLabel=\u9589\u3058\u308b(&C)
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ko.properties b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ko.properties
index 9b0cab07..7fa05ef0 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ko.properties
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_ko.properties
@@ -127,7 +127,7 @@ PersistenceDialog.nameLabel=\uc774\ub984
PersistenceDialog.viewerLabel=\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc0c1\ud0dc \uad6c\uc131
PersistenceDialog.nameErrorText=\ud6a8\uacfc\uc5d0 \uc774\ub984\uc744 \ubd80\uc5ec\ud574\uc57c \ud569\ub2c8\ub2e4.
-Printer.page=\ud398\uc774\uc9c0
+Printer.page=\ud398\uc774\uc9c0 {0}
Search.find=\ucc3e\uae30
Search.closeButtonLabel=\ub2eb\uae30(&C)
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_CN.properties b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_CN.properties
index e79b052a..d7e7c0bb 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_CN.properties
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_CN.properties
@@ -127,7 +127,7 @@ PersistenceDialog.nameLabel=\u540d\u79f0
PersistenceDialog.viewerLabel=\u53ef\u7528\u72b6\u6001\u7ec4\u6001
PersistenceDialog.nameErrorText=\u6548\u679c\u5fc5\u987b\u6307\u5b9a\u540d\u79f0\u3002
-Printer.page=\u9875\u9762
+Printer.page=\u9875\u9762 {0}
Search.find=\u67e5\u627e
Search.closeButtonLabel=\u5173\u95ed(&C)
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_TW.properties b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_TW.properties
index 3b07c76e..11217949 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_TW.properties
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/messages_zh_TW.properties
@@ -127,7 +127,7 @@ PersistenceDialog.nameLabel=\u540d\u7a31
PersistenceDialog.viewerLabel=\u53ef\u7528\u72c0\u614b\u898f\u5283
PersistenceDialog.nameErrorText=\u5fc5\u9808\u70ba\u6548\u679c\u6307\u5b9a\u540d\u7a31\u3002
-Printer.page=\u9801\u9762
+Printer.page=\u9801\u9762 {0}
Search.find=\u5c0b\u627e
Search.closeButtonLabel=\u95dc\u9589(&C)
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/LayerPrinter.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/LayerPrinter.java
index a2c80a01..08218bb3 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/LayerPrinter.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/LayerPrinter.java
@@ -10,6 +10,7 @@
******************************************************************************/
package org.eclipse.nebula.widgets.nattable.print;
+import java.text.MessageFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -74,6 +75,7 @@ public class LayerPrinter {
final SimpleDateFormat dateFormat;
private final String footerDate;
+ private final String footerPagePattern;
private final int footerHeight;
@@ -128,6 +130,11 @@ public class LayerPrinter {
DisplayMode.NORMAL);
this.footerHeight = (fh != null) ? fh : FOOTER_HEIGHT_IN_PRINTER_DPI;
+ String pagePattern = configRegistry.getConfigAttribute(
+ PrintConfigAttributes.FOOTER_PAGE_PATTERN,
+ DisplayMode.NORMAL);
+ this.footerPagePattern = (pagePattern != null) ? pagePattern : Messages.getString("Printer.page"); //$NON-NLS-1$
+
// configure the footer date
String configuredFormat = configRegistry.getConfigAttribute(
PrintConfigAttributes.DATE_FORMAT,
@@ -670,6 +677,7 @@ public class LayerPrinter {
try {
int currentPage = 1;
+ int totalPageCount = getPageCount(this.printer);
Integer[] repeatHeaderGridLineWidth = null;
@@ -857,7 +865,7 @@ public class LayerPrinter {
configureScalingTransform(footerTransform, dpiFactor, printerClientArea, footerBounds);
gc.setTransform(footerTransform);
- printFooter(gc, currentPage, footerBounds, target.configRegistry);
+ printFooter(gc, currentPage, totalPageCount, footerBounds, target.configRegistry);
printerTransform.dispose();
repeatTransform.dispose();
@@ -1009,7 +1017,7 @@ public class LayerPrinter {
* The {@link IConfigRegistry} needed to retrieve the footer
* style.
*/
- private void printFooter(GC gc, int totalPageCount, Rectangle printBounds, IConfigRegistry configRegistry) {
+ private void printFooter(GC gc, int currentPage, int totalPageCount, Rectangle printBounds, IConfigRegistry configRegistry) {
Color oldForeground = gc.getForeground();
Color oldBackground = gc.getBackground();
Font oldFont = gc.getFont();
@@ -1037,7 +1045,7 @@ public class LayerPrinter {
printBounds.y + printBounds.height + 10);
gc.drawText(
- Messages.getString("Printer.page") + " " + totalPageCount, //$NON-NLS-1$ //$NON-NLS-2$
+ MessageFormat.format(LayerPrinter.this.footerPagePattern, currentPage, totalPageCount),
printBounds.x,
printBounds.y + printBounds.height + 15);
diff --git a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/config/PrintConfigAttributes.java b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/config/PrintConfigAttributes.java
index 6acee48c..2903334a 100644
--- a/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/config/PrintConfigAttributes.java
+++ b/org.eclipse.nebula.widgets.nattable.core/src/org/eclipse/nebula/widgets/nattable/print/config/PrintConfigAttributes.java
@@ -59,4 +59,12 @@ public interface PrintConfigAttributes {
* font style attributes are supported.
*/
ConfigAttribute<IStyle> FOOTER_STYLE = new ConfigAttribute<IStyle>();
+
+ /**
+ * Configuration attribute to configure the pattern for rendering the page
+ * information in the footer. The pattern can include placeholders for the
+ * current page and the total page count, where {0} = current page and {1} =
+ * total page count, e.g. <i>Page {0}/{1}</i> to show <i>Page 1/6</i>
+ */
+ ConfigAttribute<String> FOOTER_PAGE_PATTERN = new ConfigAttribute<String>();
}

Back to the top