Merge pull request #83 from kruland2607/master

Few changes from beta.
This commit is contained in:
kruland2607 2013-04-28 16:16:29 -07:00
commit 018aa36703
6 changed files with 48 additions and 10 deletions

View File

@ -1,3 +1,30 @@
OpenRocket 13.04 (2013-04-28):
--------------------------------
New Features:
* Added support for decals on rockets. Added two new 3d views - 3d finished and 3d unfinshed. Added support to export and
apply decals (images) to rocket components. Added ability to launch external graphics editor to edit decals and monitor
file for writes to update the rocket view.
* Added simulation of tumble recovery based on experimentation done by Sampo Niskane. This is particularly useful
for low power staged flights.
* Extended "motor configuration" concept to cover more properties. The concept was renamed "Flight Configuration" and
allows the user to override stage separation, recovery deployment, and motor ignition per flight configuration.
These configurations are stored in the ork file with each component. If no override is specified then the user specified
default is used (set in the component edit dialog). The flight configuration dialog was reworked to make it more
usable. The user selects the configuration in a drop down with buttons for "add", "delete" and "rename". After selecting
the configuration, the tabbed area below allows the user to change the configuration for this simulation.
* Allow simulation of stages without a motor. Users in the past have attempted to simulate separate recovery of payload
and booster by tricking OpenRocket using a dummy motor with trivial thrust curve. Now the user does not need to do this.
There is an example of this provided in TARC Payloader.ork and Boosted Dart.ork
* Simulate recovery of boosters. The simulation engine will create new FlightDataBranches for each stage after
separation. The data for the boosters begins at t=separation. The simulation plot allows the user to select
which stage's data to show (or all).
* Modified the zoom and pan controls in the simulation plot. Added zoom in, out, and reset buttons. Added
scroll with mouse wheel. If the alt key is used with either of these, only the domain is zoomed. Richard
contributed a more logical mouse controlled zoom - right click and drag will zoom (either domain, range or both).
OpenRocket 12.09.1 (2012-06-28):
--------------------------------

View File

@ -54,7 +54,7 @@ RocketPanel.FigTypeAct.Unfinished = 3D Unfinished
RocketPanel.lbl.Flightcfg = Flight configuration:
RocketPanel.but.FlightcfgEdit = Edit
RocketPanel.lbl.infoMessage = <html>Click to select &nbsp;&nbsp; Shift+click to select other &nbsp;&nbsp; Double-click to edit &nbsp;&nbsp; Click+drag to move
RocketPanel.lbl.ViewType = View Type:
! BasicFrame
BasicFrame.tab.Rocketdesign = Rocket design
@ -766,6 +766,7 @@ RocketCompCfg.tab.Figure = Figure
RocketCompCfg.tab.Figstyleopt = Figure style options
RocketCompCfg.tab.Comment = Comment
RocketCompCfg.tab.Specifyacomment = Specify a comment for the component
RocketCompCfg.tab.Appearance = Appearance
RocketCompCfg.lbl.Mass = Mass:
RocketCompCfg.lbl.Componentmass = Component mass:
RocketCompCfg.lbl.overriddento = (overridden to

View File

@ -257,6 +257,7 @@ public class AppearancePanel extends JPanel {
add(p, "span 3, growx, wrap");
final JButton editBtn = new JButton(trans.get("AppearanceCfg.but.edit"));
editBtn.setEnabled(ab.getImage() != null);
// Enable the editBtn only when the appearance builder has an Image assigned to it.
ab.addChangeListener(new StateChangeListener() {
@Override
public void stateChanged(EventObject e) {
@ -275,7 +276,6 @@ public class AppearancePanel extends JPanel {
}
});
mDefault.addEnableComponent(editBtn, false);
p.add(editBtn);
}

View File

@ -64,7 +64,7 @@ public class RocketComponentConfig extends JPanel {
protected final JTextField componentNameField;
protected JTextArea commentTextArea;
private final TextFieldListener textFieldListener;
private JPanel buttonPanel;
private JLabel infoLabel;
@ -106,10 +106,10 @@ public class RocketComponentConfig extends JPanel {
tabbedPane.addTab(trans.get("RocketCompCfg.tab.Override"), null, overrideTab(),
trans.get("RocketCompCfg.tab.MassandCGoverride"));
if (component.isMassive())
//// Appearance options
tabbedPane.addTab("Appearance", null, new AppearancePanel(document,component),
"Appearance Tool Tip");
//// Appearance options
tabbedPane.addTab(trans.get("RocketCompCfg.tab.Appearance"), null, new AppearancePanel(document, component),
"Appearance Tool Tip");
//// Comment and Specify a comment for the component
tabbedPane.addTab(trans.get("RocketCompCfg.tab.Comment"), null, commentTab(),

View File

@ -22,6 +22,7 @@ import java.net.URL;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.EventObject;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.ExecutionException;
@ -101,6 +102,7 @@ import net.sf.openrocket.util.BugException;
import net.sf.openrocket.util.MemoryManagement;
import net.sf.openrocket.util.MemoryManagement.MemoryData;
import net.sf.openrocket.util.Reflection;
import net.sf.openrocket.util.StateChangeListener;
import net.sf.openrocket.util.TestRockets;
public class BasicFrame extends JFrame {
@ -477,6 +479,16 @@ public class BasicFrame extends JFrame {
exportDecalAction();
}
});
item.setEnabled(document.getDecalList().size() > 0);
final JMenuItem exportMenuItem = item;
document.getRocket().addChangeListener(new StateChangeListener() {
@Override
public void stateChanged(EventObject e) {
exportMenuItem.setEnabled(document.getDecalList().size() > 0);
}
});
menu.add(item);

View File

@ -301,7 +301,7 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
}
}
};
add(new JLabel("View Type:"), "spanx, split");
add(new JLabel(trans.get("RocketPanel.lbl.ViewType")), "spanx, split");
add(new JComboBox(cm));
@ -368,8 +368,6 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
addExtras();
}
public RocketFigure getFigure() {
return figure;
}