From 35fb3535c1d32006fc3481e7a5b0fc6b0074a4b5 Mon Sep 17 00:00:00 2001 From: Robert Greene Date: Thu, 10 Jun 2004 03:30:41 +0000 Subject: [PATCH] Added setupPagingInformation to set default paging information in a scrolled composite. --- .../applecommander/ui/swt/util/SwtUtil.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/com/webcodepro/applecommander/ui/swt/util/SwtUtil.java b/src/com/webcodepro/applecommander/ui/swt/util/SwtUtil.java index 66e125c..ba4f0c5 100644 --- a/src/com/webcodepro/applecommander/ui/swt/util/SwtUtil.java +++ b/src/com/webcodepro/applecommander/ui/swt/util/SwtUtil.java @@ -19,6 +19,10 @@ */ package com.webcodepro.applecommander.ui.swt.util; +import org.eclipse.swt.custom.ScrolledComposite; +import org.eclipse.swt.graphics.FontMetrics; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Shell; /** @@ -38,4 +42,23 @@ public class SwtUtil { (parent.getSize().y - child.getSize().y) / 2; child.setLocation(x,y); } + + /** + * Setup some sensible paging information. + */ + public static void setupPagingInformation(ScrolledComposite composite) { + GC gc = new GC(composite); + FontMetrics fontMetrics = gc.getFontMetrics(); + gc.dispose(); + int fontHeight = fontMetrics.getHeight(); + int fontWidth = fontMetrics.getAverageCharWidth(); + Rectangle clientArea = composite.getClientArea(); + int lines = clientArea.height / fontHeight; + int pageHeight = lines * fontHeight; + int pageWidth = clientArea.width - fontWidth; + composite.getVerticalBar().setIncrement(fontHeight); + composite.getVerticalBar().setPageIncrement(pageHeight); + composite.getHorizontalBar().setIncrement(fontWidth); + composite.getHorizontalBar().setPageIncrement(pageWidth); + } }