trackeditor: fix integer slider

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9278 30fe4595-0a0c-4342-8851-515496e4dcbd
This commit is contained in:
iobyte 2024-01-24 14:58:24 +00:00
parent 011c610fcd
commit 5194db3cd6
5 changed files with 38 additions and 35 deletions

View File

@ -495,7 +495,7 @@ public class CheckDialog extends JDialog
textArea.append(segmentInfo + "Height end right : " + heightEndRight + " doesn't match " + firstHeightStart + "\n");
}
}
else if (previous != null && hasHeightEnd)
else if (next == null && hasHeightEnd)
{
if (!Double.isNaN(firstHeightStartLeft) && firstHeightStartLeft != heightEnd)
{

View File

@ -401,7 +401,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (lengthSlider == null)
{
lengthSlider = new SegmentSlider(0.001, 1000, 0.001, 0.001, shape.getLength(), "Length", "", "Length", false);
lengthSlider = new SegmentSlider(0.001, 1000, 0.001, 0.001, shape.getLength(), "Length", "", "Length", false, false);
lengthSlider.setBounds(5, 64, 50, 390);
lengthSlider.addSliderListener(this);
}
@ -416,7 +416,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (gradeSlider == null)
{
gradeSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getGrade(), "Grade", "", "Grade", true);
gradeSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getGrade(), "Grade", "", "Grade", true, false);
gradeSlider.setBounds(225, 64, 50, 390);
gradeSlider.addSliderListener(this);
}
@ -431,7 +431,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (startTangentSlider == null)
{
startTangentSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getProfilStartTangent(), "Tangent", "Start", "ProfilStartTangent", true);
startTangentSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getProfilStartTangent(), "Tangent", "Start", "ProfilStartTangent", true, false);
startTangentSlider.setBounds(280, 64, 50, 390);
startTangentSlider.addSliderListener(this);
}
@ -446,7 +446,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (endTangentSlider == null)
{
endTangentSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getProfilEndTangent(), "Tangent", "End", "ProfilEndTangent", true);
endTangentSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getProfilEndTangent(), "Tangent", "End", "ProfilEndTangent", true, false);
endTangentSlider.setBounds(335, 64, 50, 390);
endTangentSlider.addSliderListener(this);
}
@ -461,7 +461,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (endTangentLeftSlider == null)
{
endTangentLeftSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getProfilEndTangentLeft(), "L Tangent", "End", "ProfilEndTangentLeft", true);
endTangentLeftSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getProfilEndTangentLeft(), "L Tangent", "End", "ProfilEndTangentLeft", true, false);
endTangentLeftSlider.setBounds(390, 64, 50, 390);
endTangentLeftSlider.addSliderListener(this);
}
@ -476,7 +476,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (endTangentRightSlider == null)
{
endTangentRightSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getProfilEndTangentRight(), "R Tangent", "End", "ProfilEndTangentRight", true);
endTangentRightSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getProfilEndTangentRight(), "R Tangent", "End", "ProfilEndTangentRight", true, false);
endTangentRightSlider.setBounds(445, 64, 50, 390);
endTangentRightSlider.addSliderListener(this);
}
@ -494,8 +494,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
int minSteps = 1;
if (!shape.getType().equals("str"))
minSteps = 2;
profilStepsSlider = new SegmentSlider(minSteps, 100, 1, 1, shape.getProfilSteps(), "Steps", "", "ProfilSteps", true);
profilStepsSlider.setIntegerFormat();
profilStepsSlider = new SegmentSlider(minSteps, 100, 1, 1, shape.getProfilSteps(), "Steps", "", "ProfilSteps", true, true);
profilStepsSlider.setBounds(500, 64, 50, 390);
profilStepsSlider.addSliderListener(this);
}
@ -510,7 +509,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (profilStepsLengthSlider == null)
{
profilStepsLengthSlider = new SegmentSlider(0, 100, 0, 0.001, shape.getProfilStepsLength(), "Steps", "Len", "ProfilStepsLength", true);
profilStepsLengthSlider = new SegmentSlider(0, 100, 0, 0.001, shape.getProfilStepsLength(), "Steps", "Len", "ProfilStepsLength", true, false);
profilStepsLengthSlider.setBounds(555, 64, 50, 390);
profilStepsLengthSlider.addSliderListener(this);
}
@ -525,7 +524,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (bankingStartSlider == null)
{
bankingStartSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getBankingStart(), "Banking", "Start", "BankingStart", true);
bankingStartSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getBankingStart(), "Banking", "Start", "BankingStart", true, false);
bankingStartSlider.setBounds(610, 64, 50, 390);
bankingStartSlider.addSliderListener(this);
}
@ -540,7 +539,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (bankingEndSlider == null)
{
bankingEndSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getBankingEnd(), "Banking", "End", "BankingEnd", true);
bankingEndSlider = new SegmentSlider(-45, 45, 0, 0.001, shape.getBankingEnd(), "Banking", "End", "BankingEnd", true, false);
bankingEndSlider.setBounds(665, 64, 50, 390);
bankingEndSlider.addSliderListener(this);
}
@ -555,7 +554,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (heightStartSlider == null)
{
heightStartSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightStart(), "Height", "Start", "HeightStart", true);
heightStartSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightStart(), "Height", "Start", "HeightStart", true, false);
heightStartSlider.setBounds(720, 64, 50, 390);
heightStartSlider.addSliderListener(this);
}
@ -570,7 +569,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (heightStartLeftSlider == null)
{
heightStartLeftSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightStartLeft(), "L Height", "Start", "HeightStartLeft", true);
heightStartLeftSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightStartLeft(), "L Height", "Start", "HeightStartLeft", true, false);
heightStartLeftSlider.setBounds(775, 64, 50, 390);
heightStartLeftSlider.addSliderListener(this);
}
@ -585,7 +584,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (heightStartRightSlider == null)
{
heightStartRightSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightStartRight(), "R Height", "Start", "HeightStartRight", true);
heightStartRightSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightStartRight(), "R Height", "Start", "HeightStartRight", true, false);
heightStartRightSlider.setBounds(830, 64, 50, 390);
heightStartRightSlider.addSliderListener(this);
}
@ -600,7 +599,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (heightEndSlider == null)
{
heightEndSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightEnd(), "Height", "End", "HeightEnd", true);
heightEndSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightEnd(), "Height", "End", "HeightEnd", true, false);
heightEndSlider.setBounds(885, 64, 50, 390);
heightEndSlider.addSliderListener(this);
}
@ -615,7 +614,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (heightEndLeftSlider == null)
{
heightEndLeftSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightEndLeft(), "L Height", "End", "HeightEndLeft", true);
heightEndLeftSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightEndLeft(), "L Height", "End", "HeightEndLeft", true, false);
heightEndLeftSlider.setBounds(940, 64, 50, 390);
heightEndLeftSlider.addSliderListener(this);
}
@ -630,7 +629,7 @@ public class SegmentEditorDlg extends JDialog implements SliderListener
{
if (heightEndRightSlider == null)
{
heightEndRightSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightEndRight(), "R Height", "End", "HeightEndRight", true);
heightEndRightSlider = new SegmentSlider(0, 200, 0, 0.001, shape.getHeightEndRight(), "R Height", "End", "HeightEndRight", true, false);
heightEndRightSlider.setBounds(995, 64, 50, 390);
heightEndRightSlider.addSliderListener(this);
}

