package net.sf.fast.ibatis.util; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.DirectoryDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class UIHelper { public static void updateText(final Shell shell,final Text textfield, String text, boolean isDirectoryDialog, boolean isEditable) { if (Helper.isNotEmpty(text)) { textfield.setText(text); } textfield.setEditable(isEditable); if(isDirectoryDialog) { textfield.addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { DirectoryDialog dialog = new DirectoryDialog(shell, SWT.NULL); String path = dialog.open(); if (Helper.isNotEmpty(path)) { textfield.setText(path); } } }); } } public static void createTextArea(final Shell shell, final Text textfield, String text, int width, int height, int colSpan) { GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = width; data.heightHint = height; if(colSpan > 1) { data.horizontalSpan = colSpan; } if (Helper.isNotEmpty(text)) { textfield.setText(text); } textfield.setLayoutData(data); } public static void createStyledTextArea(final Shell shell, final StyledText textfield, int width, int height, int colSpan) { GridData data = new GridData(GridData.FILL_BOTH); data.widthHint = width; data.heightHint = height; if(colSpan > 1) { data.horizontalSpan = colSpan; } textfield.setLayoutData(data); } }