### ----------------------------------------------------
### -- Gnome::Gtk3
### -- Licenses: Artistic-2.0
### -- Authors: Marcel Timmerman
### -- File: lib/Gnome/Gtk3/ComboBox.rakumod
### ----------------------------------------------------
### -- Chunk 2 of 4
-column:
=begin pod
=head2 get-column-span-column

Returns the column with column span information for I<combo_box>.

Returns: the column span column.

  method get-column-span-column ( --> Int )

=end pod

method get-column-span-column ( --> Int ) {

  gtk_combo_box_get_column_span_column(
    self._f('GtkComboBox'),
  )
}

sub gtk_combo_box_get_column_span_column (
  N-GObject $combo_box --> gint
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:get-entry-text-column:
=begin pod
=head2 get-entry-text-column

Returns the column which I<combo_box> is using to get the strings from to display in the internal entry.

Returns: A column in the data source model of I<combo_box>.

  method get-entry-text-column ( --> Int )

=end pod

method get-entry-text-column ( --> Int ) {
  gtk_combo_box_get_entry_text_column(self._f('GtkComboBox'))
}

sub gtk_combo_box_get_entry_text_column (
  N-GObject $combo_box --> gint
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:1:get-has-entry:
=begin pod
=head2 get-has-entry

Returns whether the combo box has an entry.

Returns: whether there is an entry in I<combo_box>.

  method get-has-entry ( --> Bool )

=end pod

method get-has-entry ( --> Bool ) {
  gtk_combo_box_get_has_entry(self._f('GtkComboBox')).Bool
}

sub gtk_combo_box_get_has_entry (
  N-GObject $combo_box --> gboolean
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:get-id-column:
=begin pod
=head2 get-id-column

Returns the column which I<combo_box> is using to get string IDs for values from.

Returns: A column in the data source model of I<combo_box>.

  method get-id-column ( --> Int )

=end pod

method get-id-column ( --> Int ) {

  gtk_combo_box_get_id_column(
    self._f('GtkComboBox'),
  )
}

sub gtk_combo_box_get_id_column (
  N-GObject $combo_box --> gint
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:get-model:
=begin pod
=head2 get-model

Returns the B<Gnome::Gtk3::TreeModel> which is acting as data source for I<combo_box>.

Returns: A B<Gnome::Gtk3::TreeModel> which was passed during construction.

  method get-model ( --> N-GObject )

=end pod

method get-model ( --> N-GObject ) {

  gtk_combo_box_get_model(
    self._f('GtkComboBox'),
  )
}

sub gtk_combo_box_get_model (
  N-GObject $combo_box --> N-GObject
) is native(&gtk-lib)
  { * }

#`{{
#-------------------------------------------------------------------------------
#TM:0:get-popup-accessible:
=begin pod
=head2 get-popup-accessible

Gets the accessible object corresponding to the combo box’s popup.

This function is mostly intended for use by accessibility technologies; applications should have little use for it.

Returns: the accessible object corresponding to the combo box’s popup.

  method get-popup-accessible ( --> AtkObject )

=end pod

method get-popup-accessible ( --> AtkObject ) {

  gtk_combo_box_get_popup_accessible(
    self._f('GtkComboBox'),
  )
}

sub gtk_combo_box_get_popup_accessible (
  N-GObject $combo_box --> AtkObject
) is native(&gtk-lib)
  { * }
}}

#-------------------------------------------------------------------------------
#TM:0:get-popup-fixed-width:
=begin pod
=head2 get-popup-fixed-width

Gets whether the popup uses a fixed width matching the allocated width of the combo box.

Returns: C<True> if the popup uses a fixed width

  method get-popup-fixed-width ( --> Bool )

=end pod

method get-popup-fixed-width ( --> Bool ) {

  gtk_combo_box_get_popup_fixed_width(
    self._f('GtkComboBox'),
  ).Bool
}

sub gtk_combo_box_get_popup_fixed_width (
  N-GObject $combo_box --> gboolean
) is native(&gtk-lib)
  { * }

#`{{
#-------------------------------------------------------------------------------
#TM:0:get-row-separator-func:
=begin pod
=head2 get-row-separator-func

Returns the current row separator function.

Returns: the current row separator function.

  method get-row-separator-func ( --> GtkTreeViewRowSeparatorFunc )

=end pod

method get-row-separator-func ( --> GtkTreeViewRowSeparatorFunc ) {
  gtk_combo_box_get_row_separator_func(
    self._f('GtkComboBox'),
  )
}

sub gtk_combo_box_get_row_separator_func (
  N-GObject $combo_box --> GtkTreeViewRowSeparatorFunc
) is native(&gtk-lib)
  { * }
}}

