From 4982b9614516dde101c3e44c60a612b3bfd8d6fe Mon Sep 17 00:00:00 2001 From: DELL <DELL@WIN-3EOIPEE9ML1> Date: 星期三, 21 二月 2024 16:26:06 +0800 Subject: [PATCH] 新增IEDScout调试工具功能 --- iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/clientgui/databind/TextFieldDataBind.java | 186 +++++++++++++++++++++++----------------------- 1 files changed, 93 insertions(+), 93 deletions(-) diff --git a/iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/clientgui/databind/TextFieldDataBind.java b/iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/clientgui/databind/TextFieldDataBind.java index 734ea38..5bcef22 100644 --- a/iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/clientgui/databind/TextFieldDataBind.java +++ b/iec61850_forFoShanAES_Model/src/org/openmuc/openiec61850/clientgui/databind/TextFieldDataBind.java @@ -1,93 +1,93 @@ -/* - * Copyright 2011-17 Fraunhofer ISE, energy & meteo Systems GmbH and other contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - */ -package org.openmuc.openiec61850.clientgui.databind; - -import javax.swing.JComponent; -import javax.swing.JTextField; -import javax.swing.text.AttributeSet; -import javax.swing.text.BadLocationException; -import javax.swing.text.Document; -import javax.swing.text.DocumentFilter; -import javax.swing.text.PlainDocument; - -import org.openmuc.openiec61850.BasicDataAttribute; -import org.openmuc.openiec61850.BdaType; -import org.openmuc.openiec61850.clientgui.BasicDataBind; - -public abstract class TextFieldDataBind<E extends BasicDataAttribute> extends BasicDataBind<E> { - - private final DocumentFilter filter; - protected JTextField inputField; - - public TextFieldDataBind(E data, BdaType type, AbstractFilter filter) { - super(data, type); - this.filter = filter; - } - - @Override - protected JComponent init() { - inputField = new JTextField(); - PlainDocument doc = (PlainDocument) inputField.getDocument(); - doc.setDocumentFilter(filter); - resetImpl(); - return inputField; - } - - protected static abstract class AbstractFilter extends DocumentFilter { - @Override - public final void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) - throws BadLocationException { - - Document doc = fb.getDocument(); - StringBuilder sb = new StringBuilder(); - sb.append(doc.getText(0, doc.getLength())); - sb.insert(offset, string); - - if (test(sb.toString())) { - super.insertString(fb, offset, string, attr); - } - } - - @Override - public final void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) - throws BadLocationException { - - Document doc = fb.getDocument(); - StringBuilder sb = new StringBuilder(); - sb.append(doc.getText(0, doc.getLength())); - sb.replace(offset, offset + length, text); - - if (test(sb.toString())) { - super.replace(fb, offset, length, text, attrs); - } - } - - @Override - public final void remove(FilterBypass fb, int offset, int length) throws BadLocationException { - Document doc = fb.getDocument(); - StringBuilder sb = new StringBuilder(); - sb.append(doc.getText(0, doc.getLength())); - sb.delete(offset, offset + length); - - if (test(sb.toString())) { - super.remove(fb, offset, length); - } - } - - protected abstract boolean test(String text); - } -} +/* + * Copyright 2011-17 Fraunhofer ISE, energy & meteo Systems GmbH and other contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.openmuc.openiec61850.clientgui.databind; + +import javax.swing.JComponent; +import javax.swing.JTextField; +import javax.swing.text.AttributeSet; +import javax.swing.text.BadLocationException; +import javax.swing.text.Document; +import javax.swing.text.DocumentFilter; +import javax.swing.text.PlainDocument; + +import org.openmuc.openiec61850.BasicDataAttribute; +import org.openmuc.openiec61850.BdaType; +import org.openmuc.openiec61850.clientgui.BasicDataBind; + +public abstract class TextFieldDataBind<E extends BasicDataAttribute> extends BasicDataBind<E> { + + private final DocumentFilter filter; + protected JTextField inputField; + + public TextFieldDataBind(E data, BdaType type, AbstractFilter filter) { + super(data, type); + this.filter = filter; + } + + @Override + protected JComponent init() { + inputField = new JTextField(); + PlainDocument doc = (PlainDocument) inputField.getDocument(); + doc.setDocumentFilter(filter); + resetImpl(); + return inputField; + } + + protected static abstract class AbstractFilter extends DocumentFilter { + @Override + public final void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) + throws BadLocationException { + + Document doc = fb.getDocument(); + StringBuilder sb = new StringBuilder(); + sb.append(doc.getText(0, doc.getLength())); + sb.insert(offset, string); + + if (test(sb.toString())) { + super.insertString(fb, offset, string, attr); + } + } + + @Override + public final void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) + throws BadLocationException { + + Document doc = fb.getDocument(); + StringBuilder sb = new StringBuilder(); + sb.append(doc.getText(0, doc.getLength())); + sb.replace(offset, offset + length, text); + + if (test(sb.toString())) { + super.replace(fb, offset, length, text, attrs); + } + } + + @Override + public final void remove(FilterBypass fb, int offset, int length) throws BadLocationException { + Document doc = fb.getDocument(); + StringBuilder sb = new StringBuilder(); + sb.append(doc.getText(0, doc.getLength())); + sb.delete(offset, offset + length); + + if (test(sb.toString())) { + super.remove(fb, offset, length); + } + } + + protected abstract boolean test(String text); + } +} -- Gitblit v1.9.1