[#2151] Update the ruler unit upon a unit change in prefs
This commit is contained in:
parent
6084ba6512
commit
b1cf701448
@ -97,6 +97,7 @@ public class PreferencesDialog extends JDialog {
|
|||||||
if (parent != null) {
|
if (parent != null) {
|
||||||
parent.getRocketPanel().updateExtras();
|
parent.getRocketPanel().updateExtras();
|
||||||
parent.getRocketPanel().updateFigures();
|
parent.getRocketPanel().updateFigures();
|
||||||
|
parent.getRocketPanel().updateRulers();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -271,6 +271,15 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
|
|||||||
figure3d.updateFigure();
|
figure3d.updateFigure();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the rulers of the rocket panel to the currently selected default unit.
|
||||||
|
*/
|
||||||
|
public void updateRulers() {
|
||||||
|
scrollPane.updateRulerUnit();
|
||||||
|
scrollPane.revalidate();
|
||||||
|
scrollPane.repaint();
|
||||||
|
}
|
||||||
|
|
||||||
private void go3D() {
|
private void go3D() {
|
||||||
if (is3d)
|
if (is3d)
|
||||||
return;
|
return;
|
||||||
|
@ -15,6 +15,7 @@ import java.awt.event.MouseEvent;
|
|||||||
import java.awt.event.MouseListener;
|
import java.awt.event.MouseListener;
|
||||||
import java.awt.event.MouseMotionListener;
|
import java.awt.event.MouseMotionListener;
|
||||||
import java.awt.geom.Point2D;
|
import java.awt.geom.Point2D;
|
||||||
|
import java.util.EventObject;
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
@ -56,6 +57,7 @@ public class ScaleScrollPane extends JScrollPane
|
|||||||
private final AbstractScaleFigure figure;
|
private final AbstractScaleFigure figure;
|
||||||
|
|
||||||
private DoubleModel rulerUnit;
|
private DoubleModel rulerUnit;
|
||||||
|
private UnitSelector unitSelector;
|
||||||
private Ruler horizontalRuler;
|
private Ruler horizontalRuler;
|
||||||
private Ruler verticalRuler;
|
private Ruler verticalRuler;
|
||||||
|
|
||||||
@ -83,7 +85,7 @@ public class ScaleScrollPane extends JScrollPane
|
|||||||
|
|
||||||
this.component = component;
|
this.component = component;
|
||||||
this.figure = (AbstractScaleFigure) component;
|
this.figure = (AbstractScaleFigure) component;
|
||||||
|
|
||||||
rulerUnit = new DoubleModel(0.0, UnitGroup.UNITS_LENGTH);
|
rulerUnit = new DoubleModel(0.0, UnitGroup.UNITS_LENGTH);
|
||||||
rulerUnit.addChangeListener(new ChangeListener() {
|
rulerUnit.addChangeListener(new ChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -95,10 +97,10 @@ public class ScaleScrollPane extends JScrollPane
|
|||||||
verticalRuler = new Ruler(Ruler.VERTICAL);
|
verticalRuler = new Ruler(Ruler.VERTICAL);
|
||||||
this.setColumnHeaderView(horizontalRuler);
|
this.setColumnHeaderView(horizontalRuler);
|
||||||
this.setRowHeaderView(verticalRuler);
|
this.setRowHeaderView(verticalRuler);
|
||||||
|
|
||||||
UnitSelector selector = new UnitSelector(rulerUnit);
|
unitSelector = new UnitSelector(rulerUnit);
|
||||||
selector.setFont(new Font("SansSerif", Font.PLAIN, 8));
|
unitSelector.setFont(new Font("SansSerif", Font.PLAIN, 8));
|
||||||
this.setCorner(JScrollPane.UPPER_LEFT_CORNER, selector);
|
this.setCorner(JScrollPane.UPPER_LEFT_CORNER, unitSelector);
|
||||||
|
|
||||||
this.setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY));
|
this.setBorder(BorderFactory.createLineBorder(Color.LIGHT_GRAY));
|
||||||
|
|
||||||
@ -176,6 +178,14 @@ public class ScaleScrollPane extends JScrollPane
|
|||||||
public Unit getCurrentUnit() {
|
public Unit getCurrentUnit() {
|
||||||
return rulerUnit.getCurrentUnit();
|
return rulerUnit.getCurrentUnit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the units of the ruler to the default units of the current unit group.
|
||||||
|
*/
|
||||||
|
public void updateRulerUnit() {
|
||||||
|
rulerUnit.setCurrentUnit(UnitGroup.UNITS_LENGTH.getDefaultUnit());
|
||||||
|
unitSelector.stateChanged(new EventObject(this));
|
||||||
|
}
|
||||||
|
|
||||||
public String toViewportString(){
|
public String toViewportString(){
|
||||||
Rectangle view = this.getViewport().getViewRect();
|
Rectangle view = this.getViewport().getViewRect();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user