1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-03-14 11:29:26 +01:00

missing startup selection if board missed container property

This commit is contained in:
Federico Fissore 2012-10-15 23:22:46 +02:00
parent a6b892ed35
commit aa05b50e97

View File

@ -1192,8 +1192,19 @@ public class Base {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
cpuTypeMenu.setEnabled(false); cpuTypeMenu.setEnabled(false);
Preferences.unset("board_container");
selectBoardAction.actionPerformed(e); selectBoardAction.actionPerformed(e);
} }
@Override
public Object getValue(String key) {
return selectBoardAction.getValue(key);
}
@Override
public void putValue(String key, Object newValue) {
selectBoardAction.putValue(key, newValue);
}
}; };
JMenuItem item = new JRadioButtonMenuItem(selectBoardWithoutContainerAction); JMenuItem item = new JRadioButtonMenuItem(selectBoardWithoutContainerAction);
boardsButtonGroup.add(item); boardsButtonGroup.add(item);
@ -1203,11 +1214,12 @@ public class Base {
} }
} }
JMenuItem selectedBoardMenu; JMenuItem selectedBoardMenu = selectMenuItemByBoardContainer(boardsMenu, selBoardContainer);
if (selBoardContainer == null) { if (selectedBoardMenu == null) {
selectedBoardMenu = selectFirstEnabledMenuItem(boardsMenu); selectedBoardMenu = selectMenuItemByBoardPackagePlatform(boardsMenu, selBoard, selPackage, selPlatform);
} else { if (selectedBoardMenu == null) {
selectedBoardMenu = selectMenuItemByBoardContainer(boardsMenu, selBoardContainer); selectedBoardMenu = selectFirstEnabledMenuItem(boardsMenu);
}
} }
selectedBoardMenu.doClick(); selectedBoardMenu.doClick();
@ -1217,6 +1229,9 @@ public class Base {
selectedCPUTypeMenu = selectFirstEnabledMenuItem(cpuTypeMenu); selectedCPUTypeMenu = selectFirstEnabledMenuItem(cpuTypeMenu);
} else { } else {
selectedCPUTypeMenu = selectMenuItemByBoardPackagePlatform(cpuTypeMenu, selBoard, selPackage, selPlatform); selectedCPUTypeMenu = selectMenuItemByBoardPackagePlatform(cpuTypeMenu, selBoard, selPackage, selPlatform);
if (selectedCPUTypeMenu == null) {
selectedCPUTypeMenu = selectFirstEnabledMenuItem(cpuTypeMenu);
}
} }
selectedCPUTypeMenu.doClick(); selectedCPUTypeMenu.doClick();
} }
@ -1254,13 +1269,17 @@ public class Base {
} }
private static JMenuItem selectMenuItemByBoardContainer(JMenu menu, String boardContainer) { private static JMenuItem selectMenuItemByBoardContainer(JMenu menu, String boardContainer) {
if (boardContainer == null) {
return null;
}
for (int i = 0; i < menu.getItemCount(); i++) { for (int i = 0; i < menu.getItemCount(); i++) {
JMenuItem item = menu.getItem(i); JMenuItem item = menu.getItem(i);
if (item != null && item.getAction() != null && boardContainer.equals(item.getAction().getValue("board_container"))) { if (item != null && item.getAction() != null && boardContainer.equals(item.getAction().getValue("board_container"))) {
return item; return item;
} }
} }
return selectFirstEnabledMenuItem(menu); return null;
} }
private static JMenuItem selectMenuItemByBoardPackagePlatform(JMenu menu, String selBoard, String selPackage, String selPlatform) { private static JMenuItem selectMenuItemByBoardPackagePlatform(JMenu menu, String selBoard, String selPackage, String selPlatform) {
@ -1271,7 +1290,7 @@ public class Base {
return item; return item;
} }
} }
return selectFirstEnabledMenuItem(menu); return null;
} }
private JMenuItem findOrCreateBoardContainerMenu(JMenu boardsMenu, ButtonGroup boardsButtonGroup, String boardContainerName, AbstractAction boardMenuAction) { private JMenuItem findOrCreateBoardContainerMenu(JMenu boardsMenu, ButtonGroup boardsButtonGroup, String boardContainerName, AbstractAction boardMenuAction) {