trackeditor: fix new project

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@8294 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: 9be0aeab8bd8ed73cf819bfba3b3364bf2f85cc8
Former-commit-id: beb86e90d4ad0efc6d8a260072e1ab8ea1d1cca1
This commit is contained in:
iobyte 2022-07-03 14:31:07 +00:00
parent 380f8ef39e
commit 98f433ef5f
3 changed files with 55 additions and 39 deletions

View file

@ -188,6 +188,17 @@ public class EditorFrame extends JFrame
private TrackData trackData = null;
public class NewProjectInfo
{
public String name;
public String category;
public String subcategory;
public int version;
public String path;
public String author;
public String description;
}
public TrackData getTrackData()
{
return trackData;
@ -406,13 +417,15 @@ public class EditorFrame extends JFrame
*/
protected void newProjectDialog()
{
NewProjectDialog newProject = new NewProjectDialog(this);
NewProjectInfo newProjectInfo = new NewProjectInfo();
NewProjectDialog newProject = new NewProjectDialog(this, newProjectInfo);
newProject.setVisible(true);
if (NewProjectDialog.APPROVE)
{
try
{
createNewCircuit();
createNewCircuit(newProjectInfo);
} catch (Exception e1)
{
e1.printStackTrace();
@ -424,7 +437,7 @@ public class EditorFrame extends JFrame
/**
*
*/
private void createNewCircuit()
private void createNewCircuit(NewProjectInfo newProjectInfo)
{
Segment shape;
Segment previous = null;
@ -480,14 +493,25 @@ public class EditorFrame extends JFrame
shape.addToPrevious(previous);
track.add(shape);
trackData.setSegments(track);
trackData = null;
trackData = new TrackData();
trackData.getHeader().setName(newProjectInfo.name);
trackData.getHeader().setCategory(newProjectInfo.category);
trackData.getHeader().setSubcategory(newProjectInfo.subcategory);
trackData.getHeader().setVersion(newProjectInfo.version);
Editor.getProperties().setPath(newProjectInfo.path);
trackData.getHeader().setAuthor(newProjectInfo.author);
trackData.getHeader().setDescription(newProjectInfo.description);
getTrackData().getMainTrack().setProfilStepsLength(MainTrack.DEFAULT_PROFIL_STEPS_LENGTH);
getTrackData().getMainTrack().setWidth(MainTrack.DEFAULT_WIDTH);
getTrackData().getMainTrack().setSurface(MainTrack.DEFAULT_SURFACE);
getTrackData().getMainTrack().getLeft().setNewTrackDefaults();
getTrackData().getMainTrack().getRight().setNewTrackDefaults();
}
trackData.getMainTrack().setProfilStepsLength(MainTrack.DEFAULT_PROFIL_STEPS_LENGTH);
trackData.getMainTrack().setWidth(MainTrack.DEFAULT_WIDTH);
trackData.getMainTrack().setSurface(MainTrack.DEFAULT_SURFACE);
trackData.getMainTrack().getLeft().setNewTrackDefaults();
trackData.getMainTrack().getRight().setNewTrackDefaults();
trackData.setSegments(track);
}
/**
* @return Returns the prj.

View file

@ -20,7 +20,6 @@
*/
package gui;
import java.awt.Frame;
import java.io.File;
import javax.swing.JButton;
@ -31,7 +30,6 @@ import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import utils.Editor;
/**
* @author babis
*
@ -62,15 +60,18 @@ public class NewProjectDialog extends JDialog
private JLabel descriptionLabel = null;
private JTextField descriptionTextField = null;
private EditorFrame.NewProjectInfo newProjectInfo;
private final String sep = System.getProperty("file.separator");
/**
*
*/
public NewProjectDialog(Frame editorFrame)
public NewProjectDialog(EditorFrame editorFrame, EditorFrame.NewProjectInfo newProjectInfo)
{
super();
this.editorFrame = (EditorFrame) editorFrame;
this.editorFrame = editorFrame;
this.newProjectInfo = newProjectInfo;
initialize();
}
/**
@ -173,7 +174,7 @@ public class NewProjectDialog extends JDialog
String[] items =
{"circuit", "development", "dirt", "gprix", "karting", "oval", "road", "speedway", "test"};
trackCategoryComboBox = new JComboBox<String>(items);
trackCategoryComboBox.setSelectedItem(editorFrame.getTrackData().getHeader().getCategory());
trackCategoryComboBox.setSelectedItem("road");
trackCategoryComboBox.setBounds(145, 37, 170, 23);
trackCategoryComboBox.addActionListener(new java.awt.event.ActionListener()
{
@ -197,10 +198,7 @@ public class NewProjectDialog extends JDialog
String[] items =
{"none", "short", "long"};
trackSubcategoryComboBox = new JComboBox<String>(items);
String subcategory = editorFrame.getTrackData().getHeader().getSubcategory();
if (subcategory == null)
subcategory = "none";
trackSubcategoryComboBox.setSelectedItem(subcategory);
trackSubcategoryComboBox.setSelectedItem("none");
trackSubcategoryComboBox.setBounds(145, 64, 170, 23);
trackSubcategoryComboBox.addActionListener(new java.awt.event.ActionListener()
{
@ -224,7 +222,7 @@ public class NewProjectDialog extends JDialog
String[] items =
{"3", "4", "5"};
trackVersionComboBox = new JComboBox<String>(items);
trackVersionComboBox.setSelectedItem(editorFrame.getTrackData().getHeader().getVersion() + "");
trackVersionComboBox.setSelectedItem("4");
trackVersionComboBox.setBounds(145, 91, 170, 23);
trackVersionComboBox.addActionListener(new java.awt.event.ActionListener()
{
@ -375,29 +373,25 @@ public class NewProjectDialog extends JDialog
*/
protected void exit()
{
String tmpName = getProjectNameTextField().getText();
String tmpPath = getPathTextField().getText();
String tmpName = getProjectNameTextField().getText();
editorFrame.getTrackData().getHeader().setName(tmpName);
Editor.getProperties().setPath(tmpPath + sep + tmpName);
int index = tmpPath.lastIndexOf(sep) + 1;
String category = tmpPath.substring(index);
if (category == getTrackCategoryComboBox().getSelectedItem())
editorFrame.getTrackData().getHeader().setCategory((String) getTrackCategoryComboBox().getSelectedItem());
File path = new File(tmpPath + sep + tmpName);
if (!path.exists())
File projectPath = new File(tmpPath + sep + tmpName);
if (!projectPath.exists())
{
path.mkdirs();
projectPath.mkdirs();
}
newProjectInfo.name = tmpName;
newProjectInfo.category = (String) getTrackCategoryComboBox().getSelectedItem();
String subcategory = (String) getTrackSubcategoryComboBox().getSelectedItem();
if (subcategory != "none")
editorFrame.getTrackData().getHeader().setSubcategory(subcategory);
else
editorFrame.getTrackData().getHeader().setSubcategory(null);
editorFrame.getTrackData().getHeader().setAuthor(this.getAuthorTextField().getText());
editorFrame.getTrackData().getHeader().setDescription(this.getDescriptionTextField().getText());
editorFrame.getTrackData().getHeader().setVersion(Integer.parseInt((String) getTrackVersionComboBox().getSelectedItem()));
newProjectInfo.subcategory = subcategory;
newProjectInfo.version = Integer.parseInt((String) getTrackVersionComboBox().getSelectedItem());
newProjectInfo.path = tmpPath + sep + tmpName;
newProjectInfo.author = getAuthorTextField().getText();
newProjectInfo.description = getDescriptionTextField().getText();
APPROVE = true;
cancel();
}

View file

@ -22,9 +22,7 @@ package gui.properties;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JTextField;