01: /*******************************************************************************
02: * Copyright (c) 2005, 2006 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.jface.layout;
11:
12: import org.eclipse.jface.dialogs.Dialog;
13: import org.eclipse.jface.dialogs.IDialogConstants;
14: import org.eclipse.jface.resource.JFaceResources;
15: import org.eclipse.swt.graphics.FontMetrics;
16: import org.eclipse.swt.graphics.GC;
17: import org.eclipse.swt.graphics.Point;
18: import org.eclipse.swt.widgets.Display;
19:
20: /**
21: * Contains various layout constants
22: *
23: * @since 3.2
24: */
25: public final class LayoutConstants {
26: private static Point dialogMargins = null;
27: private static Point dialogSpacing = null;
28: private static Point minButtonSize = null;
29:
30: private static void initializeConstants() {
31: if (dialogMargins != null) {
32: return;
33: }
34:
35: GC gc = new GC(Display.getCurrent());
36: gc.setFont(JFaceResources.getDialogFont());
37: FontMetrics fontMetrics = gc.getFontMetrics();
38:
39: dialogMargins = new Point(Dialog.convertHorizontalDLUsToPixels(
40: fontMetrics, IDialogConstants.HORIZONTAL_MARGIN),
41: Dialog.convertVerticalDLUsToPixels(fontMetrics,
42: IDialogConstants.VERTICAL_MARGIN));
43:
44: dialogSpacing = new Point(Dialog.convertHorizontalDLUsToPixels(
45: fontMetrics, IDialogConstants.HORIZONTAL_SPACING),
46: Dialog.convertVerticalDLUsToPixels(fontMetrics,
47: IDialogConstants.VERTICAL_SPACING));
48:
49: minButtonSize = new Point(Dialog.convertHorizontalDLUsToPixels(
50: fontMetrics, IDialogConstants.BUTTON_WIDTH), 0);
51:
52: gc.dispose();
53: }
54:
55: /**
56: * Returns the default dialog margins, in pixels
57: *
58: * @return the default dialog margins, in pixels
59: */
60: public static final Point getMargins() {
61: initializeConstants();
62: return dialogMargins;
63: }
64:
65: /**
66: * Returns the default dialog spacing, in pixels
67: *
68: * @return the default dialog spacing, in pixels
69: */
70: public static final Point getSpacing() {
71: initializeConstants();
72: return dialogSpacing;
73: }
74:
75: /**
76: * Returns the default minimum button size, in pixels
77: *
78: * @return the default minimum button size, in pixels
79: */
80: public static final Point getMinButtonSize() {
81: initializeConstants();
82: return minButtonSize;
83: }
84: }
|