# :stopdoc:
# This file is automatically generated by the WXRuby3 documentation
# generator. Do not alter this file.
# :startdoc:
module Wx
# A panel is a window on which controls are placed.
# It is usually placed within a frame. Its main feature over its parent class {Wx::Window} 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:
#
if not all characters are being intercepted by your OnKeyDown or OnChar handler, it may be because you are using the {Wx::TAB_TRAVERSAL} style, which grabs some keypresses for use by child controls.
#
#
#
# >
#
# ### Events emitted by this class
#
# The following event-handler methods redirect the events to member method or handler blocks for {Wx::NavigationKeyEvent} events.
# Event handler methods for events emitted by this class:
#
# - {Wx::EvtHandler#evt_navigation_key}(meth = nil, &block): Process a navigation key event.
#
# Category: Miscellaneous Windows
# @see Wx::Dialog
#
#
class Panel < Window
# @overload initialize()
# Default constructor.
# @return [Wx::Panel]
# @overload initialize(parent, id=Wx::StandardID::ID_ANY, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, style=Wx::TAB_TRAVERSAL, name=Wx::PANEL_NAME_STR)
# Constructor.
#
# @see Wx::Panel#create
# @param parent [Wx::Window] The parent window.
# @param id [Integer] An identifier for the panel. {Wx::StandardID::ID_ANY} is taken to mean a default.
# @param pos [Array(Integer, Integer), Wx::Point] The panel position. The value {Wx::DEFAULT_POSITION} indicates a default position, chosen by either the windowing system or wxWidgets, depending on platform.
# @param size [Array(Integer, Integer), Wx::Size] The panel size. The value {Wx::DEFAULT_SIZE} indicates a default size, chosen by either the windowing system or wxWidgets, depending on platform.
# @param style [Integer] The window style. See {Wx::Panel}.
# @param name [String] Window name.
# @return [Wx::Panel]
def initialize(*args) end
# This method is overridden from {Wx::Window#accepts_focus} and returns true only if there is no child window in the panel which can accept the focus.
# This is reevaluated each time a child window is added or removed from the panel.
# @return [Boolean]
def accepts_focus; end
# Used for two-step panel construction.
# See {Wx::Panel#initialize} for details.
# @param parent [Wx::Window]
# @param id [Integer]
# @param pos [Array(Integer, Integer), Wx::Point]
# @param size [Array(Integer, Integer), Wx::Size]
# @param style [Integer]
# @param name [String]
# @return [Boolean]
def create(parent, id=Wx::StandardID::ID_ANY, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, style=Wx::TAB_TRAVERSAL, name=Wx::PANEL_NAME_STR) end
# Sends a {Wx::InitDialogEvent}, which in turn transfers data to the dialog via validators.
#
# @see Wx::InitDialogEvent
# @return [void]
def init_dialog; end
# See {Wx::Window#set_auto_layout}: when auto layout is on, this function gets called automatically when the window is resized.
# @return [Boolean]
def layout; end
# The default handler for {Wx::EVT_SYS_COLOUR_CHANGED}.
# >
# @see Wx::SysColourChangedEvent
# @param event [Wx::SysColourChangedEvent] The colour change event.
# @return [void]
def on_sys_colour_changed(event) end
# Overrides {Wx::Window#set_focus}.
# This method uses the (undocumented) mix-in class {Wx::ControlContainer} which manages the focus and TAB logic for controls which usually have child controls.
# In practice, if you call this method and the control has at least one child window, the focus will be given to the child window.
# @see Wx::FocusEvent
# @see Wx::Window#set_focus
# @return [void]
def set_focus; end
# In contrast to {Wx::Panel#set_focus} (see above) this will set the focus to the panel even if there are child windows in the panel.
# This is only rarely needed.
# @return [void]
def set_focus_ignoring_children; end
end # Panel
end