#-------------------------------------------------------------------------------
#TM:0:get-row-span-column:
=begin pod
=head2 get-row-span-column

Returns the column with row span information for I<combo_box>.

Returns: the row span column.

  method get-row-span-column ( --> Int )

=end pod

method get-row-span-column ( --> Int ) {

  gtk_combo_box_get_row_span_column(
    self._f('GtkComboBox'),
  )
}

sub gtk_combo_box_get_row_span_column (
  N-GObject $combo_box --> gint
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:get-wrap-width:
=begin pod
=head2 get-wrap-width

Returns the wrap width which is used to determine the number of columns for the popup menu. If the wrap width is larger than 1, the combo box is in table mode.

Returns: the wrap width.

  method get-wrap-width ( --> Int )

=end pod

method get-wrap-width ( --> Int ) {

  gtk_combo_box_get_wrap_width(
    self._f('GtkComboBox'),
  )
}

sub gtk_combo_box_get_wrap_width (
  N-GObject $combo_box --> gint
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:popdown:
=begin pod
=head2 popdown

Hides the menu or dropdown list of I<combo_box>.

This function is mostly intended for use by accessibility technologies; applications should have little use for it.

  method popdown ( )

=end pod

method popdown ( ) {

  gtk_combo_box_popdown(
    self._f('GtkComboBox'),
  );
}

sub gtk_combo_box_popdown (
  N-GObject $combo_box
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:popup:
=begin pod
=head2 popup

Pops up the menu or dropdown list of I<combo_box>.

This function is mostly intended for use by accessibility technologies; applications should have little use for it.

Before calling this, I<combo_box> must be mapped, or nothing will happen.

  method popup ( )

=end pod

method popup ( ) {

  gtk_combo_box_popup(
    self._f('GtkComboBox'),
  );
}

sub gtk_combo_box_popup (
  N-GObject $combo_box
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:popup-for-device:
=begin pod
=head2 popup-for-device

Pops up the menu or dropdown list of I<combo_box>, the popup window will be grabbed so only I<device> and its associated pointer/keyboard are the only B<Gnome::Gdk3::Devices> able to send events to it.

  method popup-for-device ( N-GObject() $device )

=item $device; a B<Gnome::Gdk3::Device>
=end pod

method popup-for-device ( N-GObject() $device ) {

  gtk_combo_box_popup_for_device(
    self._f('GtkComboBox'), $device
  );
}

sub gtk_combo_box_popup_for_device (
  N-GObject $combo_box, N-GObject $device
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:2:set-active:
=begin pod
=head2 set-active

Sets the active item of I<combo_box> to be the item at I<index>.

  method set-active ( Int() $index_ )

=item $index_; An index in the model passed during construction, or -1 to have no active item
=end pod

method set-active ( Int() $index_ ) {

  gtk_combo_box_set_active(
    self._f('GtkComboBox'), $index_
  );
}

sub gtk_combo_box_set_active (
  N-GObject $combo_box, gint $index_
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:2:set-active-id:
=begin pod
=head2 set-active-id

Changes the active row of I<combo_box> to the one that has an ID equal to I<active_id>, or unsets the active row if I<active_id> is C<undefined>. Rows having a C<undefined> ID string cannot be made active by this function.

If the I<id-column> property of I<combo_box> is unset or if no row has the given ID then the function does nothing and returns C<False>.

Returns: C<True> if a row with a matching ID was found. If a C<undefined> I<active_id> was given to unset the active row, the function always returns C<True>.

  method set-active-id ( Str $active_id --> Bool )

=item $active_id; the ID of the row to select, or C<undefined>
=end pod

method set-active-id ( Str $active_id --> Bool ) {
  gtk_combo_box_set_active_id(
    self._f('GtkComboBox'), $active_id
  ).Bool
}

sub gtk_combo_box_set_active_id (
  N-GObject $combo_box, gchar-ptr $active_id --> gboolean
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:set-active-iter:
=begin pod
=head2 set-active-iter

Sets the current active item to be the one referenced by I<iter>, or unsets the active item if I<iter> is C<undefined>.

  method set-active-iter ( N-GtkTreeIter $iter )

=item $iter; The B<Gnome::Gtk3::TreeIter>, or C<undefined>
=end pod

method set-active-iter ( N-GtkTreeIter $iter ) {

  gtk_combo_box_set_active_iter(
    self._f('GtkComboBox'), $iter
  );
}

sub gtk_combo_box_set_active_iter (
  N-GObject $combo_box, N-GtkTreeIter $iter
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:set-button-sensitivity:
=begin pod
=head2 set-button-sensitivity

Sets whether the dropdown button of the combo box should be always sensitive (C<GTK_SENSITIVITY_ON>), never sensitive (C<GTK_SENSITIVITY_OFF>) or only if there is at least one item to display (C<GTK_SENSITIVITY_AUTO>).

  method set-button-sensitivity ( GtkSensitivityType $sensitivity )

=item $sensitivity; specify the sensitivity of the dropdown button
=end pod

method set-button-sensitivity ( GtkSensitivityType $sensitivity ) {

  gtk_combo_box_set_button_sensitivity(
    self._f('GtkComboBox'), $sensitivity
  );
}

sub gtk_combo_box_set_button_sensitivity (
  N-GObject $combo_box, GEnum $sensitivity
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:set-column-span-column:
=begin pod
=head2 set-column-span-column

Sets the column with column span information for I<combo_box> to be I<column_span>. The column span column contains integers which indicate how many columns an item should span.

  method set-column-span-column ( Int() $column_span )

=item $column_span; A column in the model passed during construction
=end pod

method set-column-span-column ( Int() $column_span ) {

  gtk_combo_box_set_column_span_column(
    self._f('GtkComboBox'), $column_span
  );
}

sub gtk_combo_box_set_column_span_column (
  N-GObject $combo_box, gint $column_span
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:set-entry-text-column:
=begin pod
=head2 set-entry-text-column

Sets the model column which I<combo_box> should use to get strings from to be I<text_column>. The column I<text_column> in the model of I<combo_box> must be of type C<G_TYPE_STRING>.

This is only relevant if I<combo_box> has been created with I<has-entry> as C<True>.

  method set-entry-text-column ( Int() $text_column )

=item $text_column; A column in I<model> to get the strings from for the internal entry
=end pod

method set-entry-text-column ( Int() $text_column ) {

  gtk_combo_box_set_entry_text_column(
    self._f('GtkComboBox'), $text_column
  );
}

sub gtk_combo_box_set_entry_text_column (
  N-GObject $combo_box, gint $text_column
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:set-id-column:
=begin pod
=head2 set-id-column

Sets the model column which I<combo_box> should use to get string IDs for values from. The column I<id_column> in the model of I<combo_box> must be of type C<G_TYPE_STRING>.

  method set-id-column ( Int() $id_column )

=item $id_column; A column in I<model> to get string IDs for values from
=end pod

method set-id-column ( Int() $id_column ) {

  gtk_combo_box_set_id_column(
    self._f('GtkComboBox'), $id_column
  );
}

sub gtk_combo_box_set_id_column (
  N-GObject $combo_box, gint $id_column
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:set-model:
=begin pod
=head2 set-model

Sets the model used by I<combo_box> to be I<model>. Will unset a previously set model (if applicable). If model is C<undefined>, then it will unset the model.

Note that this function does not clear the cell renderers, you have to call C<gtk_cell_layout_clear()> yourself if you need to set up different cell renderers for the new model.

  method set-model ( N-GObject() $model )

=item $model; A B<Gnome::Gtk3::TreeModel>
=end pod

method set-model ( N-GObject() $model ) {

  gtk_combo_box_set_model(
    self._f('GtkComboBox'), $model
  );
}

sub gtk_combo_box_set_model (
  N-GObject $combo_box, N-GObject $model
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:set-popup-fixed-width:
=begin pod
=head2 set-popup-fixed-width

Specifies whether the popup’s width should be a fixed width matching the allocated width of the combo box.

  method set-popup-fixed-width ( Bool $fixed )

=item $fixed; whether to use a fixed popup width
=end pod

method set-popup-fixed-width ( Bool $fixed ) {

  gtk_combo_box_set_popup_fixed_width(
    self._f('GtkComboBox'), $fixed
  );
}

sub gtk_combo_box_set_popup_fixed_width (
  N-GObject $combo_box, gboolean $fixed
) is native(&gtk-lib)
  { * }

#`{{
#-------------------------------------------------------------------------------
#TM:0:set-row-separator-func:
=begin pod
=head2 set-row-separator-func

Sets the row separator function, which is used to determine whether a row should be drawn as a separator. If the row separator function is C<undefined>, no separators are drawn. This is the default value.

  method set-row-separator-func ( GtkTreeViewRowSeparatorFunc $func, Pointer $data, GDestroyNotify $destroy )

=item $func; a B<Gnome::Gtk3::TreeViewRowSeparatorFunc>
=item $data; user data to pass to I<func>, or C<undefined>
=item $destroy; destroy notifier for I<data>, or C<undefined>
=end pod

method set-row-separator-func ( GtkTreeViewRowSeparatorFunc $func, Pointer $data, GDestroyNotify $destroy ) {

  gtk_combo_box_set_row_separator_func(
    self._f('GtkComboBox'), $func, $data, $destroy
  );
}

sub gtk_combo_box_set_row_separator_func (
  N-GObject $combo_box, GtkTreeViewRowSeparatorFunc $func, gpointer $data, GDestroyNotify $destroy
) is native(&gtk-lib)
  { * }
}}

#-------------------------------------------------------------------------------
#TM:0:set-row-span-column:
=begin pod
=head2 set-row-span-column

Sets the column with row span information for I<combo_box> to be I<row_span>. The row span column contains integers which indicate how many rows an item should span.

  method set-row-span-column ( Int() $row_span )

=item $row_span; A column in the model passed during construction.
=end pod

method set-row-span-column ( Int() $row_span ) {

  gtk_combo_box_set_row_span_column(
    self._f('GtkComboBox'), $row_span
  );
}

sub gtk_combo_box_set_row_span_column (
  N-GObject $combo_box, gint $row_span
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:set-wrap-width:
=begin pod
=head2 set-wrap-width

Sets the wrap width of I<combo_box> to be I<width>. The wrap width is basically the preferred number of columns when you want the popup to be layed out in a table.

  method set-wrap-width ( Int() $width )

=item $width; Preferred number of columns
=end pod

method set-wrap-width ( Int() $width ) {

  gtk_combo_box_set_wrap_width(
    self._f('GtkComboBox'), $width
  );
}

sub gtk_combo_box_set_wrap_width (
  N-GObject $combo_box, gint $width
) is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:1:_gtk_combo_box_new:
#`{{
=begin pod
=head2 _gtk_combo_box_new

Creates a new empty B<Gnome::Gtk3::ComboBox>.

Returns: A new B<Gnome::Gtk3::ComboBox>.

  method _gtk_combo_box_new ( --> N-GObject )

=end pod
}}

sub _gtk_combo_box_new (  --> N-GObject )
  is native(&gtk-lib)
  is symbol('gtk_combo_box_new')
  { * }

#-------------------------------------------------------------------------------
#TM:0:_gtk_combo_box_new_with_area:
#`{{
=begin pod
=head2 _gtk_combo_box_new_with_area

Creates a new empty B<Gnome::Gtk3::ComboBox> using I<area> to layout cells.

Returns: A new B<Gnome::Gtk3::ComboBox>.

  method _gtk_combo_box_new_with_area ( N-GObject() $area --> N-GObject )

=item $area; the B<Gnome::Gtk3::CellArea> to use to layout cell renderers
=end pod
}}

sub _gtk_combo_box_new_with_area ( N-GObject $area --> N-GObject )
  is native(&gtk-lib)
  is symbol('gtk_combo_box_new_with_area')
  { * }

#-------------------------------------------------------------------------------
#TM:0:_gtk_combo_box_new_with_area_and_entry:
#`{{
=begin pod
=head2 _gtk_combo_box_new_with_area_and_entry

Creates a new empty B<Gnome::Gtk3::ComboBox> with an entry.

The new combo box will use I<area> to layout cells.

Returns: A new B<Gnome::Gtk3::ComboBox>.

  method _gtk_combo_box_new_with_area_and_entry ( N-GObject() $area --> N-GObject )

=item $area; the B<Gnome::Gtk3::CellArea> to use to layout cell renderers
=end pod
}}

sub _gtk_combo_box_new_with_area_and_entry ( N-GObject $area --> N-GObject )
  is native(&gtk-lib)
  is symbol('gtk_combo_box_new_with_area_and_entry')
  { * }

#-------------------------------------------------------------------------------
#TM:0:_gtk_combo_box_new_with_entry:
#`{{
=begin pod
=head2 _gtk_combo_box_new_with_entry

Creates a new empty B<Gnome::Gtk3::ComboBox> with an entry.

Returns: A new B<Gnome::Gtk3::ComboBox>.

  method _gtk_combo_box_new_with_entry ( --> N-GObject )

=end pod
}}

sub _gtk_combo_box_new_with_entry (  --> N-GObject )
  is native(&gtk-lib)
  is symbol('gtk_combo_box_new_with_entry')
  { * }

#-------------------------------------------------------------------------------
#TM:0:_gtk_combo_box_new_with_model:
#`{{
=begin pod
=head2 _gtk_combo_box_new_with_model

Creates a new B<Gnome::Gtk3::ComboBox> with the model initialized to I<model>.

Returns: A new B<Gnome::Gtk3::ComboBox>.

  method _gtk_combo_box_new_with_model ( N-GObject() $model --> N-GObject )

=item $model; A B<Gnome::Gtk3::TreeModel>.
=end pod
}}

sub _gtk_combo_box_new_with_model ( N-GObject $model --> N-GObject )
  is native(&gtk-lib)
  is symbol('gtk_combo_box_new_with_model')
  { * }

#-------------------------------------------------------------------------------
#TM:0:_gtk_combo_box_new_with_model_and_entry:
#`{{
=begin pod
=head2 _gtk_combo_box_new_with_model_and_entry

Creates a new empty B<Gnome::Gtk3::ComboBox> with an entry and with the model initialized to I<model>.

Returns: A new B<Gnome::Gtk3::ComboBox>

  method _gtk_combo_box_new_with_model_and_entry ( N-GObject() $model --> N-GObject )

=item $model; A B<Gnome::Gtk3::TreeModel>
=end pod
}}

