# :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 {Wx::GTK}) or by wxWidgets itself otherwise.
# Tab traversal is implemented through an otherwise undocumented intermediate {Wx::ControlContainer} class from which any class can derive in addition to the normal {Wx::Window} base class. Please see Wx::/containr.h
and Wx::/panel.h
to find out how this is achieved.
#
# 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.
#
# By default, a panel has the same colouring as a dialog.
#
# === 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 [Panel]
# @overload initialize(parent, id=Wx::StandardID::ID_ANY, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, style=Wx::TAB_TRAVERSAL, name=Wx::PanelNameStr)
# 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 [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 [true,false]
def accepts_focus; end
# Used for two-step panel construction.
# See {Wx::Panel#panel} 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 [true,false]
def create(parent, id=Wx::StandardID::ID_ANY, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, style=Wx::TAB_TRAVERSAL, name=Wx::PanelNameStr) 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 [true,false]
def layout; end
# The default handler for {Wx::EVT_SYS_COLOUR_CHANGED}.
# Changes the panel's colour to conform to the current settings. Add an event table entry for your panel class if you wish the behaviour to be different (such as keeping a user-defined background colour). If you do override this function, call {Wx::Event#skip} to propagate the notification to child windows and controls.
# @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