diff options
Diffstat (limited to 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java')
-rw-r--r-- | examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java deleted file mode 100644 index 13805f8014..0000000000 --- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet179.java +++ /dev/null @@ -1,136 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2005 IBM Corporation and others. - * 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.snippets; - -/* - * Text example snippet: verify input (format for date) - * - * For a list of all SWT example snippets see - * http://www.eclipse.org/swt/snippets/ - */ -import java.util.*; - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; - -public class Snippet179 { - -public static void main(String[] args) { - Display display = new Display(); - Shell shell = new Shell(display); - shell.setLayout(new GridLayout()); - final Text text = new Text(shell, SWT.BORDER); - text.setText("YYYY/MM/DD");; - final Calendar calendar = Calendar.getInstance(); - text.addListener(SWT.Verify, new Listener() { - boolean ignore; - public void handleEvent(Event e) { - if (ignore) return; - e.doit = false; - StringBuffer buffer = new StringBuffer(e.text); - char[] chars = new char[buffer.length()]; - buffer.getChars(0, chars.length, chars, 0); - if (e.character == '\b') { - for (int i = e.start; i < e.end; i++) { - switch (i) { - case 0: /* [Y]YYY */ - case 1: /* Y[Y]YY */ - case 2: /* YY[Y]Y */ - case 3: /* YYY[Y] */ { - buffer.append('Y'); break; - } - case 5: /* [M]M*/ - case 6: /* M[M] */{ - buffer.append('M'); break; - } - case 8: /* [D]D */ - case 9: /* D[D] */ { - buffer.append('D'); break; - } - case 4: /* YYYY[/]MM */ - case 7: /* MM[/]DD */ { - buffer.append('/'); break; - } - default: - return; - } - } - text.setSelection(e.start, e.start + buffer.length()); - ignore = true; - text.insert(buffer.toString()); - ignore = false; - text.setSelection(e.start, e.start); - return; - } - - int start = e.start; - if (start > 9) return; - int index = 0; - for (int i = 0; i < chars.length; i++) { - if (start + index == 4 || start + index == 7) { - if (chars[i] == '/') { - index++; - continue; - } - buffer.insert(index++, '/'); - } - if (chars[i] < '0' || '9' < chars[i]) return; - if (start + index == 5 && '1' < chars[i]) return; /* [M]M */ - if (start + index == 8 && '3' < chars[i]) return; /* [D]D */ - index++; - } - String newText = buffer.toString(); - int length = newText.length(); - StringBuffer date = new StringBuffer(text.getText()); - date.replace(e.start, e.start + length, newText); - calendar.set(Calendar.YEAR, 1901); - calendar.set(Calendar.MONTH, Calendar.JANUARY); - calendar.set(Calendar.DATE, 1); - String yyyy = date.substring(0, 4); - if (yyyy.indexOf('Y') == -1) { - int year = Integer.parseInt(yyyy); - calendar.set(Calendar.YEAR, year); - } - String mm = date.substring(5, 7); - if (mm.indexOf('M') == -1) { - int month = Integer.parseInt(mm) - 1; - int maxMonth = calendar.getActualMaximum(Calendar.MONTH); - if (0 > month || month > maxMonth) return; - calendar.set(Calendar.MONTH, month); - } - String dd = date.substring(8,10); - if (dd.indexOf('D') == -1) { - int day = Integer.parseInt(dd); - int maxDay = calendar.getActualMaximum(Calendar.DATE); - if (1 > day || day > maxDay) return; - calendar.set(Calendar.DATE, day); - } else { - if (calendar.get(Calendar.MONTH) == Calendar.FEBRUARY) { - char firstChar = date.charAt(8); - if (firstChar != 'D' && '2' < firstChar) return; - } - } - text.setSelection(e.start, e.start + length); - ignore = true; - text.insert(newText); - ignore = false; - } - }); - shell.pack(); - shell.open(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) - display.sleep(); - } - display.dispose(); -} -} |