A panel container with automatic scrolling and an optional text caption.
sealed class
|
Panel
|
extends
|
Container
|
||
implements
|
ITextProperty
|
The
following
default
Layout
settings
are
defined
for
Panel
objects:
public
static
readonly
field
|
Class
|
||
type
|
StyleClass
|
The accordion group this panel belongs to.
public
property
|
Accordion
{
get
set
}
|
||
type
|
ComponentGroup<Panel>
|
||
value
|
The
accordion
group
or
null . |
Remarks:
Only one panel in an accordion group can be expanded, all other will be collapsed.
The input click of the default action of this component.
public
property
|
Action
{
get
set
}
|
||
type
|
InputClick
|
||
value
|
The input click or None. | ||
inherited
|
Component.Action
|
Remarks:
Defaults to None.
Returns the bounds of this component in the client area of its parent container.
public
property
|
Bounds
{
get
}
|
||
type
|
Box2I
|
||
value
|
The component bounds. | ||
inherited
|
Component.Bounds
|
Returns the client area of this container.
public
override
property
|
ClientArea
{
get
}
|
||
type
|
Box2I
|
||
value
|
The client area. | ||
overrides
|
Container.ClientArea
|
Containers with a round client rectangle can override this property in order to return proper information.
public
override
property
|
ClientAreaCorners
{
get
}
|
||
type
|
Pair<Corner, int32>
|
||
value
|
The round corners of this containers client rectangle. | ||
overrides
|
Container.ClientAreaCorners
|
Is this panel collapsed?
public
property
|
Collapsed
{
get
set
}
|
||
type
|
bool
|
||
value
|
true
if
the
panel
is
collapsed
(i.e.
its
content
is
hidden),
false
if
not.
|
Remarks:
Defaults
to
false
.
Is this panel collapsible?
public
property
|
Collapsible
{
get
set
}
|
||
type
|
bool
|
||
value
|
true
if
the
panel
is
collapsible
(i.e.
the
Collapsed
property
is
taken
into
account),
false
if
the
panel
is
not
collapsible
(i.e.
the
Collapsed
property
is
ignored).
|
Remarks:
Defaults
to
true
.
Returns the list of child components.
public
override
property
|
Components
{
get
}
|
||
type
|
IVectorConst<Component>
|
||
value
|
|
The list of child components. | |
overrides
|
Container.Components
|
Can this component receive the input focus?
public
property
|
Focusable
{
get
set
}
|
||
type
|
bool
|
||
value
|
true
if
the
component
can
receive
the
input
focus,
false
if
not.
|
||
inherited
|
Component.Focusable
|
Height of this component in its parent containers client area.
public
property
|
Height
{
get
}
|
||
type
|
int32
|
||
value
|
The current component height, in pixels. | ||
inherited
|
Component.Height
|
Does this component has the input focus?
public
override
property
|
IsFocussed
{
get
}
|
||
type
|
bool
|
||
value
|
true
if
this
component
has
the
input
focus,
false
if
not. |
||
inherited
|
Container.IsFocussed
|
public
property
|
IsHighlighted
{
get
}
|
||
type
|
bool
|
||
value
|
|||
inherited
|
Component.IsHighlighted
|
Does the mouse cursor currently hover above this component?
public
property
|
IsHovered
{
get
}
|
||
type
|
bool
|
||
value
|
true
if
the
mouse
cursor
hovers
above
this
component,
false
if
not.
|
||
inherited
|
Component.IsHovered
|
The alignment anchor of this component.
public
property
|
LayoutAlign
{
get
set
}
|
||
type
|
Anchor
|
||
value
|
The anchor. | ||
inherited
|
Component.LayoutAlign
|
Returns the default Layout settings for this component.
public
override
property
|
LayoutDefault
{
get
}
|
||
type
|
Layout
|
||
value
|
The default layout settings. | ||
overrides
|
Component.LayoutDefault
|
Remarks:
The default implementation returns Default.
The fill mode of this component.
public
override
property
|
LayoutFill
{
get
set
}
|
||
type
|
Axis
|
||
value
|
The fill mode. | ||
overrides
|
Component.LayoutFill
|
The bounds of this component in its parent containers layout grid.
public
property
|
LayoutGrid
{
get
set
}
|
||
type
|
Box2I
|
||
value
|
The layout grid bounds. | ||
inherited
|
Component.LayoutGrid
|
Defines how the layout grid column resp. row in the components parent container grows.
public
property
|
LayoutGrow
{
get
set
}
|
||
type
|
Axis
|
||
value
|
The axes that will grow. | ||
inherited
|
Component.LayoutGrow
|
The current layout settings of this component.
public
override
property
|
LayoutInfo
{
get
set
}
|
||
type
|
Layout
|
||
value
|
The Layout info object. | ||
inherited
|
Container.LayoutInfo
|
The insets of this container.
public
property
|
LayoutInsets
{
get
set
}
|
||
type
|
Edging
|
||
value
|
The edge insets. | ||
inherited
|
Container.LayoutInsets
|
The outer margin of this component.
public
property
|
LayoutMargin
{
get
set
}
|
||
type
|
Edging
|
||
value
|
The outer margin. | ||
inherited
|
Component.LayoutMargin
|
Defines how the layout grid column resp. row in the components parent container grows.
public
property
|
LayoutShrink
{
get
set
}
|
||
type
|
Axis
|
||
value
|
The axes that will shrink. | ||
inherited
|
Component.LayoutShrink
|
The requested size of this component, in pixels.
public
property
|
LayoutSize
{
get
set
}
|
||
type
|
Vec2I
|
||
value
|
The requested size. | ||
inherited
|
Component.LayoutSize
|
Returns the lifecycle state of this object.
public
virtual
property
|
LifecycleState
{
get
}
|
||
type
|
LifecycleState
|
||
value
|
The lifecycle state. | ||
inherited
|
Disposable.LifecycleState
|
The components default action has been triggered.
public
property
|
OnAction
{
get
}
|
||
type
|
IEventGeneric<Component>
|
||
value
|
|
The event object. | |
inherited
|
Component.OnAction
|
The parent container of this component.
public
property
|
Parent
{
get
}
|
||
type
|
Container
|
||
value
|
The
parent
container
or
null
if
this
component
is
the
root. |
||
inherited
|
Component.Parent
|
Returns the corners that this component shares with the client area of its parent container.
public
property
|
ParentCorners
{
get
}
|
||
type
|
Corner
|
||
value
|
The shared client area corners. | ||
inherited
|
Component.ParentCorners
|
Returns the edges that this component shares with the client area of its parent container.
public
property
|
ParentEdges
{
get
}
|
||
type
|
Anchor
|
||
value
|
The shared client area edges. | ||
inherited
|
Component.ParentEdges
|
Scroll height of this component.
public
property
|
ScrollHeight
{
get
}
|
||
type
|
int32
|
||
value
|
The current scroll height, in pixels. | ||
inherited
|
Component.ScrollHeight
|
Returns the size of a single scroll tick.
public
virtual
property
|
ScrollTick
{
get
}
|
||
type
|
int32
|
||
value
|
The scroll tick size, in pixels. | ||
inherited
|
Component.ScrollTick
|
Scroll width of this component.
public
property
|
ScrollWidth
{
get
}
|
||
type
|
int32
|
||
value
|
The current scroll width, in pixels. | ||
inherited
|
Component.ScrollWidth
|
The horizontal scroll position of this component.
public
property
|
ScrollX
{
get
set
}
|
||
type
|
int32
|
||
value
|
The current scroll position. | ||
inherited
|
Component.ScrollX
|
The vertical scroll position of this component.
public
property
|
ScrollY
{
get
set
}
|
||
type
|
int32
|
||
value
|
The current scroll position. | ||
inherited
|
Component.ScrollY
|
The component state.
public
virtual
property
|
State
{
get
set
}
|
||
type
|
ComponentState
|
||
value
|
The component state. | ||
inherited
|
Component.State
|
Returns the style class for this component type.
public
override
property
|
StyleClassType
{
get
}
|
||
type
|
StyleClass
|
||
value
|
The
style
class
(e.g.
'InputField'
for
InputField). |
||
overrides
|
Container.StyleClassType
|
Optional style class variant of this component.
public
property
|
StyleClassVariant
{
get
set
}
|
||
type
|
string
|
||
value
|
The
variant
name
or
null . |
||
inherited
|
Component.StyleClassVariant
|
The stylesheet object to use for this user interface element.
public
property
|
Stylesheet
{
get
set
}
|
||
type
|
Stylesheet
|
||
value
|
The
stylesheet
object
to
use
or
null . |
||
inherited
|
Component.Stylesheet
|
The user-defined tag value of this component.
public
property
|
Tag
{
get
set
}
|
||
type
|
int32
|
||
value
|
The
tag
value
or
null . |
||
inherited
|
Component.Tag
|
Remarks:
Defaults
to
-1
.
The text value.
public
property
|
Text
{
get
set
}
|
||
type
|
string
|
||
value
|
The
text
value.
Will
be
replaced
with
the
empty
string
when
null . |
||
implements
|
ITextProperty.Text
|
Remarks:
Defaults
to
the
empty
string
''
.
See also:
StringUtil.IsEmptyOrWhitespaceWidth of this component in its parent containers client area.
public
property
|
Width
{
get
}
|
||
type
|
int32
|
||
value
|
The current component width, in pixels. | ||
inherited
|
Component.Width
|
Creates a new instance of Panel.
public
constructor
|
Panel
(string text = null,
bool collapsible = true)
|
||
params
|
text
|
The
initial
caption
text
or
null .
Defaults
to
null .
|
|
collapsible
|
Is
this
panel
collapsible?
Defaults
to
true . |
Acquires a strong reference to this disposable object.
[OwnerReturn, ThreadSafe]
|
||||
public
method
|
AcquireTry
()
|
|||
type
|
IDisposable
|
|||
returns
|
this
if
a
new
strong
reference
has
been
acquired,
null
if
this
object
is
already
being
disposed.
|
|||
inherited
|
Disposable.AcquireTry
|
Remarks:
The object will not be actually disposed by calls to Dispose when there is at least one strong reference left. Code that calls the AcquireTry method is responsible for calling the Dispose method accordingly.
This method is not intended to be used in performance-critical code. It should only be used to high-level resource management.
Adds a child component to this container, using its current layout settings.
public
override
method
|
ChildAdd
([Owner]
Component component)
|
||
params
|
component
|
[not-null]
|
The child component. |
overrides
|
Container.ChildAdd
|
Adds a child component to this container using the given layout settings.
public
override
method
|
ChildAdd
([Owner]
Component component,
Layout layout)
|
||
params
|
component
|
[not-null]
|
The child component. |
layout
|
The layout settings to use. Unspecified settings will be taken from LayoutDefault. | ||
overrides
|
Container.ChildAdd
|
Checks if this container has any children.
[Pure]
|
||||
public
override
method
|
ChildAny
(bool onlyVisible)
|
|||
type
|
bool
|
|||
params
|
onlyVisible
|
true
to
test
for
non-hidden
(see
Hidden)
children
only,
false
to
test
for
existing
children.
|
||
returns
|
true
if
there
are
one
or
more
children
(according
to
onlyVisible),
false
if
not.
|
|||
overrides
|
Container.ChildAny
|
Removes a child component from this container.
public
override
method
|
ChildRemove
(Component component)
|
||
params
|
component
|
[not-null]
|
The child component. |
overrides
|
Container.ChildRemove
|
Removes all child components from this container.
public
method
|
ChildRemoveAll
()
|
||
inherited
|
Container.ChildRemoveAll
|
Consumes the given user input event.
public
method
|
ConsumeInput
(InputEvent inputEvent)
|
||
type
|
bool
|
||
params
|
inputEvent
|
The user input event. | |
returns
|
true
if
the
input
event
has
been
consumed,
false
if
not. |
||
inherited
|
Component.ConsumeInput
|
Remarks:
Input events are provided to an IInputConsumer object only if it has the input focus (see FocusGained and FocusLost). Mouse events are provided when the mouse cursor is inside of the input bounds (MouseEnter and MouseLeave). The Closing event can be provided at any time.
Releases all resources held by this object if there are no more strong references to it, decrements the reference counter by one otherwise.
[Dispose, OwnerThis, ThreadSafe]
|
||||
public
method
|
Dispose
()
|
|||
inherited
|
Disposable.Dispose
|
Remarks:
The Dispose method silently returns if the object has already been disposed.
Finds the first Panel along the ancestor-to-self axis, starting at the given component.
[Pure]
|
||||
public
static
method
|
Find
(Component component)
|
|||
type
|
Panel
|
|||
params
|
component
|
The
component
to
start
or
null . |
||
returns
|
The
found
Panel
object
or
null . |
Transfers the input focus to this component.
public
method
|
Focus
()
|
||
returns
|
|
this | |
inherited
|
Component.Focus
|
Attaches this component to the given Graphics context.
public
override
method
|
GraphicsAttach
(Graphics graphics)
|
||
params
|
graphics
|
[not-null]
|
The graphics context. |
inherited
|
Container.GraphicsAttach
|
Remarks:
All graphics-related resources should be created here.
Detaches this user interface component from its Graphics context.
public
override
method
|
GraphicsDetach
()
|
||
inherited
|
Container.GraphicsDetach
|
Remarks:
All graphics-related resources should be disposed here.
The screen size has changed.
public
virtual
method
|
GraphicsResize
(Vec2I screenSize)
|
||
params
|
screenSize
|
The new screen size, in pixels. | |
inherited
|
Component.GraphicsResize
|
Remarks:
The given screen size is equal to the value of ScreenSize of the Graphics object that has been passed to GraphicsAttach earlier.
Performs 2D rendering.
public
method
|
Render2D
(Graphics g)
|
||
params
|
g
|
[not-null]
|
The graphics object to use. |
inherited
|
Component.Render2D
|
Remarks:
When this method is called, the given Graphics object has already been initialized for 2D rendering:
(0|0)
refers
to
the
top-left
pixel
of
the
target
rectangle
and
ScreenSize
returns
the
target
rectangle
size.
The
target
rectangle
and
the
clipping
rectangle
can
be
different.
This method is called once per application frame.
public
override
method
|
UpdateFrameTime
(float32 time)
|
||
type
|
bool
|
||
params
|
time
|
[>0]
|
The amount of time that has elapsed since the last frame, in seconds. |
returns
|
true
if
the
object
needs
to
be
presented
again,
false
if
the
current
presentation
is
still
valid.
|
||
overrides
|
Container.UpdateFrameTime
|