mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-25 14:41:08 +00:00
Multiple selection via dragging a rectangle or via Ctrl.
This commit is contained in:
@@ -36,6 +36,7 @@ import java.awt.event.MouseEvent;
|
||||
import java.awt.geom.Line2D;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
@@ -59,6 +60,8 @@ public abstract class AbstractPropertyField<E> extends JPanel {
|
||||
|
||||
private AWTEventListener aeListener;
|
||||
|
||||
private boolean undetermined = false;
|
||||
|
||||
public void addValidation(PropertyValidationInteface<E> validation) {
|
||||
validations.add(validation);
|
||||
}
|
||||
@@ -173,6 +176,7 @@ public abstract class AbstractPropertyField<E> extends JPanel {
|
||||
cancelEdit();
|
||||
return;
|
||||
}
|
||||
undetermined = false;
|
||||
readLabel.setText(valueToText(value));
|
||||
((CardLayout)AbstractPropertyField.this.getLayout()).show(AbstractPropertyField.this, CARD_READ);
|
||||
fireChange();
|
||||
@@ -180,15 +184,37 @@ public abstract class AbstractPropertyField<E> extends JPanel {
|
||||
|
||||
private void cancelEdit() {
|
||||
Toolkit.getDefaultToolkit().removeAWTEventListener(aeListener);
|
||||
writeField.setText(readLabel.getText());
|
||||
if (undetermined) {
|
||||
writeField.setText("");
|
||||
} else {
|
||||
writeField.setText(readLabel.getText());
|
||||
}
|
||||
((CardLayout)AbstractPropertyField.this.getLayout()).show(AbstractPropertyField.this, CARD_READ);
|
||||
}
|
||||
|
||||
public E getValue() {
|
||||
public E getValue() {
|
||||
if (undetermined) {
|
||||
return null;
|
||||
}
|
||||
return textToValue(writeField.getText());
|
||||
}
|
||||
|
||||
public void setValue(Set<E> value) {
|
||||
if (value.size() != 1) {
|
||||
setValue((E) null);
|
||||
} else {
|
||||
setValue(value.iterator().next());
|
||||
}
|
||||
}
|
||||
|
||||
public void setValue(E value) {
|
||||
if (value == null) {
|
||||
readLabel.setText("-");
|
||||
writeField.setText("");
|
||||
undetermined = true;
|
||||
fireChange();
|
||||
return;
|
||||
}
|
||||
String text = valueToText(value);
|
||||
readLabel.setText(text);
|
||||
writeField.setText(text);
|
||||
|
||||
Reference in New Issue
Block a user