# :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