sub _gtk_combo_box_new_with_model_and_entry ( N-GObject $model --> N-GObject )
  is native(&gtk-lib)
  is symbol('gtk_combo_box_new_with_model_and_entry')
  { * }
}}

#-------------------------------------------------------------------------------
=begin pod
=head1 Signals


=comment -----------------------------------------------------------------------
=comment #TS:0:changed:
=head2 changed

The changed signal is emitted when the active
item is changed. The can be due to the user selecting
a different item from the list, or due to a
call to C<set_active_iter()>.
It will also be emitted while typing into the entry of a combo box
with an entry.

  method handler (
    Gnome::Gtk3::ComboBox :_widget($widget),
    Int :$_handler-id,
    N-GObject :$_native-object,
    *%user-options
  )

=item $widget; The instance which registered the signal
=item $_handler-id; The handler id which is returned from the registration
=item $_native-object; The native object provided by the caller wrapped in the Raku object.
=item %user-options; A list of named arguments provided at the C<register-signal()> method

=comment -----------------------------------------------------------------------
=comment #TS:0:format-entry-text:
=head2 format-entry-text

For combo boxes that are created with an entry (See GtkComboBox:has-entry).

A signal which allows you to change how the text displayed in a combo box's
entry is displayed.

Connect a signal handler which returns an allocated string representing
I<path>. That string will then be used to set the text in the combo box's entry.
The default signal handler uses the text from the GtkComboBox::entry-text-column
model column.

