Prevent NPEs by disabling the Export menu item when no decals are on the
model. Also have the Edit button in AppearancePanel be enabled only by the addition of an image on the AppearanceBuilder.
This commit is contained in:
parent
0607823f63
commit
793c7dd3bb
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user