View File

@ -557,7 +557,7 @@ public class SegmentSideProperties extends JPanel implements SliderListener
{
if (barrierHeightSlider == null)
{
barrierHeightSlider = new SegmentSlider(0, 50, 0, 0.001, side.getBarrierHeight(), "Height", "", "BarrierHeight", true);
barrierHeightSlider = new SegmentSlider(0, 50, 0, 0.001, side.getBarrierHeight(), "Height", "", "BarrierHeight", true, false);
barrierHeightSlider.setBounds(52, 25, 50, 290);
barrierHeightSlider.addSliderListener(this);
}
@ -573,7 +573,7 @@ public class SegmentSideProperties extends JPanel implements SliderListener
{
if (sideStartWidthSlider == null)
{
sideStartWidthSlider = new SegmentSlider(0, 100, 0, 0.001, side.getSideStartWidth(), "Width", "Start", "SideStartWidth", true);
sideStartWidthSlider = new SegmentSlider(0, 100, 0, 0.001, side.getSideStartWidth(), "Width", "Start", "SideStartWidth", true, false);
sideStartWidthSlider.setBounds(358, 25, 50, 290);
sideStartWidthSlider.addSliderListener(this);
}
@ -588,7 +588,7 @@ public class SegmentSideProperties extends JPanel implements SliderListener
{
if (borderWidthSlider == null)
{
borderWidthSlider = new SegmentSlider(0, 5, 0, 0.001, side.getBorderWidth(), "Width", "", "BorderWidth", true);
borderWidthSlider = new SegmentSlider(0, 5, 0, 0.001, side.getBorderWidth(), "Width", "", "BorderWidth", true, false);
borderWidthSlider.setBounds(720, 25, 50, 290);
borderWidthSlider.addSliderListener(this);
}
@ -603,7 +603,7 @@ public class SegmentSideProperties extends JPanel implements SliderListener
{
if (sideEndWidthSlider == null)
{
sideEndWidthSlider = new SegmentSlider(0, 100, 0, 0.001, side.getSideEndWidth(), "Width", "End", "SideEndWidth", true);
sideEndWidthSlider = new SegmentSlider(0, 100, 0, 0.001, side.getSideEndWidth(), "Width", "End", "SideEndWidth", true, false);
sideEndWidthSlider.setBounds(413, 25, 50, 290);
sideEndWidthSlider.addSliderListener(this);
}
@ -618,7 +618,7 @@ public class SegmentSideProperties extends JPanel implements SliderListener
{
if (barrierWidthSlider == null)
{
barrierWidthSlider = new SegmentSlider(0, 50, 0, 0.001, side.getBarrierWidth(), "Width", "", "BarrierWidth", true);
barrierWidthSlider = new SegmentSlider(0, 50, 0, 0.001, side.getBarrierWidth(), "Width", "", "BarrierWidth", true, false);
barrierWidthSlider.setBounds(107, 25, 50, 290);
barrierWidthSlider.addSliderListener(this);
}
@ -633,7 +633,7 @@ public class SegmentSideProperties extends JPanel implements SliderListener
{
if (borderHeightSlider == null)
{
borderHeightSlider = new SegmentSlider(0, 5, 0, 0.001, side.getBorderHeight(), "Height", "", "BorderHeight", true);
borderHeightSlider = new SegmentSlider(0, 5, 0, 0.001, side.getBorderHeight(), "Height", "", "BorderHeight", true, false);
borderHeightSlider.setBounds(665, 25, 50, 290);
borderHeightSlider.addSliderListener(this);
}

View File

@ -84,7 +84,7 @@ public class SegmentSlider extends JPanel
new SliderLink();
}
public SegmentSlider(double min, double max, double defaultValue, double resolution, double value, String section, String attr, String method, boolean optional)
public SegmentSlider(double min, double max, double defaultValue, double resolution, double value, String section, String attr, String method, boolean optional, boolean integerFormat)
{
super();
this.min = min;
@ -96,6 +96,7 @@ public class SegmentSlider extends JPanel
this.attr = attr;
this.method = method;
this.optional = optional;
this.integerFormat = integerFormat;
initialize();
new SliderLink();
setValue(value);
@ -108,9 +109,18 @@ public class SegmentSlider extends JPanel
private void initialize()
{
nf = NumberFormat.getNumberInstance(Locale.US);
nf.setMaximumFractionDigits(3);
nf.setMinimumFractionDigits(1);
nf.setGroupingUsed(false);
if (integerFormat)
{
nf.setMaximumFractionDigits(0);
nf.setMinimumFractionDigits(0);
}
else
{
nf.setMaximumFractionDigits(3);
nf.setMinimumFractionDigits(1);
}
attLabel = new JLabel();
sectionLabel = new JLabel();
this.setLayout(new SegmentSliderLayout());
@ -131,12 +141,6 @@ public class SegmentSlider extends JPanel
this.add(getSlider(), null);
}
public void setIntegerFormat()
{
integerFormat = true;
nf.setMaximumFractionDigits(0);
nf.setMinimumFractionDigits(0);
}
public boolean getIntegerFormat()
{
return integerFormat;

View File

@ -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.4.17";
public final String version = "1.4.18";
private String path;
private double imageScale = 1;