# :stopdoc:
# This file is automatically generated by the WXRuby3 documentation
# generator. Do not alter this file.
# :startdoc:
module Wx
# A grid sizer is a sizer which lays out its children in a two-dimensional table with all table fields having the same size, i.e.
# the width of each field is the width of the widest child, the height of each field is the height of the tallest child.
# ===
#
# Category: Window Layout
# @see Wx::Sizer
# @see Sizers Overview
#
#
class GridSizer < Sizer
# @overload initialize(cols, vgap, hgap)
# {Wx::GridSizer} constructors.
# Usually only the number of columns in the flex grid sizer needs to be specified using cols argument. The number of rows will be deduced automatically depending on the number of the elements added to the sizer.
# If a constructor form with rows parameter is used (and the value of rows argument is not zero, meaning "unspecified") the sizer will check that no more than cols*rows
elements are added to it, i.e. that no more than the given number of rows is used. Adding less than maximally allowed number of items is not an error however.
# Finally, it is also possible to specify the number of rows and use 0 for cols. In this case, the sizer will use the given fixed number of rows and as many columns as necessary.
# The gap (or vgap and hgap, which correspond to the height and width of the {Wx::Size} object) argument defines the size of the padding between the rows (its vertical component, or vgap) and columns (its horizontal component, or hgap), in pixels.
# @param cols [Integer]
# @param vgap [Integer]
# @param hgap [Integer]
# @return [GridSizer]
# @overload initialize(cols, gap=(Wx::Size.new(0, 0)))
# {Wx::GridSizer} constructors.
# Usually only the number of columns in the flex grid sizer needs to be specified using cols argument. The number of rows will be deduced automatically depending on the number of the elements added to the sizer.
# If a constructor form with rows parameter is used (and the value of rows argument is not zero, meaning "unspecified") the sizer will check that no more than cols*rows
elements are added to it, i.e. that no more than the given number of rows is used. Adding less than maximally allowed number of items is not an error however.
# Finally, it is also possible to specify the number of rows and use 0 for cols. In this case, the sizer will use the given fixed number of rows and as many columns as necessary.
# The gap (or vgap and hgap, which correspond to the height and width of the {Wx::Size} object) argument defines the size of the padding between the rows (its vertical component, or vgap) and columns (its horizontal component, or hgap), in pixels.
# @param cols [Integer]
# @param gap [Array(Integer, Integer), Wx::Size]
# @return [GridSizer]
# @overload initialize(rows, cols, vgap, hgap)
# {Wx::GridSizer} constructors.
# Usually only the number of columns in the flex grid sizer needs to be specified using cols argument. The number of rows will be deduced automatically depending on the number of the elements added to the sizer.
# If a constructor form with rows parameter is used (and the value of rows argument is not zero, meaning "unspecified") the sizer will check that no more than cols*rows
elements are added to it, i.e. that no more than the given number of rows is used. Adding less than maximally allowed number of items is not an error however.
# Finally, it is also possible to specify the number of rows and use 0 for cols. In this case, the sizer will use the given fixed number of rows and as many columns as necessary.
# The gap (or vgap and hgap, which correspond to the height and width of the {Wx::Size} object) argument defines the size of the padding between the rows (its vertical component, or vgap) and columns (its horizontal component, or hgap), in pixels.
# @param rows [Integer]
# @param cols [Integer]
# @param vgap [Integer]
# @param hgap [Integer]
# @return [GridSizer]
# @overload initialize(rows, cols, gap)
# {Wx::GridSizer} constructors.
# Usually only the number of columns in the flex grid sizer needs to be specified using cols argument. The number of rows will be deduced automatically depending on the number of the elements added to the sizer.
# If a constructor form with rows parameter is used (and the value of rows argument is not zero, meaning "unspecified") the sizer will check that no more than cols*rows
elements are added to it, i.e. that no more than the given number of rows is used. Adding less than maximally allowed number of items is not an error however.
# Finally, it is also possible to specify the number of rows and use 0 for cols. In this case, the sizer will use the given fixed number of rows and as many columns as necessary.
# The gap (or vgap and hgap, which correspond to the height and width of the {Wx::Size} object) argument defines the size of the padding between the rows (its vertical component, or vgap) and columns (its horizontal component, or hgap), in pixels.
# @param rows [Integer]
# @param cols [Integer]
# @param gap [Array(Integer, Integer), Wx::Size]
# @return [GridSizer]
def initialize(*args) end
# Returns the number of columns that has been specified for the sizer.
# Returns zero if the sizer is automatically adjusting the number of columns depending on number of its children. To get the effective number of columns or rows being currently used, see {Wx::GridSizer#get_effective_cols_count}
# @return [Integer]
def get_cols; end
alias_method :cols, :get_cols
# Returns the number of rows that has been specified for the sizer.
# Returns zero if the sizer is automatically adjusting the number of rows depending on number of its children. To get the effective number of columns or rows being currently used, see {Wx::GridSizer#get_effective_rows_count}.
# @return [Integer]
def get_rows; end
alias_method :rows, :get_rows
# Returns the number of columns currently used by the sizer.
# This will depend on the number of children the sizer has if the sizer is automatically adjusting the number of columns/rows.
# @return [Integer]
def get_effective_cols_count; end
alias_method :effective_cols_count, :get_effective_cols_count
# Returns the number of rows currently used by the sizer.
# This will depend on the number of children the sizer has if the sizer is automatically adjusting the number of columns/rows.
# @return [Integer]
def get_effective_rows_count; end
alias_method :effective_rows_count, :get_effective_rows_count
# Returns the horizontal gap (in pixels) between cells in the sizer.
# @return [Integer]
def get_h_gap; end
alias_method :h_gap, :get_h_gap
# Returns the vertical gap (in pixels) between the cells in the sizer.
# @return [Integer]
def get_v_gap; end
alias_method :v_gap, :get_v_gap
# Sets the number of columns in the sizer.
# @param cols [Integer]
# @return [void]
def set_cols(cols) end
alias_method :cols=, :set_cols
# Sets the horizontal gap (in pixels) between cells in the sizer.
# @param gap [Integer]
# @return [void]
def set_h_gap(gap) end
alias_method :h_gap=, :set_h_gap
# Sets the number of rows in the sizer.
# @param rows [Integer]
# @return [void]
def set_rows(rows) end
alias_method :rows=, :set_rows
# Sets the vertical gap (in pixels) between the cells in the sizer.
# @param gap [Integer]
# @return [void]
def set_v_gap(gap) end
alias_method :v_gap=, :set_v_gap
# This method is abstract and has to be overwritten by any derived class.
# Here, the sizer will do the actual calculation of its children's minimal sizes.
# @return [Wx::Size]
def calc_min; end
# Method which must be overridden in the derived sizer classes.
# The implementation should reposition the children using the current total size available to the sizer (m_size) and the size computed by the last call to {Wx::GridSizer#calc_min}.
# Note that you should never call this method directly, call {Wx::GridSizer#layout} instead if you need to manually update the sizer elements positions. This method is only called by wxWidgets itself.
# @param minSize [Array(Integer, Integer), Wx::Size]
# @return [void]
def reposition_children(minSize) end
end # GridSizer
end