1 6 package com.nightlabs.ipanema.base.login; 7 8 import org.eclipse.jface.dialogs.Dialog; 9 import org.eclipse.swt.SWT; 10 import org.eclipse.swt.layout.GridData; 11 import org.eclipse.swt.layout.GridLayout; 12 import org.eclipse.swt.layout.RowLayout; 13 import org.eclipse.swt.widgets.Composite; 14 import org.eclipse.swt.widgets.Label; 15 import org.eclipse.swt.widgets.Text; 16 17 import com.nightlabs.ipanema.base.IpanemaBasePlugin; 18 21 public class LoginDialogStaticArea extends Composite { 22 23 28 private class ErrorMessageComposite extends Composite { 29 private Label labelIcon; 30 private Label labelErrMessage; 31 35 public ErrorMessageComposite(Composite parent, int style) { 36 super(parent, style); 37 this.setLayout(new RowLayout()); 38 labelIcon = new Label(this,SWT.PUSH); 39 labelIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_ERROR)); 40 labelErrMessage = new Label(this,SWT.PUSH); 41 labelErrMessage.setText(""); 42 } 43 44 public void setErrMsg(String message) { 45 labelErrMessage.setText(message); 46 } 47 } 48 49 52 53 private Label labelUserID = null; 54 private Text textUserID = null; 55 private Label labelPassword = null; 56 private Text textPassword = null; 57 private LoginConfigModule runtimeLoginConfigModule = null; 58 private ErrorMessageComposite errMessage = null; 59 public LoginDialogStaticArea( 60 Composite parent, 61 int style, 62 LoginConfigModule loginConfigModule 63 ) { 64 super(parent, style); 65 this.runtimeLoginConfigModule = loginConfigModule; 66 initialize(); 67 initValues(); 68 } 69 70 private void initValues() { 71 textUserID.setText(runtimeLoginConfigModule.getUserID()); 72 textUserID.setFocus(); 73 } 74 75 GridData gridDataErr = new GridData(GridData.FILL_HORIZONTAL); 76 77 private void initialize() { 78 GridData gridData5 = new GridData(); 79 GridData gridData4 = new GridData(); 80 GridLayout gridLayoutStatic = new GridLayout(); 81 errMessage = new ErrorMessageComposite(this, SWT.NONE); 82 labelUserID = new Label(this, SWT.NONE); 83 textUserID = new Text(this, SWT.BORDER); 84 labelPassword = new Label(this, SWT.NONE); 85 textPassword = new Text(this, SWT.BORDER); 86 this.setLayout(gridLayoutStatic); 87 gridLayoutStatic.numColumns = 2; 88 labelUserID.setText(IpanemaBasePlugin.getResourceString("login.label.user")); 89 gridData4.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL; 90 gridData4.grabExcessHorizontalSpace = true; 91 textUserID.setLayoutData(gridData4); 92 labelPassword.setText(IpanemaBasePlugin.getResourceString("login.label.pass")); 93 gridData5.grabExcessHorizontalSpace = true; 94 gridData5.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL; 95 textPassword.setLayoutData(gridData5); 96 textPassword.setEchoChar('*'); 97 gridDataErr.horizontalSpan = 2; 99 gridDataErr.verticalAlignment = GridData.BEGINNING; 100 gridDataErr.grabExcessHorizontalSpace = true; 101 gridDataErr.heightHint = 0; 102 errMessage.setLayoutData(gridDataErr); 103 errMessage.setErrMsg(""); 104 } 105 106 public void setErrMessage(String errorMsg) { 107 setErrMessage(errorMsg,2); 108 } 109 public void setErrMessage(String errorMsg, int lineNo) { 110 if (errorMsg.equals("")) { 111 errMessage.setErrMsg(""); 112 gridDataErr.heightHint = 0; 113 } 114 else { 115 errMessage.setErrMsg(errorMsg); 116 if (lineNo < 2) 117 lineNo = 2; 118 gridDataErr.heightHint = 35 + 15*(lineNo-2); 119 } 120 if (LoginDialog.getSharedInstace() != null) { 121 LoginDialog.getSharedInstace().doRelayout(); 122 } 123 124 } 125 126 public Label getLabelPassword() { 127 return labelPassword; 128 } 129 public Label getLabelUserID() { 130 return labelUserID; 131 } 132 public Text getTextPassword() { 133 return textPassword; 134 } 135 public Text getTextUserID() { 136 return textUserID; 137 } 138 } | Popular Tags |