=begin comment
Here's an example signal handler which fetches data from the model and
displays it in the entry.
|[<!-- language="C" -->
static gchar*
format_entry_text_callback (GtkComboBox *combo,
const gchar *path,
gpointer     user_data)
{
GtkTreeIter iter;
GtkTreeModel model;
gdouble      value;

model = get_model (combo);

gtk_tree_model_get_iter_from_string (model, &iter, path);
gtk_tree_model_get (model, &iter,
THE_DOUBLE_VALUE_COLUMN, &value,
-1);

return g_strdup_printf ("C<g>", value);
}
]|
=end comment

Returns: (transfer full): a newly allocated string representing I<path>
for the current GtkComboBox model.

  method handler (
    Gnome::Gtk3::ComboBox :_widget($combo),
    Int :$_handler-id,
    N-GObject :$_native-object,
    *%user-options
  )

=item $path; the GtkTreePath string from the combo box's current model to format text for
=item $combo; The instance which registered the signal
=item $_handler-id; The handler id which is returned from the registration
=item $_native-object; The native object provided by the caller wrapped in the Raku object.
=item %user-options; A list of named arguments provided at the C<register-signal()> method

=comment -----------------------------------------------------------------------
=comment #TS:0:move-active:
=head2 move-active

The I<move-active> signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to move the active selection.

  method handler (
    Gnome::Gtk3::ComboBox :_widget($widget),
    Int :$_handler-id,
    N-GObject :$_native-object,
    *%user-options
  )

