-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.ui.auth;\r
-\r
-import org.eclipse.jface.layout.GridDataFactory;\r
-import org.eclipse.jface.layout.GridLayoutFactory;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.FocusEvent;\r
-import org.eclipse.swt.events.FocusListener;\r
-import org.eclipse.swt.events.ModifyEvent;\r
-import org.eclipse.swt.events.ModifyListener;\r
-import org.eclipse.swt.events.SelectionAdapter;\r
-import org.eclipse.swt.events.SelectionEvent;\r
-import org.eclipse.swt.widgets.Button;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Label;\r
-import org.eclipse.swt.widgets.Text;\r
-import org.simantics.ui.auth.model.LoginModel;\r
-\r
-/**\r
- * @author Tuukka Lehtonen\r
- */\r
-public class LoginComposite extends Composite {\r
-\r
-// private FormToolkit toolkit;\r
-\r
- private LoginModel model;\r
-\r
- public LoginComposite(Composite parent, int style, LoginModel m) {\r
- super(parent, style);\r
- \r
- this.model = m;\r
-\r
-// toolkit = new FormToolkit(parent.getDisplay());\r
-\r
- Composite body = this;\r
- GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(2).applyTo(body);\r
- GridDataFactory.fillDefaults().grab(true, true).applyTo(body);\r
-\r
- Label desc = new Label(this, 0);\r
- desc.setText("Enter credentials for " + model.getServer().getInfo());\r
- GridDataFactory.fillDefaults().span(2, 1).applyTo(desc);\r
- \r
-// Label nameLabel = toolkit.createLabel(this, "User name:");\r
- Label nameLabel = new Label(this, 0);\r
- nameLabel.setText("&User name:");\r
- GridDataFactory.fillDefaults().align(SWT.LEAD, SWT.CENTER).applyTo(nameLabel);\r
-// final Text nameText = toolkit.createText(this, "", SWT.NONE);\r
- final Text nameText = new Text(this, SWT.BORDER);\r
- nameText.setText(model.getName());\r
- GridDataFactory.fillDefaults().grab(true, false).applyTo(nameText);\r
-\r
-// Label passwordLabel = toolkit.createLabel(this, "Password:");\r
- Label passwordLabel = new Label(this, 0);\r
- passwordLabel.setText("&Password:");\r
- GridDataFactory.fillDefaults().align(SWT.LEAD, SWT.CENTER).applyTo(passwordLabel);\r
-// final Text passwordText = toolkit.createText(this, "", SWT.NONE);\r
- final Text passwordText = new Text(this, SWT.PASSWORD | SWT.BORDER);\r
- passwordText.setText(model.getPassword());\r
- GridDataFactory.fillDefaults().grab(true, false).applyTo(passwordText);\r
-\r
-// final Button rememberButton = toolkit.createButton(this, "Remember Login", SWT.CHECK);\r
- final Button rememberButton = new Button(this, SWT.CHECK);\r
- rememberButton.setText("&Remember Login");\r
- GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(rememberButton);\r
- \r
- // Build the separator line\r
- Label separator = new Label(this, SWT.HORIZONTAL | SWT.SEPARATOR);\r
- GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BOTTOM).span(2, 1).grab(false, true).applyTo(separator);\r
- \r
- nameText.addModifyListener(new ModifyListener() {\r
- @Override\r
- public void modifyText(ModifyEvent e) {\r
- model.setName(nameText.getText());\r
- }\r
- });\r
- passwordText.addModifyListener(new ModifyListener() {\r
- @Override\r
- public void modifyText(ModifyEvent e) {\r
- model.setPassword(passwordText.getText());\r
- }\r
- });\r
- rememberButton.addSelectionListener(new SelectionAdapter() {\r
- @Override\r
- public void widgetSelected(SelectionEvent e) {\r
- model.setRemember(rememberButton.getSelection());\r
- }\r
- });\r
- \r
- new FocusSelector(nameText);\r
- new FocusSelector(passwordText);\r
- }\r
- \r
- static class FocusSelector implements FocusListener {\r
- Text text;\r
- FocusSelector(Text text) {\r
- this.text = text;\r
- text.addFocusListener(this);\r
- }\r
- @Override\r
- public void focusGained(FocusEvent e) {\r
- text.selectAll();\r
- }\r
- @Override\r
- public void focusLost(FocusEvent e) {\r
- text.setSelection(0);\r
- }\r
- }\r
-\r
- @Override\r
- public void dispose() {\r
- if (isDisposed()) {\r
-// if (toolkit != null) {\r
-// toolkit.dispose();\r
-// toolkit = null;\r
-// }\r
- super.dispose();\r
- }\r
- }\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.ui.auth;
+
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.simantics.ui.auth.model.LoginModel;
+
+/**
+ * @author Tuukka Lehtonen
+ */
+public class LoginComposite extends Composite {
+
+// private FormToolkit toolkit;
+
+ private LoginModel model;
+
+ public LoginComposite(Composite parent, int style, LoginModel m) {
+ super(parent, style);
+
+ this.model = m;
+
+// toolkit = new FormToolkit(parent.getDisplay());
+
+ Composite body = this;
+ GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(2).applyTo(body);
+ GridDataFactory.fillDefaults().grab(true, true).applyTo(body);
+
+ Label desc = new Label(this, 0);
+ desc.setText("Enter credentials for " + model.getServer().getInfo());
+ GridDataFactory.fillDefaults().span(2, 1).applyTo(desc);
+
+// Label nameLabel = toolkit.createLabel(this, "User name:");
+ Label nameLabel = new Label(this, 0);
+ nameLabel.setText("&User name:");
+ GridDataFactory.fillDefaults().align(SWT.LEAD, SWT.CENTER).applyTo(nameLabel);
+// final Text nameText = toolkit.createText(this, "", SWT.NONE);
+ final Text nameText = new Text(this, SWT.BORDER);
+ nameText.setText(model.getName());
+ GridDataFactory.fillDefaults().grab(true, false).applyTo(nameText);
+
+// Label passwordLabel = toolkit.createLabel(this, "Password:");
+ Label passwordLabel = new Label(this, 0);
+ passwordLabel.setText("&Password:");
+ GridDataFactory.fillDefaults().align(SWT.LEAD, SWT.CENTER).applyTo(passwordLabel);
+// final Text passwordText = toolkit.createText(this, "", SWT.NONE);
+ final Text passwordText = new Text(this, SWT.PASSWORD | SWT.BORDER);
+ passwordText.setText(model.getPassword());
+ GridDataFactory.fillDefaults().grab(true, false).applyTo(passwordText);
+
+// final Button rememberButton = toolkit.createButton(this, "Remember Login", SWT.CHECK);
+ final Button rememberButton = new Button(this, SWT.CHECK);
+ rememberButton.setText("&Remember Login");
+ GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(rememberButton);
+
+ // Build the separator line
+ Label separator = new Label(this, SWT.HORIZONTAL | SWT.SEPARATOR);
+ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.BOTTOM).span(2, 1).grab(false, true).applyTo(separator);
+
+ nameText.addModifyListener(new ModifyListener() {
+ @Override
+ public void modifyText(ModifyEvent e) {
+ model.setName(nameText.getText());
+ }
+ });
+ passwordText.addModifyListener(new ModifyListener() {
+ @Override
+ public void modifyText(ModifyEvent e) {
+ model.setPassword(passwordText.getText());
+ }
+ });
+ rememberButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ model.setRemember(rememberButton.getSelection());
+ }
+ });
+
+ new FocusSelector(nameText);
+ new FocusSelector(passwordText);
+ }
+
+ static class FocusSelector implements FocusListener {
+ Text text;
+ FocusSelector(Text text) {
+ this.text = text;
+ text.addFocusListener(this);
+ }
+ @Override
+ public void focusGained(FocusEvent e) {
+ text.selectAll();
+ }
+ @Override
+ public void focusLost(FocusEvent e) {
+ text.setSelection(0);
+ }
+ }
+
+ @Override
+ public void dispose() {
+ if (isDisposed()) {
+// if (toolkit != null) {
+// toolkit.dispose();
+// toolkit = null;
+// }
+ super.dispose();
+ }
+ }
+
+}