Updated focus handling in home screen.

This commit is contained in:
Doublestrike
2012-02-22 02:04:41 +00:00
parent 17a41d18ab
commit ee974ddc92
2 changed files with 44 additions and 45 deletions

View File

@@ -69,38 +69,6 @@ public final class FView extends JFrame {
// After events and shortcuts are assembled, instantiate all different state screens
Singletons.getView().instantiateCachedUIStates();
// Open previous menu on first run, or constructed.
// Focus is reset when the frame becomes visible,
// so the call to show the menu must happen here.
final ForgePreferences.HomeMenus lastMenu =
ForgePreferences.HomeMenus.valueOf(Singletons.getModel().getPreferences().getPref(FPref.UI_HOMEMENU));
switch(lastMenu) {
case draft:
Singletons.getView().getViewHome().getBtnDraft().grabFocus();
Singletons.getView().getViewHome().showDraftMenu();
break;
case sealed:
Singletons.getView().getViewHome().getBtnSealed().grabFocus();
Singletons.getView().getViewHome().showSealedMenu();
break;
case quest:
Singletons.getView().getViewHome().getBtnQuest().grabFocus();
Singletons.getView().getViewHome().showQuestMenu();
break;
case settings:
Singletons.getView().getViewHome().getBtnSettings().grabFocus();
Singletons.getView().getViewHome().showSettingsMenu();
break;
case utilities:
Singletons.getView().getViewHome().getBtnUtilities().grabFocus();
Singletons.getView().getViewHome().showUtilitiesMenu();
break;
default:
Singletons.getView().getViewHome().getBtnConstructed().grabFocus();
Singletons.getView().getViewHome().showConstructedMenu();
}
// Frame styling
FView.this.setMinimumSize(new Dimension(800, 600));
FView.this.setLocationRelativeTo(null);
@@ -125,6 +93,21 @@ public final class FView extends JFrame {
FView.this.splash = null;
FView.this.setVisible(true);
// Open previous menu on first run, or constructed.
// Focus is reset when the frame becomes visible,
// so the call to show the menu must happen here.
final ForgePreferences.HomeMenus lastMenu =
ForgePreferences.HomeMenus.valueOf(Singletons.getModel().getPreferences().getPref(FPref.UI_HOMEMENU));
switch(lastMenu) {
case draft: Singletons.getView().getViewHome().showDraftMenu(); break;
case sealed: Singletons.getView().getViewHome().showSealedMenu(); break;
case quest: Singletons.getView().getViewHome().showQuestMenu(); break;
case settings: Singletons.getView().getViewHome().showSettingsMenu(); break;
case utilities: Singletons.getView().getViewHome().showUtilitiesMenu(); break;
default: Singletons.getView().getViewHome().showConstructedMenu();
}
}
/** @return {@link javax.swing.JLayeredPane} */

View File

@@ -179,8 +179,6 @@ public class ViewHomeUI extends FPanel {
/** Opens menu for constructed mode. */
public void showConstructedMenu() {
clearToggles();
btnConstructed.setToggled(true);
btnConstructed.grabFocus();
pnlContent.removeAll();
pnlContent.add(constructed, "w 100%!, h 100%!");
pnlContent.revalidate();
@@ -188,6 +186,13 @@ public class ViewHomeUI extends FPanel {
Singletons.getControl().getControlHome().getControlConstructed().updateDeckSelectionCheckboxes();
SwingUtilities.invokeLater(new Runnable() { @Override
public void run() {
btnConstructed.setToggled(true);
btnConstructed.grabFocus();
}
});
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
ForgePreferences.HomeMenus.constructed.toString());
Singletons.getModel().getPreferences().save();
@@ -196,14 +201,18 @@ public class ViewHomeUI extends FPanel {
/** Opens menu for draft mode. */
public void showDraftMenu() {
clearToggles();
btnDraft.setToggled(true);
btnDraft.grabFocus();
pnlContent.removeAll();
pnlContent.add(draft, "w 100%!, h 100%!");
pnlContent.revalidate();
pnlContent.repaint();
SwingUtilities.invokeLater(new Runnable() { @Override
public void run() {
btnDraft.setToggled(true);
btnDraft.grabFocus();
}
});
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
ForgePreferences.HomeMenus.draft.toString());
Singletons.getModel().getPreferences().save();
@@ -212,14 +221,18 @@ public class ViewHomeUI extends FPanel {
/** Opens menu for sealed mode. */
public void showSealedMenu() {
clearToggles();
btnSealed.setToggled(true);
btnSealed.grabFocus();
pnlContent.removeAll();
pnlContent.add(sealed, "w 100%!, h 100%!");
pnlContent.revalidate();
pnlContent.repaint();
SwingUtilities.invokeLater(new Runnable() { @Override
public void run() {
btnSealed.setToggled(true);
btnSealed.grabFocus();
}
});
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
ForgePreferences.HomeMenus.sealed.toString());
Singletons.getModel().getPreferences().save();
@@ -248,7 +261,6 @@ public class ViewHomeUI extends FPanel {
/** Opens menu for settings. */
public void showSettingsMenu() {
clearToggles();
pnlContent.removeAll();
pnlContent.add(settings, "w 99%!, h 95%!, gaptop 2.5%, gapleft 0.5%");
pnlContent.revalidate();
@@ -269,14 +281,18 @@ public class ViewHomeUI extends FPanel {
/** Opens menu for utilities. */
public void showUtilitiesMenu() {
clearToggles();
btnUtilities.setToggled(true);
btnUtilities.grabFocus();
pnlContent.removeAll();
pnlContent.add(utilities, "w 100%!, h 100%!");
pnlContent.revalidate();
pnlContent.repaint();
SwingUtilities.invokeLater(new Runnable() { @Override
public void run() {
btnUtilities.setToggled(true);
btnUtilities.grabFocus();
}
});
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
ForgePreferences.HomeMenus.utilities.toString());
Singletons.getModel().getPreferences().save();
@@ -311,7 +327,7 @@ public class ViewHomeUI extends FPanel {
public ViewQuest getViewQuest() {
return this.quest;
}
/** @return {@link forge.view.home.ViewSettings} */
public ViewSettings getViewSettings() {
return this.settings;