=item $scroll_type; a B<Gnome::Gtk3::ScrollType>
=item $widget; The instance which registered the signal
=item $_handler-id; The handler id which is returned from the registration
=item $_native-object; The native object provided by the caller wrapped in the Raku object.
=item %user-options; A list of named arguments provided at the C<register-signal()> method

=comment -----------------------------------------------------------------------
=comment #TS:0:popdown:
=head2 popdown

The I<popdown> signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to popdown the combo box list.

The default bindings for this signal are Alt+Up and Escape.

  method handler (
    Gnome::Gtk3::ComboBox :_widget($button),
    Int :$_handler-id,
    N-GObject :$_native-object,
    *%user-options
  )

=item $button; The instance which registered the signal
=item $_handler-id; The handler id which is returned from the registration
=item $_native-object; The native object provided by the caller wrapped in the Raku object.
=item %user-options; A list of named arguments provided at the C<register-signal()> method

=comment -----------------------------------------------------------------------
=comment #TS:0:popup:
=head2 popup

The I<popup> signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to popup the combo box list.

The default binding for this signal is Alt+Down.

  method handler (
    Gnome::Gtk3::ComboBox :_widget($widget),
    Int :$_handler-id,
    N-GObject :$_native-object,
    *%user-options
  )

=item $widget; The instance which registered the signal
=item $_handler-id; The handler id which is returned from the registration
=item $_native-object; The native object provided by the caller wrapped in the Raku object.
=item %user-options; A list of named arguments provided at the C<register-signal()> method

