use of megamek.common.Entity in project megameklab by MegaMek.
the class MenuBarCreator method jMenuGetUnitValidationFromFile_actionPerformed.
private void jMenuGetUnitValidationFromFile_actionPerformed() {
Entity tempEntity = null;
String filePathName = System.getProperty("user.dir").toString() + "/data/mechfiles/";
File unitFile = new File(filePathName);
JFileChooser f = new JFileChooser(filePathName);
f.setLocation(parentFrame.getLocation().x + 150, parentFrame.getLocation().y + 100);
f.setDialogTitle("Choose Unit");
f.setDialogType(JFileChooser.OPEN_DIALOG);
f.setMultiSelectionEnabled(false);
FileNameExtensionFilter filter = new FileNameExtensionFilter("Unit Files", "blk", "mtf", "hmp");
// Add a filter for mul files
f.setFileFilter(filter);
int returnVal = f.showOpenDialog(parentFrame);
if ((returnVal != JFileChooser.APPROVE_OPTION) || (f.getSelectedFile() == null)) {
// I want a file, y'know!
return;
}
unitFile = f.getSelectedFile();
try {
tempEntity = new MechFileParser(unitFile).getEntity();
} catch (Exception ex) {
JOptionPane.showMessageDialog(parentFrame, String.format("Warning:Invalid unit, it might load incorrectly!\n%1$s", ex.getMessage()));
} finally {
UnitUtil.showValidation(tempEntity, parentFrame);
}
}
use of megamek.common.Entity in project megameklab by MegaMek.
the class MenuBarCreator method jMenuGetUnitBVFromFile_actionPerformed.
private void jMenuGetUnitBVFromFile_actionPerformed() {
Entity tempEntity = null;
String filePathName = System.getProperty("user.dir").toString() + "/data/mechfiles/";
File unitFile = new File(filePathName);
JFileChooser f = new JFileChooser(filePathName);
f.setLocation(parentFrame.getLocation().x + 150, parentFrame.getLocation().y + 100);
f.setDialogTitle("Choose Unit");
f.setDialogType(JFileChooser.OPEN_DIALOG);
f.setMultiSelectionEnabled(false);
FileNameExtensionFilter filter = new FileNameExtensionFilter("Unit Files", "blk", "mtf", "hmp");
// Add a filter for mul files
f.setFileFilter(filter);
int returnVal = f.showOpenDialog(parentFrame);
if ((returnVal != JFileChooser.APPROVE_OPTION) || (f.getSelectedFile() == null)) {
// I want a file, y'know!
return;
}
unitFile = f.getSelectedFile();
try {
tempEntity = new MechFileParser(unitFile).getEntity();
} catch (Exception ex) {
JOptionPane.showMessageDialog(parentFrame, String.format("Warning:Invalid unit, it might load incorrectly!\n%1$s", ex.getMessage()));
} finally {
tempEntity.calculateBattleValue(true, true);
UnitUtil.showBVCalculations(tempEntity.getBVText(), parentFrame);
}
}
use of megamek.common.Entity in project megameklab by MegaMek.
the class MenuBarCreator method loadUnitFromFile.
private void loadUnitFromFile(File unitFile) {
try {
Entity tempEntity = new MechFileParser(unitFile).getEntity();
if (null == tempEntity) {
return;
}
if (UnitUtil.validateUnit(tempEntity).trim().length() > 0) {
JOptionPane.showMessageDialog(parentFrame, String.format("Warning:Invalid unit, it might load incorrectly!\n%1$s", UnitUtil.validateUnit(tempEntity)));
}
if (tempEntity.getEntityType() != parentFrame.getEntity().getEntityType()) {
MegaMekLabMainUI newUI = null;
if (tempEntity.hasETypeFlag(Entity.ETYPE_SMALL_CRAFT)) {
newUI = new megameklab.com.ui.Dropship.MainUI(((Aero) tempEntity).isPrimitive());
} else if ((tempEntity instanceof Aero) && !((tempEntity instanceof Jumpship) || (tempEntity instanceof FixedWingSupport))) {
newUI = new megameklab.com.ui.Aero.MainUI(((Aero) tempEntity).isPrimitive());
} else if (tempEntity instanceof BattleArmor) {
newUI = new megameklab.com.ui.BattleArmor.MainUI();
} else if (tempEntity instanceof Infantry) {
newUI = new megameklab.com.ui.Infantry.MainUI();
} else if (tempEntity instanceof Mech) {
newUI = new megameklab.com.ui.Mek.MainUI();
} else if ((tempEntity instanceof Tank) && !(tempEntity instanceof GunEmplacement)) {
newUI = new megameklab.com.ui.Vehicle.MainUI();
}
if (null == newUI) {
JOptionPane.showMessageDialog(parentFrame, "Warning: Could not create new UI, aborting unit load!");
return;
}
parentFrame.dispose();
UnitUtil.updateLoadedUnit(tempEntity);
newUI.setEntity(tempEntity);
newUI.reloadTabs();
newUI.repaint();
newUI.refreshAll();
return;
}
parentFrame.setEntity(tempEntity);
UnitUtil.updateLoadedUnit(parentFrame.getEntity());
CConfig.updateSaveFiles(unitFile.getAbsolutePath());
} catch (Exception ex) {
JOptionPane.showMessageDialog(parentFrame, String.format("Warning:Invalid unit, it might load incorrectly!\n%1$s", ex.getMessage()));
}
reload();
refresh();
parentFrame.setVisible(true);
}
use of megamek.common.Entity in project megameklab by MegaMek.
the class MenuBarCreator method loadFileMenuOptions.
private void loadFileMenuOptions() {
file.removeAll();
file.setMnemonic(KeyEvent.VK_F);
JMenuItem item = new JMenuItem();
item = new JMenuItem("Reset Current Unit");
item.setMnemonic(KeyEvent.VK_R);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuResetEntity_actionPerformed(e);
}
});
file.add(item);
JMenu unitMenu = new JMenu("Switch Unit Type");
unitMenu.setMnemonic(KeyEvent.VK_S);
Entity en = parentFrame.getEntity();
if (!(en instanceof Mech) || ((Mech) en).isPrimitive()) {
item = new JMenuItem();
item.setText("Mech");
item.setMnemonic(KeyEvent.VK_M);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(e -> jMenuLoadMech());
unitMenu.add(item);
}
if (!(en.isFighter() || (en.isFighter() && ((Aero) en).isPrimitive()))) {
item = new JMenuItem();
item.setText("Aero/Conv Fighter");
item.setMnemonic(KeyEvent.VK_A);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadAero();
}
});
unitMenu.add(item);
}
if (!(en instanceof SmallCraft) || ((Aero) en).isPrimitive()) {
item = new JMenuItem();
item.setText("Dropship/Small Craft");
item.setMnemonic(KeyEvent.VK_D);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(e -> jMenuLoadDropship());
unitMenu.add(item);
}
if (!(parentFrame.getEntity() instanceof Tank)) {
item = new JMenuItem();
item.setText("Combat Vehicle");
item.setMnemonic(KeyEvent.VK_T);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadVehicle();
}
});
unitMenu.add(item);
}
if (!(parentFrame.getEntity() instanceof BattleArmor)) {
item = new JMenuItem();
item.setText("BattleArmor");
item.setMnemonic(KeyEvent.VK_B);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadBattleArmor();
}
});
unitMenu.add(item);
}
if (!(parentFrame.getEntity() instanceof Infantry) || (parentFrame.getEntity() instanceof BattleArmor)) {
item = new JMenuItem();
item.setText("Infantry");
item.setMnemonic(KeyEvent.VK_I);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadInfantry();
}
});
unitMenu.add(item);
}
JMenu pMenu = new JMenu("Primitive/Retro");
if (!(en instanceof Mech) || !((Mech) en).isPrimitive()) {
item = new JMenuItem();
item.setText("Mech");
item.addActionListener(e -> jMenuLoadPrimitiveMech());
pMenu.add(item);
}
if (!(en.isFighter()) || !((Aero) en).isPrimitive()) {
item = new JMenuItem();
item.setText("Aero");
item.addActionListener(e -> jMenuLoadPrimitiveAero());
pMenu.add(item);
}
if (!(en.hasETypeFlag(Entity.ETYPE_SMALL_CRAFT)) || !((Aero) en).isPrimitive()) {
item = new JMenuItem();
item.setText("Dropship/Small Craft");
item.addActionListener(e -> jMenuLoadPrimitiveDropship());
pMenu.add(item);
}
unitMenu.add(pMenu);
file.add(unitMenu);
JMenu loadMenu = new JMenu("Load");
loadMenu.setMnemonic(KeyEvent.VK_L);
item = new JMenuItem();
item.setText("From Cache");
item.setMnemonic(KeyEvent.VK_C);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadEntity_actionPerformed(e);
}
});
loadMenu.add(item);
item = new JMenuItem();
item.setText("From File");
item.setMnemonic(KeyEvent.VK_F);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadEntityFromFile_actionPerformed(e);
}
});
loadMenu.add(item);
file.add(loadMenu);
item = new JMenuItem(String.format("Current Unit"));
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.setMnemonic(KeyEvent.VK_C);
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuPrintCurrentUnit();
}
});
file.add(UnitPrintManager.printMenu(parentFrame, item));
item = new JMenuItem();
item.setText("Save");
item.setMnemonic(KeyEvent.VK_S);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuSaveEntity_actionPerformed(e);
}
});
file.add(item);
item = new JMenuItem();
item.setText("Save As");
item.setMnemonic(KeyEvent.VK_A);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuSaveAsEntity_actionPerformed(e);
}
});
file.add(item);
JMenu exportMenu = new JMenu("Export");
item = new JMenuItem("to HTML");
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuExportEntityHTML_actionPerformed(e);
}
});
exportMenu.add(item);
item = new JMenuItem("to Text");
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuExportEntityText_actionPerformed(e);
}
});
exportMenu.add(item);
item = new JMenuItem("to Clipboard (text)");
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuExportEntityClipboard_actionPerformed(e);
}
});
exportMenu.add(item);
file.add(exportMenu);
item = new JMenuItem("Configuration");
item.setMnemonic(KeyEvent.VK_C);
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuConfiguration_actionPerformed(e);
}
});
file.add(item);
int fileNumber = 1;
if (CConfig.getParam(CConfig.CONFIG_SAVE_FILE_1).length() > 1) {
file.addSeparator();
item = new JMenuItem();
String newFile = CConfig.getParam(CConfig.CONFIG_SAVE_FILE_1);
if (newFile.length() > 35) {
item.setText(fileNumber + ". .." + newFile.substring(newFile.length() - 36));
} else {
item.setText(fileNumber + ". " + newFile);
}
item.setMnemonic(fileNumber);
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadEntityFromFile_actionPerformed(1);
}
});
file.add(item);
fileNumber++;
}
if (CConfig.getParam(CConfig.CONFIG_SAVE_FILE_2).length() > 1) {
item = new JMenuItem();
String newFile = CConfig.getParam(CConfig.CONFIG_SAVE_FILE_2);
if (newFile.length() > 35) {
item.setText(fileNumber + ". .." + newFile.substring(newFile.length() - 36));
} else {
item.setText(fileNumber + ". " + newFile);
}
item.setMnemonic(fileNumber);
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadEntityFromFile_actionPerformed(2);
}
});
file.add(item);
fileNumber++;
}
if (CConfig.getParam(CConfig.CONFIG_SAVE_FILE_3).length() > 1) {
item = new JMenuItem();
String newFile = CConfig.getParam(CConfig.CONFIG_SAVE_FILE_3);
if (newFile.length() > 35) {
item.setText(fileNumber + ". .." + newFile.substring(newFile.length() - 36));
} else {
item.setText(fileNumber + ". " + newFile);
}
item.setMnemonic(fileNumber);
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadEntityFromFile_actionPerformed(3);
}
});
file.add(item);
fileNumber++;
}
if (CConfig.getParam(CConfig.CONFIG_SAVE_FILE_4).length() > 1) {
item = new JMenuItem();
String newFile = CConfig.getParam(CConfig.CONFIG_SAVE_FILE_4);
if (newFile.length() > 35) {
item.setText(fileNumber + ". .." + newFile.substring(newFile.length() - 36));
} else {
item.setText(fileNumber + ". " + newFile);
}
item.setMnemonic(fileNumber);
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuLoadEntityFromFile_actionPerformed(4);
}
});
file.add(item);
fileNumber++;
}
file.addSeparator();
item = new JMenuItem();
item.setText("Exit");
item.setMnemonic(KeyEvent.VK_X);
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jMenuExit_actionPerformed(e);
}
});
file.add(item);
}
use of megamek.common.Entity in project megameklab by MegaMek.
the class MenuBarCreator method jMenuGetUnitBreakdownFromFile_actionPerformed.
private void jMenuGetUnitBreakdownFromFile_actionPerformed() {
Entity tempEntity = null;
String filePathName = System.getProperty("user.dir").toString() + "/data/mechfiles/";
File unitFile = new File(filePathName);
JFileChooser f = new JFileChooser(filePathName);
f.setLocation(parentFrame.getLocation().x + 150, parentFrame.getLocation().y + 100);
f.setDialogTitle("Choose Unit");
f.setDialogType(JFileChooser.OPEN_DIALOG);
f.setMultiSelectionEnabled(false);
FileNameExtensionFilter filter = new FileNameExtensionFilter("Unit Files", "blk", "mtf", "hmp");
// Add a filter for mul files
f.setFileFilter(filter);
int returnVal = f.showOpenDialog(parentFrame);
if ((returnVal != JFileChooser.APPROVE_OPTION) || (f.getSelectedFile() == null)) {
// I want a file, y'know!
return;
}
unitFile = f.getSelectedFile();
try {
tempEntity = new MechFileParser(unitFile).getEntity();
} catch (Exception ex) {
JOptionPane.showMessageDialog(parentFrame, String.format("Warning:Invalid unit, it might load incorrectly!\n%1$s", ex.getMessage()));
} finally {
UnitUtil.showUnitCostBreakDown(tempEntity, parentFrame);
}
}
Aggregations