forked from speed-dreams/speed-dreams-code
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:
parent
380f8ef39e
commit
98f433ef5f
3 changed files with 55 additions and 39 deletions
|
@ -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,13 +493,24 @@ public class EditorFrame extends JFrame
|
|||
shape.addToPrevious(previous);
|
||||
track.add(shape);
|
||||
|
||||
trackData.setSegments(track);
|
||||
trackData = null;
|
||||
trackData = new TrackData();
|
||||
|
||||
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.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);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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 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);
|
||||
String tmpPath = getPathTextField().getText();
|
||||
|
||||
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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue