# :stopdoc:
# This file is automatically generated by the WXRuby3 documentation
# generator. Do not alter this file.
# :startdoc:
module Wx
#
STB_SIZEGRIP = 16
#
STB_SHOW_TIPS = 32
#
STB_ELLIPSIZE_START = 64
#
STB_ELLIPSIZE_MIDDLE = 128
#
STB_ELLIPSIZE_END = 256
#
STB_DEFAULT_STYLE = 65840
#
SB_NORMAL = 0
#
SB_FLAT = 1
#
SB_RAISED = 2
#
SB_SUNKEN = 3
# A status bar is a narrow window that can be placed along the bottom of a frame to give small amounts of status information.
#
# It can contain one or more fields, one or more of which can be variable length according to the size of the window.
# {Wx::StatusBar} also maintains an independent stack of status texts for each field (see {Wx::StatusBar#push_status_text} and {Wx::StatusBar#pop_status_text}).
# Note that in {Wx::StatusBar} context, the terms pane and field are synonyms.
# ### Styles
#
# This class supports the following styles:
#
# - {Wx::STB_SIZEGRIP}: Displays a gripper at the right-hand side of the status bar which can be used to resize the parent window.
#
# - {Wx::STB_SHOW_TIPS}: Displays tooltips for those panes whose status text has been ellipsized/truncated because the status text doesn't fit the pane width. Note that this style has effect only on WXGTK (with GTK+ >= 2.12) currently.
#
# - {Wx::STB_ELLIPSIZE_START}: Replace the beginning of the status texts with an ellipsis when the status text widths exceed the status bar pane's widths (uses {Wx::Control.ellipsize}).
#
# - {Wx::STB_ELLIPSIZE_MIDDLE}: Replace the middle of the status texts with an ellipsis when the status text widths exceed the status bar pane's widths (uses {Wx::Control.ellipsize}).
#
# - {Wx::STB_ELLIPSIZE_END}: Replace the end of the status texts with an ellipsis when the status text widths exceed the status bar pane's widths (uses {Wx::Control.ellipsize}).
#
# - {Wx::STB_DEFAULT_STYLE}: The default style: includes wxSTB_SIZEGRIP|wxSTB_SHOW_TIPS|wxSTB_ELLIPSIZE_END|wxFULL_REPAINT_ON_RESIZE
.
#
#
#
#
#
# Category: Miscellaneous Windows
# @see Wx::StatusBarPane
# @see Wx::Frame
# @see Status Bar Sample
#
#
# @wxrb_require USE_STATUSBAR
class StatusBar < Control
# @overload initialize()
# Default ctor.
# @return [Wx::StatusBar]
# @overload initialize(parent, id=Wx::StandardID::ID_ANY, style=Wx::STB_DEFAULT_STYLE, name=Wx::STATUS_BAR_NAME_STR)
# Constructor, creating the window.
#
#
# @see Wx::StatusBar#create
# @param parent [Wx::Window] The window parent, usually a frame.
# @param id [Integer] The window identifier. It may take a value of -1 to indicate a default value.
# @param style [Integer] The window style. See {Wx::StatusBar}.
# @param name [String] The name of the window. This parameter is used to associate a name with the item, allowing the application user to set Motif resource values for individual windows.
# @return [Wx::StatusBar]
def initialize(*args) end
# Creates the window, for two-step construction.
#
# See {Wx::StatusBar#initialize} for details.
# @param parent [Wx::Window]
# @param id [Integer]
# @param style [Integer]
# @param name [String]
# @return [Boolean]
def create(parent, id=Wx::StandardID::ID_ANY, style=Wx::STB_DEFAULT_STYLE, name=Wx::STATUS_BAR_NAME_STR) end
# Returns the size and position of a field's internal bounding rectangle.
#
# true if the field index is valid, false otherwise.
# @see Wx::Rect
# @param i [Integer] The field in question.
# @return [Array(Boolean,Wx::Rect)]
def get_field_rect(i) end
alias_method :field_rect, :get_field_rect
# Returns the number of fields in the status bar.
# @return [Integer]
def get_fields_count; end
alias_method :fields_count, :get_fields_count
# Returns the {Wx::StatusBarPane} representing the n-th field.
# @param n [Integer]
# @return [Wx::StatusBarPane]
def get_field(n) end
alias_method :field, :get_field
# Returns the horizontal and vertical borders used when rendering the field text inside the field area.
#
# Note that the rect returned by {Wx::StatusBar#get_field_rect} already accounts for the presence of horizontal and vertical border returned by this function.
# @return [Wx::Size]
def get_borders; end
alias_method :borders, :get_borders
# Returns the string associated with a status bar field.
#
# The status field string if the field is valid, otherwise the empty string.
# @see Wx::StatusBar#set_status_text
# @param i [Integer] The number of the status field to retrieve, starting from zero.
# @return [String]
def get_status_text(i=0) end
alias_method :status_text, :get_status_text
# Returns the width of the n-th field.
#
# See {Wx::StatusBarPane#get_width} for more info.
# @param n [Integer]
# @return [Integer]
def get_status_width(n) end
alias_method :status_width, :get_status_width
# Returns the style of the n-th field.
#
# See {Wx::StatusBarPane#get_style} for more info.
# @param n [Integer]
# @return [Integer]
def get_status_style(n) end
alias_method :status_style, :get_status_style
# Restores the text to the value it had before the last call to {Wx::StatusBar#push_status_text}.
#
# Notice that if {Wx::StatusBar#set_status_text} had been called in the meanwhile, {Wx::StatusBar#pop_status_text} will not change the text, i.e. it does not override explicit changes to status text but only restores the saved text if it hadn't been changed since.
# @see Wx::StatusBar#push_status_text
# @param field [Integer]
# @return [void]
def pop_status_text(field=0) end
# Saves the current field text in a per-field stack, and sets the field text to the string passed as argument.
#
#
# @see Wx::StatusBar#pop_status_text
# @param string [String]
# @param field [Integer]
# @return [void]
def push_status_text(string, field=0) end
# Sets the number of fields, and optionally the field widths.
# @param number [Integer] The number of fields. If this is greater than the previous number, then new fields with empty strings will be added to the status bar.
# @param widths [Array] An array of n integers interpreted in the same way as in {Wx::StatusBar#set_status_widths}.
# @return [void]
def set_fields_count(number=1, widths=nil) end
alias_method :fields_count=, :set_fields_count
# Sets the minimal possible height for the status bar.
#
# The real height may be bigger than the height specified here depending on the size of the font used by the status bar.
# @param height [Integer]
# @return [void]
def set_min_height(height) end
alias_method :min_height=, :set_min_height
# Sets the styles of the fields in the status line which can make fields appear flat or raised instead of the standard sunken 3D border.
# @param styles [Array] Contains an array of n integers with the styles for each field. There are four possible styles:
#
# - {Wx::SB_NORMAL} (default): The field appears with the default native border.
# - {Wx::SB_FLAT}: No border is painted around the field so that it appears flat.
# - {Wx::SB_RAISED}: A raised 3D border is painted around the field.
# - {Wx::SB_SUNKEN}: A sunken 3D border is painted around the field (this style is new since wxWidgets 2.9.5).
# @return [void]
def set_status_styles(styles) end
# Sets the status text for the i-th field.
#
# The given text will replace the current text. The display of the status bar is updated immediately, so there is no need to call {Wx::Window#update} after calling this function.
# Note that if {Wx::StatusBar#push_status_text} had been called before the new text will also replace the last saved value to make sure that the next call to {Wx::StatusBar#pop_status_text} doesn't restore the old value, which was overwritten by the call to this function.
# @see Wx::StatusBar#get_status_text
# @see Wx::Frame#set_status_text
# @param text [String] The text to be set. Use an empty string ("") to clear the field.
# @param i [Integer] The field to set, starting from zero.
# @return [void]
def set_status_text(text, i=0) end
alias_method :status_text=, :set_status_text
# Sets the widths of the fields in the status line.
#
# There are two types of fields: fixed widths and variable width fields. For the fixed width fields you should specify their (constant) width in pixels. For the variable width fields, specify a negative number which indicates how the field should expand: the space left for all variable width fields is divided between them according to the absolute value of this number. A variable width field with width of -2 gets twice as much of it as a field with width -1 and so on.
# For example, to create one fixed width field of width 100 in the right part of the status bar and two more fields which get 66% and 33% of the remaining space correspondingly, you should use an array containing -2, -1 and 100.
#
#
# @see Wx::StatusBar#set_fields_count
# @see Wx::Frame#set_status_widths
# @param widths_field [Array] Contains an array of n integers, each of which is either an absolute status field width in pixels if positive or indicates a variable width field if negative. The special value NULL means that all fields should get the same width.
# @return [void]
def set_status_widths(widths_field) end
end # StatusBar
# A status bar pane data container used by {Wx::StatusBar}.
#
# Category: Data Structures
# @see Wx::StatusBar
#
#
#
# @note This class is untracked and should not be derived from nor instances extended!
# @wxrb_require USE_STATUSBAR
class StatusBarPane < ::Object
# Constructs the pane with the given style and width.
# @param style [Integer]
# @param width [Integer]
# @return [Wx::StatusBarPane]
def initialize(style=Wx::SB_NORMAL, width=0) end
# Returns the pane width; it maybe negative, indicating a variable-width field.
# @return [Integer]
def get_width; end
alias_method :width, :get_width
# Returns the pane style.
# @return [Integer]
def get_style; end
alias_method :style, :get_style
# Returns the text currently shown in this pane.
# @return [String]
def get_text; end
alias_method :text, :get_text
end # StatusBarPane
end