# :stopdoc:
# This file is automatically generated by the WXRuby3 documentation 
# generator. Do not alter this file.
# :startdoc:


module Wx

  # A {Wx::CheckListBox} is like a {Wx::ListBox}, but allows items to be checked or unchecked.
  # When using this class under Windows wxWidgets must be compiled with {Wx::Setup::USE_OWNER_DRAWN} set to 1.
  # === Events emitted by this class
  # 
  # The following event-handler methods redirect the events to member method or handler blocks for {Wx::CommandEvent} events.
  # Event handler methods for events emitted by this class:
  # 
  # - {Wx::EvtHandler#evt_checklistbox}(id, meth = nil, &block): Process a {Wx::EVT_CHECKLISTBOX} event, when an item in the check list box is checked or unchecked. {Wx::CommandEvent#get_int} will contain the index of the item that was checked or unchecked. {Wx::CommandEvent#is_checked} is not valid! Use {Wx::CheckListBox#is_checked} instead. 
  # 
  # === 
  # 
  # Category:  {Wx::Controls}  <div class='appearance'><span class='appearance'>Appearance:</span><table><tr><td> wxMSW Appearance
  #   </td><td> wxGTK Appearance
  #   </td><td> wxOSX Appearance
  #   </td></tr></table></div>
  # @see Wx::ListBox
  # @see  Wx::Choice
  # @see  Wx::ComboBox
  # @see  Wx::ListCtrl
  # @see  Wx::CommandEvent 
  # 
  # 
  class CheckListBox < ListBox
  
    # @overload initialize(parent, id, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, choices=nil, style=0, validator=Wx::DEFAULT_VALIDATOR, name=("listBox"))
    #   Constructor, creating and showing a list box.
    #   @param parent [Wx::Window]  Parent window. Must not be NULL.
    #   @param id [Integer]  Window identifier. The value {Wx::StandardID::ID_ANY} indicates a default value.
    #   @param pos [Array(Integer, Integer), Wx::Point]  Window position. If {Wx::DEFAULT_POSITION} is specified then a default position is chosen.
    #   @param size [Array(Integer, Integer), Wx::Size]  Window size. If {Wx::DEFAULT_SIZE} is specified then the window is sized appropriately.
    #   @param choices [Array<String>]  An array of strings with which to initialise the control.
    #   @param style [Integer]  Window style. See {Wx::CheckListBox}.
    #   @param validator [Wx::Validator]  Window validator.
    #   @param name [String]  Window name.
    #   @return [Wx::CheckListBox]
    # @overload initialize(parent, id, pos, size, choices, style=0, validator=Wx::DEFAULT_VALIDATOR, name=("listBox"))
    #   Constructor, creating and showing a list box.
    #   @param parent [Wx::Window]  Parent window. Must not be NULL.
    #   @param id [Integer]  Window identifier. The value {Wx::StandardID::ID_ANY} indicates a default value.
    #   @param pos [Array(Integer, Integer), Wx::Point]  Window position.
    #   @param size [Array(Integer, Integer), Wx::Size]  Window size. If {Wx::DEFAULT_SIZE} is specified then the window is sized appropriately.
    #   @param choices [Array<String>]  An array of strings with which to initialise the control.
    #   @param style [Integer]  Window style. See {Wx::CheckListBox}.
    #   @param validator [Wx::Validator]  Window validator.
    #   @param name [String]  Window name.
    #   @return [Wx::CheckListBox]
    # @overload initialize()
    #   Default constructor.
    #   @return [Wx::CheckListBox]
    def initialize(*args) end
    
    # @param parent [Wx::Window] 
    # @param id [Integer] 
    # @param pos [Array(Integer, Integer), Wx::Point] 
    # @param size [Array(Integer, Integer), Wx::Size] 
    # @param choices [Array<String>] 
    # @param style [Integer] 
    # @param validator [Wx::Validator] 
    # @param name [String] 
    # @return [Boolean]
    def create(parent, id, pos, size, choices, style=0, validator=Wx::DEFAULT_VALIDATOR, name=Wx::ListBoxNameStr) end
    
    # Checks the given item.
    # Note that calling this method does not result in a {Wx::EVT_CHECKLISTBOX} event being emitted.
    # @param item [Integer]  Index of item to check.
    # @param check [Boolean]  true if the item is to be checked, false otherwise.
    # @return [void]
    def check(item, check=true) end
    
    # Returns true if the given item is checked, false otherwise.
    # @param item [Integer]  Index of item whose check status is to be returned.
    # @return [Boolean]
    def is_checked(item) end
    alias_method :checked?, :is_checked
    
    # Return the indices of the checked items.
    # The number of checked items.
    # @see Wx::CheckListBox#check
    # @see  Wx::CheckListBox#is_checked
    # @return [Array<Integer>]
    def get_checked_items; end
    alias_method :checked_items, :get_checked_items
    
  end # CheckListBox
  

end