GUI separate layer from resize control, and import osm default zoom
- use a bigger zoom for import since export in worldeidt will use meter as cubic size - separate resize from layer control - no need to specify BorderLayout.XXX for BoxLayout.
This commit is contained in:
@@ -293,8 +293,6 @@ implements StatusListener
|
|||||||
|
|
||||||
private MazeSettings settings = null;
|
private MazeSettings settings = null;
|
||||||
|
|
||||||
private JPanel resizecontrol = null;
|
|
||||||
|
|
||||||
private void setMazeName(String pName) {
|
private void setMazeName(String pName) {
|
||||||
MazeParamsFixed p = (MazeParamsFixed) params;
|
MazeParamsFixed p = (MazeParamsFixed) params;
|
||||||
p.setName(pName);
|
p.setName(pName);
|
||||||
@@ -375,7 +373,8 @@ implements StatusListener
|
|||||||
|
|
||||||
if ((filename.length() > 0)) {
|
if ((filename.length() > 0)) {
|
||||||
setMazeName(filename);
|
setMazeName(filename);
|
||||||
loadOsm(false);
|
// UTM 32T ? approx (long,lat) to meter
|
||||||
|
loadOsm(false, 78000,78000);
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -627,8 +626,19 @@ implements StatusListener
|
|||||||
add(controlPanel, BorderLayout.NORTH);
|
add(controlPanel, BorderLayout.NORTH);
|
||||||
|
|
||||||
// control display panel contains controls for display
|
// control display panel contains controls for display
|
||||||
// zoom , autozoom.
|
|
||||||
final JPanel controlDisplayPanel = new JPanel(new BorderLayout());
|
final JPanel controlDisplayPanel = new JPanel(new BorderLayout());
|
||||||
|
|
||||||
|
add(controlDisplayPanel);
|
||||||
|
// zoom , autozoom control
|
||||||
|
add(buildResizeControl());
|
||||||
|
// layers control
|
||||||
|
add(buildLayerControl());
|
||||||
|
add(settings);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private JPanel buildResizeControl()
|
||||||
|
{
|
||||||
final JCheckBox showAll = new JCheckBox("show all");
|
final JCheckBox showAll = new JCheckBox("show all");
|
||||||
showAll.addChangeListener(new ChangeListener() {
|
showAll.addChangeListener(new ChangeListener() {
|
||||||
public void stateChanged(ChangeEvent e) {
|
public void stateChanged(ChangeEvent e) {
|
||||||
@@ -648,23 +658,39 @@ implements StatusListener
|
|||||||
setAutoSize(autoSlide.isSelected());
|
setAutoSize(autoSlide.isSelected());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
final JSlider layerSlide = new JSlider( JSlider.HORIZONTAL, 0,10, 0);
|
|
||||||
|
JPanel resizecontrol = new JPanel(new FlowLayout());
|
||||||
|
resizecontrol.add(showAll);
|
||||||
|
resizecontrol.add(slider);
|
||||||
|
resizecontrol.add(autoSlide);
|
||||||
|
|
||||||
|
return resizecontrol;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private JPanel buildLayerControl()
|
||||||
|
{
|
||||||
|
|
||||||
|
int layers = 10;
|
||||||
|
|
||||||
|
final JTextField layersText = new JTextField("" + layers);
|
||||||
|
|
||||||
|
final JSlider layerSlide = new JSlider( JSlider.HORIZONTAL, 0,layers, 0);
|
||||||
layerSlide.addChangeListener(new ChangeListener() {
|
layerSlide.addChangeListener(new ChangeListener() {
|
||||||
public void stateChanged(ChangeEvent e) {
|
public void stateChanged(ChangeEvent e) {
|
||||||
int r = setLayer(layerSlide.getValue());
|
int r = setLayer(layerSlide.getValue());
|
||||||
//layerSlide.setMaximum(r);
|
//layerSlide.setMaximum(r);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
layerSlide.setMajorTickSpacing(1);
|
||||||
|
layerSlide.setPaintTicks(true);
|
||||||
|
|
||||||
resizecontrol = new JPanel(new FlowLayout());
|
JPanel layerControl = new JPanel(new FlowLayout());
|
||||||
resizecontrol.add(showAll);
|
layerControl.add(new JLabel("layers"));
|
||||||
resizecontrol.add(slider);
|
layerControl.add(layersText);
|
||||||
resizecontrol.add(autoSlide);
|
layerControl.add(layerSlide);
|
||||||
resizecontrol.add(layerSlide);
|
|
||||||
|
|
||||||
add(controlDisplayPanel, BorderLayout.SOUTH);
|
return layerControl;
|
||||||
add(resizecontrol, BorderLayout.WEST);
|
|
||||||
add(settings, BorderLayout.EAST);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -672,10 +698,6 @@ implements StatusListener
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
private JPanel getResizeControl() {
|
|
||||||
return resizecontrol;
|
|
||||||
}
|
|
||||||
|
|
||||||
private JPanel getGenerationControl() {
|
private JPanel getGenerationControl() {
|
||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
@@ -712,7 +734,7 @@ implements StatusListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadOsm(boolean add) {
|
private void loadOsm(boolean add, int mulx, int muly) {
|
||||||
if ( maze != null ) {
|
if ( maze != null ) {
|
||||||
new Thread() {
|
new Thread() {
|
||||||
@Override
|
@Override
|
||||||
@@ -723,7 +745,7 @@ implements StatusListener
|
|||||||
// TODO really use InputStream and not pathname
|
// TODO really use InputStream and not pathname
|
||||||
OsmReader reader = new OsmReader(infile.getCanonicalPath());
|
OsmReader reader = new OsmReader(infile.getCanonicalPath());
|
||||||
reader.read();
|
reader.read();
|
||||||
OsmToDrawing converter = new OsmToDrawing(reader, 25000,25000);
|
OsmToDrawing converter = new OsmToDrawing(reader, mulx,muly);
|
||||||
Drawing drawing = converter.getDrawing(reader.getWays());
|
Drawing drawing = converter.getDrawing(reader.getWays());
|
||||||
statusEnable = false;
|
statusEnable = false;
|
||||||
maze.addDrawing(drawing,add);
|
maze.addDrawing(drawing,add);
|
||||||
|
|||||||
Reference in New Issue
Block a user