Class Popup
This is the base class for any UI component that needs to be displayed over the rest of the user interface.
Inherited Members
Namespace: Unity.AppUI.UI
Assembly: Unity.AppUI.dll
Syntax
public abstract class Popup
Constructors
Popup(VisualElement, VisualElement, VisualElement)
Default constructor.
Declaration
protected Popup(VisualElement parentView, VisualElement view, VisualElement contentView = null)
Parameters
| Type | Name | Description |
|---|---|---|
| VisualElement | parentView | The popup container. |
| VisualElement | view | The popup visual element itself. |
| VisualElement | contentView | The content that will appear inside this popup. |
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | The container can't be null. |
Fields
k_NextFrameDurationMs
The average duration of a frame in milliseconds. Used to delay position calculations.
Declaration
protected const int k_NextFrameDurationMs = 16
Field Value
| Type | Description |
|---|---|
| int |
k_PopupDismiss
The message id used to dismiss the popup.
Declaration
protected const int k_PopupDismiss = 2
Field Value
| Type | Description |
|---|---|
| int |
k_PopupShow
The message id used to show the popup.
Declaration
protected const int k_PopupShow = 1
Field Value
| Type | Description |
|---|---|
| int |
Properties
contentView
The content of the popup.
Declaration
public VisualElement contentView { get; }
Property Value
| Type | Description |
|---|---|
| VisualElement |
handler
The handler that receives and dispatches messages. This is useful in multi-threaded applications.
Declaration
protected Handler handler { get; }
Property Value
| Type | Description |
|---|---|
| Handler |
keyboardDismissEnabled
True if the the popup can be dismissed by pressing the escape key or the return button on mobile, False otherwise.
The default value is `True`.
Declaration
public bool keyboardDismissEnabled { get; protected set; }
Property Value
| Type | Description |
|---|---|
| bool |
targetParent
The parent of the view when the popup will be displayed.
Declaration
public VisualElement targetParent { get; }
Property Value
| Type | Description |
|---|---|
| VisualElement |
view
Returns the popup's VisualElement.
Declaration
public VisualElement view { get; }
Property Value
| Type | Description |
|---|---|
| VisualElement |
Methods
AnimateViewIn()
Start the animation for this popup.
Declaration
protected virtual void AnimateViewIn()
AnimateViewOut(DismissType)
Start the hide animation for this popup.
Declaration
protected virtual void AnimateViewOut(DismissType reason)
Parameters
| Type | Name | Description |
|---|---|---|
| DismissType | reason | The reason why the popup should be dismissed. |
Dismiss()
Dismiss the Popup.
Declaration
public virtual void Dismiss()
Dismiss(DismissType)
Dismiss the Popup.
Declaration
public virtual void Dismiss(DismissType reason)
Parameters
| Type | Name | Description |
|---|---|---|
| DismissType | reason | Why the element has been dismissed. |
FindSuitableParent(VisualElement)
Find the parent VisualElement where the popup will be added.
Declaration
protected virtual VisualElement FindSuitableParent(VisualElement element)
Parameters
| Type | Name | Description |
|---|---|---|
| VisualElement | element | An arbitrary UI element inside the panel. |
Returns
| Type | Description |
|---|---|
| VisualElement | The popup container VisualElement in the current panel. |
GetFocusableElement()
Returns the element that will be focused when the view will become visible.
The default value is `null`.
Declaration
protected virtual VisualElement GetFocusableElement()
Returns
| Type | Description |
|---|---|
| VisualElement | The element that will be focused when the view will become visible. |
HideView(DismissType)
Called when the popup's Handler has received a k_PopupDismiss message.
Declaration
protected virtual void HideView(DismissType reason)
Parameters
| Type | Name | Description |
|---|---|---|
| DismissType | reason | The reason why the popup should be dismissed. |
InvokeDismissedEventHandlers(DismissType)
Called when the popup has completed its dismiss process.
Declaration
protected virtual void InvokeDismissedEventHandlers(DismissType reason)
Parameters
| Type | Name | Description |
|---|---|---|
| DismissType | reason | The reason why the popup has been dismissed. |
InvokeShownEventHandlers()
Called when the popup has become visible.
Declaration
protected virtual void InvokeShownEventHandlers()
OnViewKeyDown(KeyDownEvent)
Called when the popup has received a KeyDownEvent.
By default this method handles the dismiss of the popup via the Escape key or a Return button.
Declaration
protected virtual void OnViewKeyDown(KeyDownEvent evt)
Parameters
| Type | Name | Description |
|---|---|---|
| KeyDownEvent | evt | The event the popup has received. |
ShouldAnimate()
Implement this method to know if the popup should call AnimateViewIn() and AnimateViewOut(DismissType) methods or not.
Declaration
protected virtual bool ShouldAnimate()
Returns
| Type | Description |
|---|---|
| bool |
|
ShouldDismiss(DismissType)
Check if the popup should be dismissed or not, depending on the reason.
Declaration
protected virtual bool ShouldDismiss(DismissType reason)
Parameters
| Type | Name | Description |
|---|---|---|
| DismissType | reason | Why the element has been dismissed. |
Returns
| Type | Description |
|---|---|
| bool |
|
Show()
Show the Popup.
Declaration
public virtual void Show()
ShowView()
Called when the popup's Handler has received a k_PopupShow message.
Declaration
protected virtual void ShowView()