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 JPanel resizecontrol = null;
|
||||
|
||||
private void setMazeName(String pName) {
|
||||
MazeParamsFixed p = (MazeParamsFixed) params;
|
||||
p.setName(pName);
|
||||
@@ -375,7 +373,8 @@ implements StatusListener
|
||||
|
||||
if ((filename.length() > 0)) {
|
||||
setMazeName(filename);
|
||||
loadOsm(false);
|
||||
// UTM 32T ? approx (long,lat) to meter
|
||||
loadOsm(false, 78000,78000);
|
||||
refresh();
|
||||
}
|
||||
|
||||
@@ -627,8 +626,19 @@ implements StatusListener
|
||||
add(controlPanel, BorderLayout.NORTH);
|
||||
|
||||
// control display panel contains controls for display
|
||||
// zoom , autozoom.
|
||||
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");
|
||||
showAll.addChangeListener(new ChangeListener() {
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
@@ -648,23 +658,39 @@ implements StatusListener
|
||||
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() {
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
int r = setLayer(layerSlide.getValue());
|
||||
//layerSlide.setMaximum(r);
|
||||
}
|
||||
});
|
||||
layerSlide.setMajorTickSpacing(1);
|
||||
layerSlide.setPaintTicks(true);
|
||||
|
||||
resizecontrol = new JPanel(new FlowLayout());
|
||||
resizecontrol.add(showAll);
|
||||
resizecontrol.add(slider);
|
||||
resizecontrol.add(autoSlide);
|
||||
resizecontrol.add(layerSlide);
|
||||
JPanel layerControl = new JPanel(new FlowLayout());
|
||||
layerControl.add(new JLabel("layers"));
|
||||
layerControl.add(layersText);
|
||||
layerControl.add(layerSlide);
|
||||
|
||||
add(controlDisplayPanel, BorderLayout.SOUTH);
|
||||
add(resizecontrol, BorderLayout.WEST);
|
||||
add(settings, BorderLayout.EAST);
|
||||
return layerControl;
|
||||
|
||||
}
|
||||
|
||||
@@ -672,10 +698,6 @@ implements StatusListener
|
||||
return this;
|
||||
}
|
||||
|
||||
private JPanel getResizeControl() {
|
||||
return resizecontrol;
|
||||
}
|
||||
|
||||
private JPanel getGenerationControl() {
|
||||
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 ) {
|
||||
new Thread() {
|
||||
@Override
|
||||
@@ -723,7 +745,7 @@ implements StatusListener
|
||||
// TODO really use InputStream and not pathname
|
||||
OsmReader reader = new OsmReader(infile.getCanonicalPath());
|
||||
reader.read();
|
||||
OsmToDrawing converter = new OsmToDrawing(reader, 25000,25000);
|
||||
OsmToDrawing converter = new OsmToDrawing(reader, mulx,muly);
|
||||
Drawing drawing = converter.getDrawing(reader.getWays());
|
||||
statusEnable = false;
|
||||
maze.addDrawing(drawing,add);
|
||||
|
||||
Reference in New Issue
Block a user