trackeditor: fix entering negative values in slider
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9287 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 43e23f40b50792c31b8a47354dc72481eb29e7eb Former-commit-id: 2df3514f9b82b07b0ab8aba1be97cfcc9d9344df
This commit is contained in:
parent
393cf1b2ec
commit
2c0a55967a
1 changed files with 25 additions and 9 deletions
|
@ -192,7 +192,16 @@ public class SegmentSlider extends JPanel
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
String s = document.getText(0, document.getLength());
|
String s = document.getText(0, document.getLength());
|
||||||
if (!s.equals(""))
|
if (s.equals("-") || s.equals(""))
|
||||||
|
{
|
||||||
|
double oldValue = value;
|
||||||
|
setValueInternal(defaultValue);
|
||||||
|
if (Math.abs(oldValue - value) >= resolution)
|
||||||
|
{
|
||||||
|
valueChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (!s.equals(""))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -225,8 +234,8 @@ public class SegmentSlider extends JPanel
|
||||||
{
|
{
|
||||||
char c = e.getKeyChar();
|
char c = e.getKeyChar();
|
||||||
|
|
||||||
// check for valid digit or a single decimal point
|
// check for valid digit or a single decimal point or a minus when negative number allowed
|
||||||
if (!(Character.isDigit(c) || (!integerFormat && (c == '.' && !textField.getText().contains(".")))))
|
if (!(Character.isDigit(c) || (min < 0 && c == '-') || (!integerFormat && (c == '.' && !textField.getText().contains(".")))))
|
||||||
{
|
{
|
||||||
e.consume();
|
e.consume();
|
||||||
return;
|
return;
|
||||||
|
@ -520,7 +529,7 @@ public class SegmentSlider extends JPanel
|
||||||
value = val;
|
value = val;
|
||||||
setSliderValue(value);
|
setSliderValue(value);
|
||||||
double textValue = 0;
|
double textValue = 0;
|
||||||
if (!getTextField().getText().equals(""))
|
if (!getTextField().getText().equals("") && !getTextField().getText().equals("-"))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -676,14 +685,21 @@ public class SegmentSlider extends JPanel
|
||||||
{
|
{
|
||||||
if (!getTextField().getText().equals(""))
|
if (!getTextField().getText().equals(""))
|
||||||
{
|
{
|
||||||
try
|
if (getTextField().getText().equals("-"))
|
||||||
{
|
{
|
||||||
double tmp = Double.parseDouble(getTextField().getText());
|
setValueInternal(defaultValue);
|
||||||
setValueInternal(tmp);
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
else
|
||||||
{
|
{
|
||||||
e.printStackTrace();
|
try
|
||||||
|
{
|
||||||
|
double tmp = Double.parseDouble(getTextField().getText());
|
||||||
|
setValueInternal(tmp);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue