X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.eclipse.ui%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2FEclipseUiUtils.java;h=8a628c8bf19ec1af7b78b0c8b1a195350aee0602;hb=6960fb17d7601de34cc6c4f320c9d1f63caca692;hp=f3979d074e94fbd77f8f79e646ab4ca3395b634b;hpb=f65ec1633b1b7ea553c350c7ece14b6bd45b2424;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/EclipseUiUtils.java b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/EclipseUiUtils.java index f3979d074..8a628c8bf 100644 --- a/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/EclipseUiUtils.java +++ b/org.argeo.eclipse.ui/src/org/argeo/eclipse/ui/EclipseUiUtils.java @@ -37,6 +37,35 @@ public class EclipseUiUtils { child.dispose(); } + /** + * Enables efficient call to the layout method of a composite, refreshing only + * some of the children controls. + */ + public static void layout(Composite parent, Control... toUpdateControls) { + parent.layout(toUpdateControls); + } + + // + // FONTS + // + /** Shortcut to retrieve default italic font from display */ + public static Font getItalicFont(Composite parent) { + return JFaceResources.getFontRegistry().defaultFontDescriptor().setStyle(SWT.ITALIC) + .createFont(parent.getDisplay()); + } + + /** Shortcut to retrieve default bold font from display */ + public static Font getBoldFont(Composite parent) { + return JFaceResources.getFontRegistry().defaultFontDescriptor().setStyle(SWT.BOLD) + .createFont(parent.getDisplay()); + } + + /** Shortcut to retrieve default bold italic font from display */ + public static Font getBoldItalicFont(Composite parent) { + return JFaceResources.getFontRegistry().defaultFontDescriptor().setStyle(SWT.BOLD | SWT.ITALIC) + .createFont(parent.getDisplay()); + } + // // Simplify grid layouts management // @@ -44,6 +73,10 @@ public class EclipseUiUtils { return noSpaceGridLayout(new GridLayout()); } + public static GridLayout noSpaceGridLayout(int columns) { + return noSpaceGridLayout(new GridLayout(columns, false)); + } + public static GridLayout noSpaceGridLayout(GridLayout layout) { layout.horizontalSpacing = 0; layout.verticalSpacing = 0; @@ -70,10 +103,8 @@ public class EclipseUiUtils { return new GridData(SWT.FILL, SWT.FILL, true, true, colSpan, rowSpan); } - public static GridData grabWidth(int horizontalAlignment, - int verticalAlignment) { - return new GridData(horizontalAlignment, horizontalAlignment, true, - false); + public static GridData grabWidth(int horizontalAlignment, int verticalAlignment) { + return new GridData(horizontalAlignment, horizontalAlignment, true, false); } // @@ -94,24 +125,23 @@ public class EclipseUiUtils { } /** - * Create a label and a text field for a grid layout, the text field - * grabbing excess horizontal + * Create a label and a text field for a grid layout, the text field grabbing + * excess horizontal * * @param parent * the parent composite * @param label * the label to display * @param modifyListener - * a {@link ModifyListener} to listen on events on the text, can - * be null + * a {@link ModifyListener} to listen on events on the text, can be + * null * @return the created text * */ // FIXME why was this deprecated. // * @ deprecated use { @ link #createGridLT(Composite, String)} instead // @ Deprecated - public static Text createGridLT(Composite parent, String label, - ModifyListener modifyListener) { + public static Text createGridLT(Composite parent, String label, ModifyListener modifyListener) { Label lbl = new Label(parent, SWT.LEAD); lbl.setText(label); lbl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false)); @@ -123,16 +153,16 @@ public class EclipseUiUtils { } /** - * Create a label and a text field for a grid layout, the text field - * grabbing excess horizontal + * Create a label and a text field for a grid layout, the text field grabbing + * excess horizontal */ public static Text createGridLT(Composite parent, String label) { return createGridLT(parent, label, null); } /** - * Creates one label and a text field not editable with background colour of - * the parent (like a label but with selectable text) + * Creates one label and a text field not editable with background colour of the + * parent (like a label but with selectable text) */ public static Text createGridLL(Composite parent, String label, String text) { Text txt = createGridLT(parent, label); @@ -143,11 +173,19 @@ public class EclipseUiUtils { } /** - * Create a label and a text field with password display for a grid layout, - * the text field grabbing excess horizontal + * Create a label and a text field with password display for a grid layout, the + * text field grabbing excess horizontal + */ + public static Text createGridLP(Composite parent, String label) { + return createGridLP(parent, label, null); + } + + /** + * Create a label and a text field with password display for a grid layout, the + * text field grabbing excess horizontal. The given modify listener will be + * added to the newly created text field if not null. */ - public static Text createGridLP(Composite parent, String label, - ModifyListener modifyListener) { + public static Text createGridLP(Composite parent, String label, ModifyListener modifyListener) { Label lbl = new Label(parent, SWT.LEAD); lbl.setText(label); lbl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false)); @@ -158,26 +196,15 @@ public class EclipseUiUtils { return txt; } - // - // FONTS - // - - /** Shortcut to retrieve default italic font from display */ - public static Font getItalicFont(Composite parent) { - return JFaceResources.getFontRegistry().defaultFontDescriptor() - .setStyle(SWT.ITALIC).createFont(parent.getDisplay()); - } + // MISCELLANEOUS - /** Shortcut to retrieve default bold font from display */ - public static Font getBoldFont(Composite parent) { - return JFaceResources.getFontRegistry().defaultFontDescriptor() - .setStyle(SWT.BOLD).createFont(parent.getDisplay()); + /** Simply checks if a string is not null nor empty */ + public static boolean notEmpty(String stringToTest) { + return !(stringToTest == null || "".equals(stringToTest.trim())); } - /** Shortcut to retrieve default bold italic font from display */ - public static Font getBoldItalicFont(Composite parent) { - return JFaceResources.getFontRegistry().defaultFontDescriptor() - .setStyle(SWT.BOLD | SWT.ITALIC) - .createFont(parent.getDisplay()); + /** Simply checks if a string is null or empty */ + public static boolean isEmpty(String stringToTest) { + return stringToTest == null || "".equals(stringToTest.trim()); } } \ No newline at end of file