Class DeckPanel

    • Constructor Detail

      • DeckPanel

        public DeckPanel()
        Creates an empty deck panel.
    • Method Detail

      • add

        public void add​(Widget w)
        Description copied from class: Panel
        Adds a child widget.

        How to Override this Method

        There are several important things that must take place in the correct order to properly add or insert a Widget to a Panel. Not all of these steps will be relevant to every Panel, but all of the steps must be considered.

        1. Validate: Perform any sanity checks to ensure the Panel can accept a new Widget. Examples: checking for a valid index on insertion; checking that the Panel is not full if there is a max capacity.
        2. Adjust for Reinsertion: Some Panels need to handle the case where the Widget is already a child of this Panel. Example: when performing a reinsert, the index might need to be adjusted to account for the Widget's removal. See ComplexPanel.adjustIndex(Widget, int).
        3. Detach Child: Remove the Widget from its existing parent, if any. Most Panels will simply call Widget.removeFromParent() on the Widget.
        4. Logical Attach: Any state variables of the Panel should be updated to reflect the addition of the new Widget. Example: the Widget is added to the Panel's WidgetCollection at the appropriate index.
        5. Physical Attach: The Widget's Element must be physically attached to the Panel's Element, either directly or indirectly.
        6. Adopt: Call Panel.adopt(Widget) to finalize the add as the very last step.

        Specified by:
        add in interface HasWidgets
        Specified by:
        add in interface InsertPanel
        Overrides:
        add in class Panel
        Parameters:
        w - the widget to be added
        See Also:
        HasWidgets.add(Widget)
      • getVisibleWidget

        public int getVisibleWidget()
        Gets the index of the currently-visible widget, if any.
        Returns:
        the visible widget's index, or -1 if there is no such widget
      • insert

        public void insert​(Widget w,
                           int beforeIndex)
        Description copied from interface: InsertPanel
        Inserts a child widget before the specified index. If the widget is already a child of this panel, it will be moved to the specified index.
        Specified by:
        insert in interface InsertPanel
        Parameters:
        w - the child widget to be inserted
        beforeIndex - the index before which it will be inserted
      • isAnimationEnabled

        public boolean isAnimationEnabled()
        Description copied from interface: HasAnimation
        Returns true if animations are enabled, false if not.
        Specified by:
        isAnimationEnabled in interface HasAnimation
      • remove

        public boolean remove​(Widget w)
        Description copied from class: Panel
        Removes a child widget.

        How to Override this Method

        There are several important things that must take place in the correct order to properly remove a Widget from a Panel. Not all of these steps will be relevant to every Panel, but all of the steps must be considered.

        1. Validate: Make sure this Panel is actually the parent of the child Widget; return false if it is not.
        2. Orphan: Call Panel.orphan(Widget) first while the child Widget is still attached.
        3. Physical Detach: Adjust the DOM to account for the removal of the child Widget. The Widget's Element must be physically removed from the DOM.
        4. Logical Detach: Update the Panel's state variables to reflect the removal of the child Widget. Example: the Widget is removed from the Panel's WidgetCollection.

        Specified by:
        remove in interface HasWidgets
        Overrides:
        remove in class ComplexPanel
        Parameters:
        w - the widget to be removed
        Returns:
        true if the child was present
      • setAnimationEnabled

        public void setAnimationEnabled​(boolean enable)
        Description copied from interface: HasAnimation
        Enable or disable animations.
        Specified by:
        setAnimationEnabled in interface HasAnimation
        Parameters:
        enable - true to enable, false to disable
      • showWidget

        public void showWidget​(int index)
        Shows the widget at the specified index. This causes the currently- visible widget to be hidden.
        Parameters:
        index - the index of the widget to be shown