=end pod

#-------------------------------------------------------------------------------
=begin pod
=head1 Properties

=comment -----------------------------------------------------------------------
=comment #TP:1:active:
=head2 active

The item which is currently active

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable and writable.
=item Minimum value is -1.
=item Maximum value is G_MAXINT.
=item Default value is -1.


=comment -----------------------------------------------------------------------
=comment #TP:1:active-id:
=head2 active-id

The value of the id column for the active row

=item B<Gnome::GObject::Value> type of this property is G_TYPE_STRING
=item Parameter is readable and writable.
=item Default value is undefined.


=comment -----------------------------------------------------------------------
=comment #TP:1:button-sensitivity:
=head2 button-sensitivity

Whether the dropdown button is sensitive when the model is empty

=item B<Gnome::GObject::Value> type of this property is G_TYPE_ENUM
=item The type of this G_TYPE_ENUM object is GTK_TYPE_SENSITIVITY_TYPE
=item Parameter is readable and writable.
=item Default value is GTK_SENSITIVITY_AUTO.


=comment -----------------------------------------------------------------------
=comment #TP:0:cell-area:
=head2 cell-area

The GtkCellArea used to layout cells

=item B<Gnome::GObject::Value> type of this property is G_TYPE_OBJECT
=item The type of this G_TYPE_OBJECT object is GTK_TYPE_CELL_AREA
=item Parameter is readable and writable.
=item Parameter is set on construction of object.


