# wxPanel

###
Module

wxPanel

###
Module Summary

Functions for wxPanel class

###
Description

A panel is a window on which controls are placed. It is usually placed within a frame. Its main feature over its parent class wxWindow is code for handling child windows and TAB traversal, which is implemented natively if possible (e.g. in wxGTK) or by wxWidgets itself otherwise.

Note: Tab traversal is implemented through an otherwise undocumented intermediate wxControlContainer class from which any class can derive in addition to the normal wxWindow base class. Please see and to find out how this is achieved.

Note: if not all characters are being intercepted by your OnKeyDown or OnChar handler, it may be because you are using the wxTAB_TRAVERSAL style, which grabs some keypresses for use by child controls.

Remark: By default, a panel has the same colouring as a dialog.

See: wxDialog

This class is derived (and can use functions) from: wxWindow wxEvtHandler

wxWidgets docs: wxPanel

###
Events

Event types emitted from this class: navigation_key

###
Data Types

####
wxPanel() = wx:wx_object()

###
Exports

####
new() -> wxPanel()

Default constructor.

####
new(Parent) -> wxPanel()

### Types

Parent = wxWindow:wxWindow()

####
new(Parent, Options :: [Option]) -> wxPanel()

### Types

Parent = wxWindow:wxWindow()
Option =
{winid, integer()} |
{pos, {X :: integer(), Y :: integer()}} |
{size, {W :: integer(), H :: integer()}} |
{style, integer()}

Constructor.

See: Create() (not implemented in wx)

####
destroy(This :: wxPanel()) -> ok

Destructor.

Deletes any child windows before deleting the physical window.

####
initDialog(This) -> ok

### Types

This = wxPanel()

Sends a wxInitDialogEvent, which in turn transfers data to the dialog via validators.

See: wxInitDialogEvent

####
setFocusIgnoringChildren(This) -> ok

### Types

This = wxPanel()

In contrast to wxWindow:setFocus/1 (see above) this will set the focus to the panel even if there are child windows in the panel.

This is only rarely needed.