Changed the loader to pull *.rkt files from zip containers.
Modified the BasicFrame so it doesn't automatically open the Rocket configuration dialog when opening a new rocket. Unified the behavior for replacing (automatically closing) the base frame when opening a file, loading an example, or picking from the Most-recently-used list.
This commit is contained in:
parent
8b9d866f90
commit
b9944d1803
@ -1,3 +1,12 @@
|
|||||||
|
2012-08-01 Kevin Ruland
|
||||||
|
|
||||||
|
* Changed the loader to pull *.rkt files from zip containers.
|
||||||
|
|
||||||
|
* Modified the BasicFrame so it doesn't automatically open the Rocket configuration dialog when opening a new rocket.
|
||||||
|
|
||||||
|
* Unified the behavior for replacing (automatically closing) the base frame when opening a file, loading an example,
|
||||||
|
or picking from the Most-recently-used list.
|
||||||
|
|
||||||
2012-07-31 Kevin Ruland
|
2012-07-31 Kevin Ruland
|
||||||
|
|
||||||
* Changed the ORK file format to save "keys" for materials and flight data as well as the localized
|
* Changed the ORK file format to save "keys" for materials and flight data as well as the localized
|
||||||
|
@ -78,6 +78,9 @@ public class GeneralRocketLoader extends AbstractRocketLoader {
|
|||||||
OpenRocketDocument doc = loadFromStream(in, motorFinder);
|
OpenRocketDocument doc = loadFromStream(in, motorFinder);
|
||||||
doc.getDefaultStorageOptions().setCompressionEnabled(true);
|
doc.getDefaultStorageOptions().setCompressionEnabled(true);
|
||||||
return doc;
|
return doc;
|
||||||
|
} else if ( entry.getName().matches(".*\\.[rR][kK][tT]$")) {
|
||||||
|
OpenRocketDocument doc = loadFromStream(in, motorFinder);
|
||||||
|
return doc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -165,17 +165,6 @@ public class BasicFrame extends JFrame {
|
|||||||
this.rocket = document.getRocket();
|
this.rocket = document.getRocket();
|
||||||
this.rocket.getDefaultConfiguration().setAllStages();
|
this.rocket.getDefaultConfiguration().setAllStages();
|
||||||
|
|
||||||
|
|
||||||
// Set replaceable flag to false at first modification
|
|
||||||
rocket.addComponentChangeListener(new ComponentChangeListener() {
|
|
||||||
@Override
|
|
||||||
public void componentChanged(ComponentChangeEvent e) {
|
|
||||||
replaceable = false;
|
|
||||||
BasicFrame.this.rocket.removeComponentChangeListener(this);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// Create the component tree selection model that will be used
|
// Create the component tree selection model that will be used
|
||||||
componentSelectionModel = new DefaultTreeSelectionModel();
|
componentSelectionModel = new DefaultTreeSelectionModel();
|
||||||
componentSelectionModel.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
|
componentSelectionModel.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
|
||||||
@ -417,10 +406,7 @@ public class BasicFrame extends JFrame {
|
|||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
log.user("New... selected");
|
log.user("New... selected");
|
||||||
newAction();
|
newAction();
|
||||||
if (replaceable) {
|
closeIfReplaceable();
|
||||||
log.info("Closing previous window");
|
|
||||||
closeAction();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
menu.add(item);
|
menu.add(item);
|
||||||
@ -1045,23 +1031,24 @@ public class BasicFrame extends JFrame {
|
|||||||
for (File file : files) {
|
for (File file : files) {
|
||||||
log.info("Opening file: " + file);
|
log.info("Opening file: " + file);
|
||||||
if (open(file, this)) {
|
if (open(file, this)) {
|
||||||
|
|
||||||
// Close previous window if replacing
|
|
||||||
if (replaceable && document.isSaved()) {
|
|
||||||
// We are replacing the frame, make new window have current location
|
|
||||||
BasicFrame newFrame = frames.get(frames.size() - 1);
|
|
||||||
newFrame.setLocation(this.getLocation());
|
|
||||||
|
|
||||||
log.info("Closing window because it is replaceable");
|
|
||||||
closeAction();
|
|
||||||
replaceable = false;
|
|
||||||
}
|
|
||||||
MRUDesignFile opts = MRUDesignFile.getInstance();
|
MRUDesignFile opts = MRUDesignFile.getInstance();
|
||||||
opts.addFile(file.getAbsolutePath());
|
opts.addFile(file.getAbsolutePath());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void closeIfReplaceable() {
|
||||||
|
// Close previous window if replacing
|
||||||
|
if (replaceable && document.isSaved()) {
|
||||||
|
// We are replacing the frame, make new window have current location
|
||||||
|
BasicFrame newFrame = frames.get(frames.size() - 1);
|
||||||
|
newFrame.setLocation(this.getLocation());
|
||||||
|
|
||||||
|
log.info("Closing window because it is replaceable");
|
||||||
|
closeAction();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Open a file based on a URL.
|
* Open a file based on a URL.
|
||||||
* @param url the file to open.
|
* @param url the file to open.
|
||||||
@ -1103,13 +1090,7 @@ public class BasicFrame extends JFrame {
|
|||||||
log.info("Opening file from url=" + url + " filename=" + filename);
|
log.info("Opening file from url=" + url + " filename=" + filename);
|
||||||
try {
|
try {
|
||||||
InputStream is = url.openStream();
|
InputStream is = url.openStream();
|
||||||
if (open(is, filename, parent)) {
|
open(is, filename, parent);
|
||||||
// Close previous window if replacing
|
|
||||||
if (parent.replaceable && parent.document.isSaved()) {
|
|
||||||
parent.closeAction();
|
|
||||||
parent.replaceable = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.warn("Error opening file" + e);
|
log.warn("Error opening file" + e);
|
||||||
JOptionPane.showMessageDialog(parent,
|
JOptionPane.showMessageDialog(parent,
|
||||||
@ -1240,6 +1221,9 @@ public class BasicFrame extends JFrame {
|
|||||||
BasicFrame frame = new BasicFrame(doc);
|
BasicFrame frame = new BasicFrame(doc);
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
|
|
||||||
|
if ( parent != null && parent instanceof BasicFrame ) {
|
||||||
|
((BasicFrame)parent).closeIfReplaceable();
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1473,7 +1457,8 @@ public class BasicFrame extends JFrame {
|
|||||||
BasicFrame frame = new BasicFrame(doc);
|
BasicFrame frame = new BasicFrame(doc);
|
||||||
frame.replaceable = true;
|
frame.replaceable = true;
|
||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
ComponentConfigDialog.showDialog(frame, doc, rocket);
|
// FIXME - kruland commented this out - I don't like it.
|
||||||
|
//ComponentConfigDialog.showDialog(frame, doc, rocket);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user