=comment -----------------------------------------------------------------------
=comment #TP:1:column-span-column:
=head2 column-span-column

TreeModel column containing the column span values

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable and writable.
=item Minimum value is -1.
=item Maximum value is G_MAXINT.
=item Default value is -1.


=comment -----------------------------------------------------------------------
=comment #TP:1:entry-text-column:
=head2 entry-text-column
The column in the combo box's model to associate with strings from the entry if the combo was created with ComboBox has-entry = 1

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable and writable.
=item Minimum value is -1.
=item Maximum value is G_MAXINT.
=item Default value is -1.


=comment -----------------------------------------------------------------------
=comment #TP:1:has-entry:
=head2 has-entry

Whether combo box has an entry

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Parameter is set on construction of object.
=item Default value is FALSE.


=comment -----------------------------------------------------------------------
=comment #TP:1:has-frame:
=head2 has-frame

Whether the combo box draws a frame around the child

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:1:id-column:
=head2 id-column

The column in the combo box's model that provides string IDs for the values in the model

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable and writable.
=item Minimum value is -1.
=item Maximum value is G_MAXINT.
=item Default value is -1.


=comment -----------------------------------------------------------------------
=comment #TP:0:model:
=head2 model

The model for the combo box

=item B<Gnome::GObject::Value> type of this property is G_TYPE_OBJECT
=item The type of this G_TYPE_OBJECT object is GTK_TYPE_TREE_MODEL
=item Parameter is readable and writable.


=comment -----------------------------------------------------------------------
=comment #TP:1:popup-fixed-width:
=head2 popup-fixed-width

Whether the popup's width should be a fixed width matching the allocated width of the combo box

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable and writable.
=item Default value is TRUE.


=comment -----------------------------------------------------------------------
=comment #TP:1:popup-shown:
=head2 popup-shown

Whether the combo's dropdown is shown

=item B<Gnome::GObject::Value> type of this property is G_TYPE_BOOLEAN
=item Parameter is readable.
=item Default value is FALSE.


=comment -----------------------------------------------------------------------
=comment #TP:1:row-span-column:
=head2 row-span-column

TreeModel column containing the row span values

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable and writable.
=item Minimum value is -1.
=item Maximum value is G_MAXINT.
=item Default value is -1.


=comment -----------------------------------------------------------------------
=comment #TP:1:wrap-width:
=head2 wrap-width

Wrap width for laying out the items in a grid

=item B<Gnome::GObject::Value> type of this property is G_TYPE_INT
=item Parameter is readable and writable.
=item Minimum value is 0.
=item Maximum value is G_MAXINT.
=item Default value is 0.

=end pod









































=finish
#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_new:
=begin pod
=head2 [gtk_] combo_box_new

Creates a new empty B<Gnome::Gtk3::ComboBox>.

Returns: A new B<Gnome::Gtk3::ComboBox>.

  method gtk_combo_box_new ( --> N-GObject  )


=end pod

sub gtk_combo_box_new (  )
  returns N-GObject
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_new_with_area:
=begin pod
=head2 [[gtk_] combo_box_] new_with_area

Creates a new empty B<Gnome::Gtk3::ComboBox> using I<area> to layout cells.

Returns: A new B<Gnome::Gtk3::ComboBox>.

  method gtk_combo_box_new_with_area ( N-GObject $area --> N-GObject  )

=item N-GObject $area; the B<Gnome::Gtk3::CellArea> to use to layout cell renderers

=end pod

