trackeditor: fix segment editor slider not updating track
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@8904 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 3f12c98ad152db62b60f8a550acc654337d92d18 Former-commit-id: ccba89f639017a95109b8d4f580dcca8c0c108cb
This commit is contained in:
parent
6a10759c94
commit
029e4057ad
2 changed files with 41 additions and 13 deletions
|
@ -23,6 +23,7 @@ package gui.segment;
|
|||
import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.text.NumberFormat;
|
||||
import java.util.Locale;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.swing.JCheckBox;
|
||||
|
@ -80,7 +81,7 @@ public class SegmentSlider extends JPanel
|
|||
*/
|
||||
private void initialize()
|
||||
{
|
||||
nf = NumberFormat.getNumberInstance();
|
||||
nf = NumberFormat.getNumberInstance(Locale.US);
|
||||
nf.setMaximumFractionDigits(3);
|
||||
nf.setMinimumFractionDigits(1);
|
||||
nf.setGroupingUsed(false);
|
||||
|
@ -116,6 +117,20 @@ public class SegmentSlider extends JPanel
|
|||
{
|
||||
textField = new JTextField();
|
||||
textField.setHorizontalAlignment(JTextField.LEFT);
|
||||
textField.addKeyListener(new KeyAdapter()
|
||||
{
|
||||
public void keyTyped(KeyEvent e)
|
||||
{
|
||||
char c = e.getKeyChar();
|
||||
|
||||
// check for valid digit or a single decimal point
|
||||
if (!(Character.isDigit(c) || (c == '.' && !textField.getText().contains("."))))
|
||||
{
|
||||
e.consume();
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return textField;
|
||||
}
|
||||
|
@ -375,7 +390,14 @@ public class SegmentSlider extends JPanel
|
|||
double textValue = 0;
|
||||
if (!getTextField().getText().equals(""))
|
||||
{
|
||||
textValue = Double.parseDouble(getTextField().getText());
|
||||
try
|
||||
{
|
||||
textValue = Double.parseDouble(getTextField().getText());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (Math.abs(textValue - value) >= 0.001)
|
||||
{
|
||||
|
@ -483,21 +505,21 @@ public class SegmentSlider extends JPanel
|
|||
|
||||
public void sliderChanged()
|
||||
{
|
||||
try
|
||||
if (!getTextField().getText().equals(""))
|
||||
{
|
||||
if (!getTextField().getText().equals(""))
|
||||
double tmp1 = getSlider().getValue();
|
||||
try
|
||||
{
|
||||
double tmp1 = getSlider().getValue();
|
||||
double tmp2 = Double.parseDouble(getTextField().getText());
|
||||
if (tmp1 != tmp2 && !(tmp2 >= tmp1 && tmp2 < (tmp1 + 1)))
|
||||
{
|
||||
setValueInternal(getSlider().getValue());
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -508,10 +530,16 @@ public class SegmentSlider extends JPanel
|
|||
{
|
||||
if (!getTextField().getText().equals(""))
|
||||
{
|
||||
double tmp = Double.parseDouble(getTextField().getText()) * multCoeff;
|
||||
setValueInternal(tmp);
|
||||
try
|
||||
{
|
||||
double tmp = Double.parseDouble(getTextField().getText()) * multCoeff;
|
||||
setValueInternal(tmp);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} // @jve:decl-index=0:visual-constraint="10,10"
|
||||
|
|
|
@ -34,7 +34,7 @@ public class Properties
|
|||
private static Properties instance = new Properties();
|
||||
private Vector<ActionListener> propertiesListeners = new Vector<ActionListener>();
|
||||
public final String title = "sd2-trackeditor";
|
||||
public final String version = "1.2.8";
|
||||
public final String version = "1.2.9";
|
||||
private String path;
|
||||
|
||||
private double imageScale = 1;
|
||||
|
|
Loading…
Reference in a new issue