Make dialog backdrop appear over top of navigation bar

This commit is contained in:
drdev
2014-01-05 17:15:20 +00:00
parent 0175cc1a26
commit f220aef52a
3 changed files with 6 additions and 7 deletions

View File

@@ -24,7 +24,7 @@ Title field and buttons now available on Current Deck pane when on other section
- More skinned dialogs -
Most remaining dialogs are now skinned, including all message, confirmation, input, and list choice dialogs
Reveal-style list dialogs now focus OK button by default and support Escape and Close button without showing a Cancel button
Increased transparency of backdrop behind dialogs
Increased transparency of backdrop behind dialogs and make it appear over navigation bar instead of disabling navigation bar
- Constructed mode -

View File

@@ -124,6 +124,8 @@ public final class SResizingUtil {
Rectangle mainBounds = frame.getContentPane().getBounds();
FDialog.getBackdropPanel().setBounds(mainBounds);
int navigationBarHeight = navigationBar.getPreferredSize().height;
navigationBar.setSize(mainBounds.width, navigationBarHeight);
navigationBar.validate();
@@ -136,7 +138,6 @@ public final class SResizingUtil {
FAbsolutePositioner.SINGLETON_INSTANCE.containerResized(mainBounds);
FOverlay.SINGLETON_INSTANCE.getPanel().setBounds(mainBounds);
FNetOverlay.SINGLETON_INSTANCE.containerResized(mainBounds);
FDialog.getBackdropPanel().setBounds(mainBounds);
pnlInsets.setBounds(mainBounds);
pnlInsets.validate();

View File

@@ -60,13 +60,11 @@ import forge.gui.toolbox.FSkin.SkinCursor;
import forge.model.BuildInfo;
import forge.properties.NewConstants;
/** */
public enum FView {
/** */
SINGLETON_INSTANCE;
/** */
public static final Integer NAVIGATION_BAR_LAYER = JLayeredPane.MODAL_LAYER - 1;
public static final Integer DIALOG_BACKDROP_LAYER = JLayeredPane.MODAL_LAYER - 1;
public static final Integer NAVIGATION_BAR_LAYER = DIALOG_BACKDROP_LAYER - 1;
public static final Integer NAVIGATION_BAR_REVEAL_LAYER = NAVIGATION_BAR_LAYER - 1;
public static final Integer OVERLAY_LAYER = NAVIGATION_BAR_REVEAL_LAYER - 1;
public static final Integer TARGETING_LAYER = OVERLAY_LAYER - 1;
@@ -120,7 +118,7 @@ public enum FView {
lpnDocument.add(navigationBar, NAVIGATION_BAR_LAYER);
lpnDocument.add(navigationBar.getPnlReveal(), NAVIGATION_BAR_REVEAL_LAYER);
lpnDocument.add(FOverlay.SINGLETON_INSTANCE.getPanel(), OVERLAY_LAYER);
lpnDocument.add(FDialog.getBackdropPanel(), OVERLAY_LAYER);
lpnDocument.add(FDialog.getBackdropPanel(), DIALOG_BACKDROP_LAYER);
// Note: when adding new panels here, keep in mind that the layered pane
// has a null layout, so new components will be W0 x H0 pixels - gotcha!
// FControl has a method called "sizeComponents" which will fix this.