sub gtk_combo_box_new_with_area ( N-GObject $area )
  returns N-GObject
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_new_with_area_and_entry:
=begin pod
=head2 [[gtk_] combo_box_] new_with_area_and_entry

Creates a new empty B<Gnome::Gtk3::ComboBox> with an entry.

The new combo box will use I<area> to layout cells.

Returns: A new B<Gnome::Gtk3::ComboBox>.

  method gtk_combo_box_new_with_area_and_entry ( N-GObject $area --> N-GObject  )

=item N-GObject $area; the B<Gnome::Gtk3::CellArea> to use to layout cell renderers

=end pod

sub gtk_combo_box_new_with_area_and_entry ( N-GObject $area )
  returns N-GObject
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_new_with_entry:
=begin pod
=head2 [[gtk_] combo_box_] new_with_entry

Creates a new empty B<Gnome::Gtk3::ComboBox> with an entry.

Returns: A new B<Gnome::Gtk3::ComboBox>.

Since: 2.24

  method gtk_combo_box_new_with_entry ( --> N-GObject  )


=end pod

sub gtk_combo_box_new_with_entry (  )
  returns N-GObject
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_new_with_model:
=begin pod
=head2 [[gtk_] combo_box_] new_with_model

Creates a new B<Gnome::Gtk3::ComboBox> with the model initialized to I<model>.

Returns: A new B<Gnome::Gtk3::ComboBox>.

Since: 2.4

  method gtk_combo_box_new_with_model ( N-GObject $model --> N-GObject  )

=item N-GObject $model; A B<Gnome::Gtk3::TreeModel>.

=end pod

sub gtk_combo_box_new_with_model ( N-GObject $model )
  returns N-GObject
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_new_with_model_and_entry:
=begin pod
=head2 [[gtk_] combo_box_] new_with_model_and_entry

Creates a new empty B<Gnome::Gtk3::ComboBox> with an entry
and with the model initialized to I<model>.

Returns: A new B<Gnome::Gtk3::ComboBox>

Since: 2.24

  method gtk_combo_box_new_with_model_and_entry ( N-GObject $model --> N-GObject  )

=item N-GObject $model; A B<Gnome::Gtk3::TreeModel>

=end pod

sub gtk_combo_box_new_with_model_and_entry ( N-GObject $model )
  returns N-GObject
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_get_wrap_width:
=begin pod
=head2 [[gtk_] combo_box_] get_wrap_width

Returns the wrap width which is used to determine the number of columns
for the popup menu. If the wrap width is larger than 1, the combo box
is in table mode.

Returns: the wrap width.

Since: 2.6

  method gtk_combo_box_get_wrap_width ( --> Int  )


=end pod

sub gtk_combo_box_get_wrap_width ( N-GObject $combo_box )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_set_wrap_width:
=begin pod
=head2 [[gtk_] combo_box_] set_wrap_width

Sets the wrap width of I<combo_box> to be I<width>. The wrap width is basically
the preferred number of columns when you want the popup to be layed out
in a table.

Since: 2.4

  method gtk_combo_box_set_wrap_width ( Int $width )

=item Int $width; Preferred number of columns

=end pod

sub gtk_combo_box_set_wrap_width ( N-GObject $combo_box, int32 $width )
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_get_row_span_column:
=begin pod
=head2 [[gtk_] combo_box_] get_row_span_column

Returns the column with row span information for I<combo_box>.

Returns: the row span column.

Since: 2.6

  method gtk_combo_box_get_row_span_column ( --> Int  )


=end pod

sub gtk_combo_box_get_row_span_column ( N-GObject $combo_box )
  returns int32
  is native(&gtk-lib)
  { * }

#-------------------------------------------------------------------------------
#TM:0:gtk_combo_box_set_row_span_column:
=begin pod
=head2 [[gtk_] combo_box_] set_row_span_column

Sets the column with row span information for I<combo_box> to be I<row_span>.
The row span column contains integers which indicate how many rows
an item should span.

Since: 2.4

  method gtk_combo_box_set_row_span_column ( Int $row_span )

=item Int $row_span; A column in the model passed during construction.

=end pod

sub gtk_combo_box_set_row