diff options
Diffstat (limited to 'jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/DocumentAdapterUITest.java')
-rw-r--r-- | jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/DocumentAdapterUITest.java | 255 |
1 files changed, 0 insertions, 255 deletions
diff --git a/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/DocumentAdapterUITest.java b/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/DocumentAdapterUITest.java deleted file mode 100644 index 39b43388cd..0000000000 --- a/jpa/tests/org.eclipse.jpt.utility.tests/src/org/eclipse/jpt/utility/tests/internal/model/value/swing/DocumentAdapterUITest.java +++ /dev/null @@ -1,255 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2008 Oracle. 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: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.utility.tests.internal.model.value.swing; - -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; -import javax.swing.AbstractAction; -import javax.swing.Action; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JTextField; -import javax.swing.WindowConstants; -import javax.swing.text.AbstractDocument; -import javax.swing.text.AttributeSet; -import javax.swing.text.BadLocationException; -import javax.swing.text.Document; -import javax.swing.text.PlainDocument; -import org.eclipse.jpt.utility.internal.model.AbstractModel; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.utility.internal.model.value.swing.DocumentAdapter; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel; - -/** - * Play around with a set of entry fields. - */ -public class DocumentAdapterUITest { - - private TestModel testModel; - private static final String DEFAULT_NAME = "Scooby Doo"; - private WritablePropertyValueModel<TestModel> testModelHolder; - private WritablePropertyValueModel<String> nameHolder; - private Document nameDocument; - private Document upperCaseNameDocument; - - public static void main(String[] args) throws Exception { - new DocumentAdapterUITest().exec(args); - } - - private DocumentAdapterUITest() { - super(); - } - - private void exec(String[] args) throws Exception { - this.testModel = new TestModel(DEFAULT_NAME); - this.testModelHolder = new SimplePropertyValueModel<TestModel>(this.testModel); - this.nameHolder = this.buildNameHolder(this.testModelHolder); - this.nameDocument = this.buildNameDocument(this.nameHolder); - this.upperCaseNameDocument = this.buildUpperCaseNameDocument(this.nameHolder); - this.openWindow(); - } - - private WritablePropertyValueModel<String> buildNameHolder(PropertyValueModel<TestModel> vm) { - return new PropertyAspectAdapter<TestModel, String>(vm, TestModel.NAME_PROPERTY) { - @Override - protected String buildValue_() { - return this.subject.getName(); - } - @Override - protected void setValue_(String value) { - this.subject.setName(value); - } - }; - } - - private Document buildNameDocument(WritablePropertyValueModel<String> stringHolder) { - return new DocumentAdapter(stringHolder); - } - - private Document buildUpperCaseNameDocument(WritablePropertyValueModel<String> stringHolder) { - return new DocumentAdapter(stringHolder, this.buildUpperCaseNameDocumentDelegate()); - } - - private AbstractDocument buildUpperCaseNameDocumentDelegate() { - return new PlainDocument() { - @Override - public void insertString(int offset, String string, AttributeSet a) throws BadLocationException { - if (string == null) { - return; - } - char[] upper = string.toCharArray(); - for (int i = 0; i < upper.length; i++) { - upper[i] = Character.toUpperCase(upper[i]); - } - super.insertString(offset, new String(upper), a); - } - }; - } - - private void openWindow() { - JFrame window = new JFrame(this.getClass().getName()); - window.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); - window.addWindowListener(this.buildWindowListener()); - window.getContentPane().add(this.buildMainPanel(), "Center"); - window.setSize(400, 100); - window.setVisible(true); - } - - private WindowListener buildWindowListener() { - return new WindowAdapter() { - @Override - public void windowClosing(WindowEvent e) { - e.getWindow().setVisible(false); - System.exit(0); - } - }; - } - - private Component buildMainPanel() { - JPanel mainPanel = new JPanel(new BorderLayout()); - mainPanel.add(this.buildTextFieldPanel(), BorderLayout.NORTH); - mainPanel.add(this.buildControlPanel(), BorderLayout.SOUTH); - return mainPanel; - } - - private Component buildTextFieldPanel() { - JPanel taskListPanel = new JPanel(new GridLayout(1, 0)); - taskListPanel.add(this.buildNameTextField()); - taskListPanel.add(this.buildReadOnlyNameTextField()); - taskListPanel.add(this.buildUpperCaseNameTextField()); - return taskListPanel; - } - - private JTextField buildNameTextField() { - return new JTextField(this.nameDocument, null, 0); - } - - private JTextField buildReadOnlyNameTextField() { - JTextField nameTextField = this.buildNameTextField(); - nameTextField.setEditable(false); - return nameTextField; - } - - private JTextField buildUpperCaseNameTextField() { - return new JTextField(this.upperCaseNameDocument, null, 0); - } - - private Component buildControlPanel() { - JPanel controlPanel = new JPanel(new GridLayout(1, 0)); - controlPanel.add(this.buildResetNameButton()); - controlPanel.add(this.buildClearModelButton()); - controlPanel.add(this.buildRestoreModelButton()); - controlPanel.add(this.buildPrintModelButton()); - return controlPanel; - } - - private JButton buildResetNameButton() { - return new JButton(this.buildResetNameAction()); - } - - private Action buildResetNameAction() { - Action action = new AbstractAction("reset name") { - public void actionPerformed(ActionEvent event) { - DocumentAdapterUITest.this.resetName(); - } - }; - action.setEnabled(true); - return action; - } - - void resetName() { - this.testModel.setName(DEFAULT_NAME); - } - - private JButton buildClearModelButton() { - return new JButton(this.buildClearModelAction()); - } - - private Action buildClearModelAction() { - Action action = new AbstractAction("clear model") { - public void actionPerformed(ActionEvent event) { - DocumentAdapterUITest.this.clearModel(); - } - }; - action.setEnabled(true); - return action; - } - - void clearModel() { - this.testModelHolder.setValue(null); - } - - private JButton buildRestoreModelButton() { - return new JButton(this.buildRestoreModelAction()); - } - - private Action buildRestoreModelAction() { - Action action = new AbstractAction("restore model") { - public void actionPerformed(ActionEvent event) { - DocumentAdapterUITest.this.restoreModel(); - } - }; - action.setEnabled(true); - return action; - } - - void restoreModel() { - this.testModelHolder.setValue(this.testModel); - } - - private JButton buildPrintModelButton() { - return new JButton(this.buildPrintModelAction()); - } - - private Action buildPrintModelAction() { - Action action = new AbstractAction("print model") { - public void actionPerformed(ActionEvent event) { - DocumentAdapterUITest.this.printModel(); - } - }; - action.setEnabled(true); - return action; - } - - void printModel() { - System.out.println("name: " + this.testModel.getName()); - } - - - private class TestModel extends AbstractModel { - private String name; - public static final String NAME_PROPERTY = "name"; - - public TestModel(String name) { - this.name = name; - } - public String getName() { - return this.name; - } - public void setName(String name) { - Object old = this.name; - this.name = name; - this.firePropertyChanged(NAME_PROPERTY, old, name); - } - @Override - public String toString() { - return "TestModel(" + this.getName() + ")"; - } - } - -} |