Class
GtkSpinButton
Description [src]
class Gtk.SpinButton : Gtk.Entry
implements Atk.ImplementorIface, Gtk.Buildable, Gtk.CellEditable, Gtk.Editable, Gtk.Orientable {
/* No available fields */
}
A GtkSpinButton
is an ideal way to allow the user to set the value of
some attribute. Rather than having to directly type a number into a
GtkEntry
, GtkSpinButton allows the user to click on one of two arrows
to increment or decrement the displayed value. A value can still be
typed in, with the bonus that it can be checked to ensure it is in a
given range.
The main properties of a GtkSpinButton are through an adjustment.
See the GtkAdjustment
section for more details about an adjustment’s
properties. Note that GtkSpinButton will by default make its entry
large enough to accomodate the lower and upper bounds of the adjustment,
which can lead to surprising results. Best practice is to set both
the GtkEntry:width-chars
and GtkEntry:max-width-chars
poperties
to the desired number of characters to display in the entry.
CSS nodes
spinbutton.horizontal
├── undershoot.left
├── undershoot.right
├── entry
│ ╰── ...
├── button.down
╰── button.up
spinbutton.vertical
├── undershoot.left
├── undershoot.right
├── button.up
├── entry
│ ╰── ...
╰── button.down
GtkSpinButtons main CSS node has the name spinbutton. It creates subnodes for the entry and the two buttons, with these names. The button nodes have the style classes .up and .down. The GtkEntry subnodes (if present) are put below the entry node. The orientation of the spin button is reflected in the .vertical or .horizontal style class on the main node.
Using a GtkSpinButton to get an integer
// Provides a function to retrieve an integer value from a GtkSpinButton
// and creates a spin button to model percentage values.
gint
grab_int_value (GtkSpinButton *button,
gpointer user_data)
{
return gtk_spin_button_get_value_as_int (button);
}
void
create_integer_spin_button (void)
{
GtkWidget *window, *button;
GtkAdjustment *adjustment;
adjustment = gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 0.0);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (window), 5);
// creates the spinbutton, with no decimal places
button = gtk_spin_button_new (adjustment, 1.0, 0);
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show_all (window);
}
Using a GtkSpinButton to get a floating point value
// Provides a function to retrieve a floating point value from a
// GtkSpinButton, and creates a high precision spin button.
gfloat
grab_float_value (GtkSpinButton *button,
gpointer user_data)
{
return gtk_spin_button_get_value (button);
}
void
create_floating_spin_button (void)
{
GtkWidget *window, *button;
GtkAdjustment *adjustment;
adjustment = gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.0);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (window), 5);
// creates the spinbutton, with three decimal places
button = gtk_spin_button_new (adjustment, 0.001, 3);
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show_all (window);
}
Constructors
gtk_spin_button_new_with_range
This is a convenience constructor that allows creation of a numeric
GtkSpinButton
without manually creating an adjustment. The value is
initially set to the minimum value and a page increment of 10 * step
is the default. The precision of the spin button is equivalent to the
precision of step
.
Instance methods
gtk_spin_button_configure
Changes the properties of an existing spin button. The adjustment, climb rate, and number of decimal places are updated accordingly.
gtk_spin_button_get_increments
Gets the current step and page the increments used by spin_button
. See gtk_spin_button_set_increments().
gtk_spin_button_get_numeric
Returns whether non-numeric text can be typed into the spin button. See gtk_spin_button_set_numeric().
gtk_spin_button_get_snap_to_ticks
Returns whether the values are corrected to the nearest step. See gtk_spin_button_set_snap_to_ticks().
gtk_spin_button_get_update_policy
Gets the update behavior of a spin button. See gtk_spin_button_set_update_policy().
gtk_spin_button_get_wrap
Returns whether the spin button’s value wraps around to the opposite limit when the upper or lower limit of the range is exceeded. See gtk_spin_button_set_wrap().
gtk_spin_button_set_digits
Set the precision to be displayed by spin_button
. Up to 20 digit precision
is allowed.
gtk_spin_button_set_increments
Sets the step and page increments for spin_button. This affects how quickly the value changes when the spin button’s arrows are activated.
gtk_spin_button_set_numeric
Sets the flag that determines if non-numeric text can be typed into the spin button.
gtk_spin_button_set_snap_to_ticks
Sets the policy as to whether values are corrected to the nearest step increment when a spin button is activated after providing an invalid value.
gtk_spin_button_set_update_policy
Sets the update behavior of a spin button. This determines whether the spin button is always updated or only when a valid value is set.
gtk_spin_button_set_wrap
Sets the flag that determines if a spin button value wraps around to the opposite limit when the upper or lower limit of the range is exceeded.
gtk_spin_button_spin
Increment or decrement a spin button’s value in a specified direction by a specified amount.
Methods inherited from GtkBuildable (10)
gtk_buildable_add_child
Adds a child to buildable
. type
is an optional string
describing how the child should be added.
since: 2.12
gtk_buildable_construct_child
Constructs a child of buildable
with the name name
.
since: 2.12
gtk_buildable_custom_finished
This is similar to gtk_buildable_parser_finished()
but is
called once for each custom tag handled by the buildable
.
since: 2.12
gtk_buildable_custom_tag_end
This is called at the end of each custom element handled by the buildable.
since: 2.12
gtk_buildable_custom_tag_start
This is called for each unknown element under <child>
.
since: 2.12
gtk_buildable_get_internal_child
Get the internal child called childname
of the buildable
object.
since: 2.12
gtk_buildable_get_name
Gets the name of the buildable
object.
since: 2.12
gtk_buildable_parser_finished
Called when the builder finishes the parsing of a
[GtkBuilder UI definition][BUILDER-UI].
Note that this will be called once for each time
gtk_builder_add_from_file()
or gtk_builder_add_from_string()
is called on a builder.
since: 2.12
gtk_buildable_set_buildable_property
Sets the property name name
to value
on the buildable
object.
since: 2.12
gtk_buildable_set_name
Sets the name of the buildable
object.
since: 2.12
Methods inherited from GtkCellEditable (3)
gtk_cell_editable_editing_done
Emits the GtkCellEditable::editing-done
signal.
gtk_cell_editable_remove_widget
Emits the GtkCellEditable::remove-widget
signal.
gtk_cell_editable_start_editing
Begins editing on a cell_editable
.
Methods inherited from GtkEditable (13)
gtk_editable_copy_clipboard
Copies the contents of the currently selected content in the editable and puts it on the clipboard.
gtk_editable_cut_clipboard
Removes the contents of the currently selected content in the editable and puts it on the clipboard.
gtk_editable_delete_selection
Deletes the currently selected text of the editable. This call doesn’t do anything if there is no selected text.
gtk_editable_delete_text
Deletes a sequence of characters. The characters that are deleted are
those characters at positions from start_pos
up to, but not including
end_pos
. If end_pos
is negative, then the characters deleted
are those from start_pos
to the end of the text.
gtk_editable_get_chars
Retrieves a sequence of characters. The characters that are retrieved
are those characters at positions from start_pos
up to, but not
including end_pos
. If end_pos
is negative, then the characters
retrieved are those characters from start_pos
to the end of the text.
gtk_editable_get_editable
Retrieves whether editable
is editable. See gtk_editable_set_editable().
gtk_editable_get_position
Retrieves the current position of the cursor relative to the start of the content of the editable.
gtk_editable_get_selection_bounds
Retrieves the selection bound of the editable. start_pos will be filled
with the start of the selection and end_pos
with end. If no text was
selected both will be identical and FALSE
will be returned.
gtk_editable_insert_text
Inserts new_text_length
bytes of new_text
into the contents of the
widget, at position position
.
gtk_editable_paste_clipboard
Pastes the content of the clipboard to the current position of the cursor in the editable.
gtk_editable_select_region
Selects a region of text. The characters that are selected are
those characters at positions from start_pos
up to, but not
including end_pos
. If end_pos
is negative, then the
characters selected are those characters from start_pos
to
the end of the text.
gtk_editable_set_editable
Determines if the user can edit the text in the editable widget or not.
gtk_editable_set_position
Sets the cursor position in the editable to the given value.
Methods inherited from GtkOrientable (2)
gtk_orientable_get_orientation
Retrieves the orientation of the orientable
.
since: 2.16
gtk_orientable_set_orientation
Sets the orientation of the orientable
.
since: 2.16
Properties
Properties inherited from GtkEntry (51)
Gtk.Entry:activates-default
Gtk.Entry:attributes
A list of Pango attributes to apply to the text of the entry.
since: 3.6
Gtk.Entry:buffer
Gtk.Entry:caps-lock-warning
Whether password entries will show a warning when Caps Lock is on.
since: 2.16
Gtk.Entry:completion
The auxiliary completion object to use with the entry.
since: 3.2
Gtk.Entry:cursor-position
Gtk.Entry:editable
Gtk.Entry:enable-emoji-completion
Gtk.Entry:has-frame
Gtk.Entry:im-module
Which IM (input method) module should be used for this entry.
See GtkIMContext
.
since: 2.16
Gtk.Entry:inner-border
Sets the text area’s border between the text and the frame.
deprecated: 3.4 since: 2.10
Gtk.Entry:input-hints
Additional hints (beyond GtkEntry:input-purpose
) that
allow input methods to fine-tune their behaviour.
since: 3.6
Gtk.Entry:input-purpose
The purpose of this text field.
since: 3.6
Gtk.Entry:invisible-char
The invisible character is used when masking entry contents (in
"password mode")”). When it is not explicitly set with the
GtkEntry:invisible-char
property, GTK+ determines the character
to use from a list of possible candidates, depending on availability
in the current font.
since: 2.18
Gtk.Entry:invisible-char-set
Whether the invisible char has been set for the GtkEntry
.
since: 2.16
Gtk.Entry:max-length
Gtk.Entry:max-width-chars
The desired maximum width of the entry, in characters. If this property is set to -1, the width will be calculated automatically.
since: 3.12
Gtk.Entry:overwrite-mode
If text is overwritten when typing in the GtkEntry
.
since: 2.14
Gtk.Entry:placeholder-text
The text that will be displayed in the GtkEntry
when it is empty
and unfocused.
since: 3.2
Gtk.Entry:populate-all
If :populate-all is TRUE
, the GtkEntry::populate-popup
signal is also emitted for touch popups.
since: 3.8
Gtk.Entry:primary-icon-activatable
Whether the primary icon is activatable.
since: 2.16
Gtk.Entry:primary-icon-gicon
The GIcon
to use for the primary icon for the entry.
since: 2.16
Gtk.Entry:primary-icon-name
The icon name to use for the primary icon for the entry.
since: 2.16
Gtk.Entry:primary-icon-pixbuf
A pixbuf to use as the primary icon for the entry.
since: 2.16
Gtk.Entry:primary-icon-sensitive
Whether the primary icon is sensitive.
since: 2.16
Gtk.Entry:primary-icon-stock
The stock id to use for the primary icon for the entry.
deprecated: 3.10 since: 2.16
Gtk.Entry:primary-icon-storage-type
The representation which is used for the primary icon of the entry.
since: 2.16
Gtk.Entry:primary-icon-tooltip-markup
The contents of the tooltip on the primary icon, which is marked up with the [Pango text markup language][PangoMarkupFormat].
since: 2.16
Gtk.Entry:primary-icon-tooltip-text
The contents of the tooltip on the primary icon.
since: 2.16
Gtk.Entry:progress-fraction
The current fraction of the task that’s been completed.
since: 2.16
Gtk.Entry:progress-pulse-step
The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse().
since: 2.16
Gtk.Entry:scroll-offset
Gtk.Entry:secondary-icon-activatable
Whether the secondary icon is activatable.
since: 2.16
Gtk.Entry:secondary-icon-gicon
The GIcon
to use for the secondary icon for the entry.
since: 2.16
Gtk.Entry:secondary-icon-name
The icon name to use for the secondary icon for the entry.
since: 2.16
Gtk.Entry:secondary-icon-pixbuf
An pixbuf to use as the secondary icon for the entry.
since: 2.16
Gtk.Entry:secondary-icon-sensitive
Whether the secondary icon is sensitive.
since: 2.16
Gtk.Entry:secondary-icon-stock
The stock id to use for the secondary icon for the entry.
deprecated: 3.10 since: 2.16
Gtk.Entry:secondary-icon-storage-type
The representation which is used for the secondary icon of the entry.
since: 2.16
Gtk.Entry:secondary-icon-tooltip-markup
The contents of the tooltip on the secondary icon, which is marked up with the [Pango text markup language][PangoMarkupFormat].
since: 2.16
Gtk.Entry:secondary-icon-tooltip-text
The contents of the tooltip on the secondary icon.
since: 2.16
Gtk.Entry:selection-bound
Gtk.Entry:shadow-type
Which kind of shadow to draw around the entry when
GtkEntry:has-frame
is set to TRUE
.
deprecated: 3.20 since: 2.12
Gtk.Entry:show-emoji-icon
Gtk.Entry:tabs
Gtk.Entry:text
Gtk.Entry:text-length
The length of the text in the GtkEntry
.
since: 2.14
Gtk.Entry:truncate-multiline
When TRUE
, pasted multi-line text is truncated to the first line.
since: 2.10
Gtk.Entry:visibility
Gtk.Entry:width-chars
Gtk.Entry:xalign
The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts.
since: 2.4
Properties inherited from GtkWidget (39)
Gtk.Widget:app-paintable
Gtk.Widget:can-default
Gtk.Widget:can-focus
Gtk.Widget:composite-child
Gtk.Widget:double-buffered
Whether the widget is double buffered.
deprecated: 3.14 since: 2.18
Gtk.Widget:events
Gtk.Widget:expand
Whether to expand in both directions. Setting this sets both GtkWidget:hexpand
and GtkWidget:vexpand
.
since: 3.0
Gtk.Widget:focus-on-click
Whether the widget should grab focus when it is clicked with the mouse.
since: 3.20
Gtk.Widget:halign
How to distribute horizontal space if widget gets extra space, see GtkAlign
.
since: 3.0
Gtk.Widget:has-default
Gtk.Widget:has-focus
Gtk.Widget:has-tooltip
Enables or disables the emission of GtkWidget::query-tooltip
on widget
.
A value of TRUE
indicates that widget
can have a tooltip, in this case
the widget will be queried using GtkWidget::query-tooltip
to determine
whether it will provide a tooltip or not.
since: 2.12
Gtk.Widget:height-request
Gtk.Widget:hexpand
Whether to expand horizontally. See gtk_widget_set_hexpand().
since: 3.0
Gtk.Widget:hexpand-set
Whether to use the GtkWidget:hexpand
property. See gtk_widget_get_hexpand_set().
since: 3.0
Gtk.Widget:is-focus
Gtk.Widget:margin
Sets all four sides’ margin at once. If read, returns max margin on any side.
since: 3.0
Gtk.Widget:margin-bottom
Margin on bottom side of widget.
since: 3.0
Gtk.Widget:margin-end
Margin on end of widget, horizontally. This property supports left-to-right and right-to-left text directions.
since: 3.12
Gtk.Widget:margin-left
Margin on left side of widget.
deprecated: 3.12 since: 3.0
Gtk.Widget:margin-right
Margin on right side of widget.
deprecated: 3.12 since: 3.0
Gtk.Widget:margin-start
Margin on start of widget, horizontally. This property supports left-to-right and right-to-left text directions.
since: 3.12
Gtk.Widget:margin-top
Margin on top side of widget.
since: 3.0
Gtk.Widget:name
Gtk.Widget:no-show-all
Gtk.Widget:opacity
The requested opacity of the widget. See gtk_widget_set_opacity()
for
more details about window opacity.
since: 3.8
Gtk.Widget:parent
Gtk.Widget:receives-default
Gtk.Widget:scale-factor
The scale factor of the widget. See gtk_widget_get_scale_factor()
for
more details about widget scaling.
since: 3.10
Gtk.Widget:sensitive
Gtk.Widget:style
The style of the widget, which contains information about how it will look (colors, etc).
deprecated: Unknown
Gtk.Widget:tooltip-markup
Sets the text of tooltip to be the given string, which is marked up with the [Pango text markup language][PangoMarkupFormat]. Also see gtk_tooltip_set_markup().
since: 2.12
Gtk.Widget:tooltip-text
Sets the text of tooltip to be the given string.
since: 2.12
Gtk.Widget:valign
How to distribute vertical space if widget gets extra space, see GtkAlign
.
since: 3.0
Gtk.Widget:vexpand
Whether to expand vertically. See gtk_widget_set_vexpand().
since: 3.0
Gtk.Widget:vexpand-set
Whether to use the GtkWidget:vexpand
property. See gtk_widget_get_vexpand_set().
since: 3.0
Gtk.Widget:visible
Gtk.Widget:width-request
Gtk.Widget:window
The widget’s window if it is realized, NULL
otherwise.
since: 2.14
Properties inherited from GtkCellEditable (1)
GtkCellEditable:editing-canceled
Indicates whether editing on the cell has been canceled.
since: 2.20
Properties inherited from GtkOrientable (1)
Signals
Gtk.SpinButton::change-value
The ::change-value signal is a [keybinding signal][GtkBindingSignal] which gets emitted when the user initiates a value change.
Gtk.SpinButton::input
The ::input signal can be used to influence the conversion of
the users input into a double value. The signal handler is
expected to use gtk_entry_get_text()
to retrieve the text of
the entry and set new_value
to the new value.
Gtk.SpinButton::output
The ::output signal can be used to change to formatting of the value that is displayed in the spin buttons entry.
Gtk.SpinButton::value-changed
The ::value-changed signal is emitted when the value represented by
spinbutton
changes. Also see the GtkSpinButton::output
signal.
Gtk.SpinButton::wrapped
The ::wrapped signal is emitted right after the spinbutton wraps from its maximum to minimum value or vice-versa.
since: 2.10
Signals inherited from GtkEntry (14)
GtkEntry::activate
The ::activate signal is emitted when the user hits the Enter key.
GtkEntry::backspace
The ::backspace signal is a [keybinding signal][GtkBindingSignal] which gets emitted when the user asks for it.
GtkEntry::copy-clipboard
The ::copy-clipboard signal is a [keybinding signal][GtkBindingSignal] which gets emitted to copy the selection to the clipboard.
GtkEntry::cut-clipboard
The ::cut-clipboard signal is a [keybinding signal][GtkBindingSignal] which gets emitted to cut the selection to the clipboard.
GtkEntry::delete-from-cursor
The ::delete-from-cursor signal is a [keybinding signal][GtkBindingSignal] which gets emitted when the user initiates a text deletion.
GtkEntry::icon-press
The ::icon-press signal is emitted when an activatable icon is clicked.
since: 2.16
GtkEntry::icon-release
The ::icon-release signal is emitted on the button release from a mouse click over an activatable icon.
since: 2.16
GtkEntry::insert-at-cursor
The ::insert-at-cursor signal is a [keybinding signal][GtkBindingSignal] which gets emitted when the user initiates the insertion of a fixed string at the cursor.
GtkEntry::insert-emoji
The ::insert-emoji signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted to present the Emoji chooser for the entry
.
since: 3.22.27
GtkEntry::move-cursor
The ::move-cursor signal is a
[keybinding signal][GtkBindingSignal]
which gets emitted when the user initiates a cursor movement.
If the cursor is not visible in entry
, this signal causes
the viewport to be moved instead.
GtkEntry::paste-clipboard
The ::paste-clipboard signal is a [keybinding signal][GtkBindingSignal] which gets emitted to paste the contents of the clipboard into the text view.
GtkEntry::populate-popup
The ::populate-popup signal gets emitted before showing the context menu of the entry.
GtkEntry::preedit-changed
If an input method is used, the typed text will not immediately be committed to the buffer. So if you are interested in the text, connect to this signal.
since: 2.20
GtkEntry::toggle-overwrite
The ::toggle-overwrite signal is a [keybinding signal][GtkBindingSignal] which gets emitted to toggle the overwrite mode of the entry.
Signals inherited from GtkWidget (69)
GtkWidget::accel-closures-changed
GtkWidget::button-press-event
The ::button-press-event signal will be emitted when a button (typically from a mouse) is pressed.
GtkWidget::button-release-event
The ::button-release-event signal will be emitted when a button (typically from a mouse) is released.
GtkWidget::can-activate-accel
Determines whether an accelerator that activates the signal
identified by signal_id
can currently be activated.
This signal is present to allow applications and derived
widgets to override the default GtkWidget
handling
for determining whether an accelerator can be activated.
GtkWidget::child-notify
The ::child-notify signal is emitted for each [child property][child-properties] that has changed on an object. The signal’s detail holds the property name.
GtkWidget::composited-changed
The ::composited-changed signal is emitted when the composited
status of widgets
screen changes.
See gdk_screen_is_composited().
deprecated: 3.22
GtkWidget::configure-event
The ::configure-event signal will be emitted when the size, position or
stacking of the widget
‘s window has changed.
GtkWidget::damage-event
Emitted when a redirected window belonging to widget
gets drawn into.
The region/area members of the event shows what area of the redirected
drawable was drawn into.
since: 2.14
GtkWidget::delete-event
The ::delete-event signal is emitted if a user requests that
a toplevel window is closed. The default handler for this signal
destroys the window. Connecting gtk_widget_hide_on_delete()
to
this signal will cause the window to be hidden instead, so that
it can later be shown again without reconstructing it.
GtkWidget::destroy
Signals that all holders of a reference to the widget should release the reference that they hold. May result in finalization of the widget if all references are released.
GtkWidget::destroy-event
The ::destroy-event signal is emitted when a GdkWindow
is destroyed.
You rarely get this signal, because most widgets disconnect themselves
from their window before they destroy it, so no widget owns the
window at destroy time.
GtkWidget::direction-changed
The ::direction-changed signal is emitted when the text direction of a widget changes.
GtkWidget::drag-begin
The ::drag-begin signal is emitted on the drag source when a drag is started. A typical reason to connect to this signal is to set up a custom drag icon with e.g. gtk_drag_source_set_icon_pixbuf().
GtkWidget::drag-data-delete
The ::drag-data-delete signal is emitted on the drag source when a drag
with the action GDK_ACTION_MOVE
is successfully completed. The signal
handler is responsible for deleting the data that has been dropped. What
“delete” means depends on the context of the drag operation.
GtkWidget::drag-data-get
The ::drag-data-get signal is emitted on the drag source when the drop
site requests the data which is dragged. It is the responsibility of
the signal handler to fill data
with the data in the format which
is indicated by info
. See gtk_selection_data_set()
and gtk_selection_data_set_text().
GtkWidget::drag-data-received
The ::drag-data-received signal is emitted on the drop site when the
dragged data has been received. If the data was received in order to
determine whether the drop will be accepted, the handler is expected
to call gdk_drag_status()
and not finish the drag.
If the data was received in response to a GtkWidget::drag-drop
signal
(and this is the last target to be received), the handler for this
signal is expected to process the received data and then call
gtk_drag_finish(), setting the success
parameter depending on
whether the data was processed successfully.
GtkWidget::drag-drop
The ::drag-drop signal is emitted on the drop site when the user drops
the data onto the widget. The signal handler must determine whether
the cursor position is in a drop zone or not. If it is not in a drop
zone, it returns FALSE
and no further processing is necessary.
Otherwise, the handler returns TRUE
. In this case, the handler must
ensure that gtk_drag_finish()
is called to let the source know that
the drop is done. The call to gtk_drag_finish()
can be done either
directly or in a GtkWidget::drag-data-received
handler which gets
triggered by calling gtk_drag_get_data()
to receive the data for one
or more of the supported targets.
GtkWidget::drag-end
The ::drag-end signal is emitted on the drag source when a drag is
finished. A typical reason to connect to this signal is to undo
things done in GtkWidget::drag-begin
.
GtkWidget::drag-failed
The ::drag-failed signal is emitted on the drag source when a drag has
failed. The signal handler may hook custom code to handle a failed DnD
operation based on the type of error, it returns TRUE
is the failure has
been already handled (not showing the default “drag operation failed”
animation), otherwise it returns FALSE
.
since: 2.12
GtkWidget::drag-leave
The ::drag-leave signal is emitted on the drop site when the cursor
leaves the widget. A typical reason to connect to this signal is to
undo things done in GtkWidget::drag-motion
, e.g. undo highlighting
with gtk_drag_unhighlight().
GtkWidget::drag-motion
The ::drag-motion signal is emitted on the drop site when the user
moves the cursor over the widget during a drag. The signal handler
must determine whether the cursor position is in a drop zone or not.
If it is not in a drop zone, it returns FALSE
and no further processing
is necessary. Otherwise, the handler returns TRUE
. In this case, the
handler is responsible for providing the necessary information for
displaying feedback to the user, by calling gdk_drag_status().
GtkWidget::draw
This signal is emitted when a widget is supposed to render itself.
The widget
‘s top left corner must be painted at the origin of
the passed in context and be sized to the values returned by
gtk_widget_get_allocated_width()
and gtk_widget_get_allocated_height().
since: 3.0
GtkWidget::enter-notify-event
The ::enter-notify-event will be emitted when the pointer enters
the widget
‘s window.
GtkWidget::event
The GTK+ main loop will emit three signals for each GDK event delivered
to a widget: one generic ::event signal, another, more specific,
signal that matches the type of event delivered (e.g.
GtkWidget::key-press-event
) and finally a generic
GtkWidget::event-after
signal.
GtkWidget::event-after
After the emission of the GtkWidget::event
signal and (optionally)
the second more specific signal, ::event-after will be emitted
regardless of the previous two signals handlers return values.
GtkWidget::focus
GtkWidget::focus-in-event
The ::focus-in-event signal will be emitted when the keyboard focus
enters the widget
‘s window.
GtkWidget::focus-out-event
The ::focus-out-event signal will be emitted when the keyboard focus
leaves the widget
‘s window.
GtkWidget::grab-broken-event
Emitted when a pointer or keyboard grab on a window belonging
to widget
gets broken.
since: 2.8
GtkWidget::grab-focus
GtkWidget::grab-notify
The ::grab-notify signal is emitted when a widget becomes shadowed by a GTK+ grab (not a pointer or keyboard grab) on another widget, or when it becomes unshadowed due to a grab being removed.
GtkWidget::hide
The ::hide signal is emitted when widget
is hidden, for example with gtk_widget_hide().
GtkWidget::hierarchy-changed
The ::hierarchy-changed signal is emitted when the
anchored state of a widget changes. A widget is
“anchored” when its toplevel
ancestor is a GtkWindow
. This signal is emitted when
a widget changes from un-anchored to anchored or vice-versa.
GtkWidget::key-press-event
The ::key-press-event signal is emitted when a key is pressed. The signal emission will reoccur at the key-repeat rate when the key is kept pressed.
GtkWidget::key-release-event
The ::key-release-event signal is emitted when a key is released.
GtkWidget::keynav-failed
Gets emitted if keyboard navigation fails.
See gtk_widget_keynav_failed()
for details.
since: 2.12
GtkWidget::leave-notify-event
The ::leave-notify-event will be emitted when the pointer leaves
the widget
‘s window.
GtkWidget::map
The ::map signal is emitted when widget
is going to be mapped, that is
when the widget is visible (which is controlled with
gtk_widget_set_visible()) and all its parents up to the toplevel widget
are also visible. Once the map has occurred, GtkWidget::map-event
will
be emitted.
GtkWidget::map-event
The ::map-event signal will be emitted when the widget
‘s window is
mapped. A window is mapped when it becomes visible on the screen.
GtkWidget::mnemonic-activate
The default handler for this signal activates widget
if group_cycling
is FALSE
, or just makes widget
grab focus if group_cycling
is TRUE
.
GtkWidget::motion-notify-event
The ::motion-notify-event signal is emitted when the pointer moves
over the widget’s GdkWindow
.
GtkWidget::move-focus
GtkWidget::parent-set
The ::parent-set signal is emitted when a new parent has been set on a widget.
GtkWidget::popup-menu
This signal gets emitted whenever a widget should pop up a context
menu. This usually happens through the standard key binding mechanism;
by pressing a certain key while a widget is focused, the user can cause
the widget to pop up a menu. For example, the GtkEntry
widget creates
a menu with clipboard commands. See the
[Popup Menu Migration Checklist][checklist-popup-menu]
for an example of how to use this signal.
GtkWidget::property-notify-event
The ::property-notify-event signal will be emitted when a property on
the widget
‘s window has been changed or deleted.
GtkWidget::proximity-in-event
To receive this signal the GdkWindow
associated to the widget needs
to enable the #GDK_PROXIMITY_IN_MASK mask.
GtkWidget::proximity-out-event
To receive this signal the GdkWindow
associated to the widget needs
to enable the #GDK_PROXIMITY_OUT_MASK mask.
GtkWidget::query-tooltip
Emitted when GtkWidget:has-tooltip
is TRUE
and the hover timeout
has expired with the cursor hovering “above” widget
; or emitted when widget
got
focus in keyboard mode.
since: 2.12
GtkWidget::realize
The ::realize signal is emitted when widget
is associated with a
GdkWindow
, which means that gtk_widget_realize()
has been called or the
widget has been mapped (that is, it is going to be drawn).
GtkWidget::screen-changed
The ::screen-changed signal gets emitted when the screen of a widget has changed.
GtkWidget::scroll-event
The ::scroll-event signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are usually configured to generate button press events for buttons 4 and 5 when the wheel is turned.
GtkWidget::selection-clear-event
The ::selection-clear-event signal will be emitted when the
the widget
‘s window has lost ownership of a selection.
GtkWidget::selection-get
GtkWidget::selection-notify-event
GtkWidget::selection-received
GtkWidget::selection-request-event
The ::selection-request-event signal will be emitted when
another client requests ownership of the selection owned by
the widget
‘s window.
GtkWidget::show
The ::show signal is emitted when widget
is shown, for example with gtk_widget_show().
GtkWidget::show-help
GtkWidget::size-allocate
GtkWidget::state-changed
The ::state-changed signal is emitted when the widget state changes. See gtk_widget_get_state().
deprecated: 3.0
GtkWidget::state-flags-changed
The ::state-flags-changed signal is emitted when the widget state changes, see gtk_widget_get_state_flags().
since: 3.0
GtkWidget::style-set
The ::style-set signal is emitted when a new style has been set
on a widget. Note that style-modifying functions like
gtk_widget_modify_base()
also cause this signal to be emitted.
deprecated: 3.0
GtkWidget::style-updated
The ::style-updated signal is a convenience signal that is emitted when the
GtkStyleContext::changed
signal is emitted on the widget
‘s associated
GtkStyleContext
as returned by gtk_widget_get_style_context().
since: 3.0
GtkWidget::touch-event
GtkWidget::unmap
The ::unmap signal is emitted when widget
is going to be unmapped, which
means that either it or any of its parents up to the toplevel widget have
been set as hidden.
GtkWidget::unmap-event
The ::unmap-event signal will be emitted when the widget
‘s window is
unmapped. A window is unmapped when it becomes invisible on the screen.
GtkWidget::unrealize
The ::unrealize signal is emitted when the GdkWindow
associated with
widget
is destroyed, which means that gtk_widget_unrealize()
has been
called or the widget has been unmapped (that is, it is going to be hidden).
GtkWidget::visibility-notify-event
The ::visibility-notify-event will be emitted when the widget
‘s
window is obscured or unobscured.
deprecated: 3.12
GtkWidget::window-state-event
The ::window-state-event will be emitted when the state of the
toplevel window associated to the widget
changes.
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.
Signals inherited from GtkCellEditable (2)
GtkCellEditable::editing-done
This signal is a sign for the cell renderer to update its
value from the cell_editable
.
GtkCellEditable::remove-widget
This signal is meant to indicate that the cell is finished
editing, and the cell_editable
widget is being removed and may
subsequently be destroyed.
Signals inherited from GtkEditable (3)
GtkEditable::changed
The ::changed signal is emitted at the end of a single
user-visible operation on the contents of the GtkEditable
.
GtkEditable::delete-text
This signal is emitted when text is deleted from
the widget by the user. The default handler for
this signal will normally be responsible for deleting
the text, so by connecting to this signal and then
stopping the signal with g_signal_stop_emission(), it
is possible to modify the range of deleted text, or
prevent it from being deleted entirely. The start_pos
and end_pos
parameters are interpreted as for gtk_editable_delete_text().
GtkEditable::insert-text
This signal is emitted when text is inserted into the widget by the user. The default handler for this signal will normally be responsible for inserting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the inserted text, or prevent it from being inserted entirely.
Class structure
struct GtkSpinButtonClass {
GtkEntryClass parent_class;
gint (* input) (
GtkSpinButton* spin_button,
gdouble* new_value
);
gint (* output) (
GtkSpinButton* spin_button
);
void (* value_changed) (
GtkSpinButton* spin_button
);
void (* change_value) (
GtkSpinButton* spin_button,
GtkScrollType scroll
);
void (* wrapped) (
GtkSpinButton* spin_button
);
void (* _gtk_reserved1) (
void
);
void (* _gtk_reserved2) (
void
);
void (* _gtk_reserved3) (
void
);
void (* _gtk_reserved4) (
void
);
}
No description available.
Class members
parent_class: GtkEntryClass
No description available.
input: gint (* input) ( GtkSpinButton* spin_button, gdouble* new_value )
No description available.
output: gint (* output) ( GtkSpinButton* spin_button )
No description available.
value_changed: void (* value_changed) ( GtkSpinButton* spin_button )
No description available.
change_value: void (* change_value) ( GtkSpinButton* spin_button, GtkScrollType scroll )
No description available.
wrapped: void (* wrapped) ( GtkSpinButton* spin_button )
No description available.
_gtk_reserved1: void (* _gtk_reserved1) ( void )
No description available.
_gtk_reserved2: void (* _gtk_reserved2) ( void )
No description available.
_gtk_reserved3: void (* _gtk_reserved3) ( void )
No description available.
_gtk_reserved4: void (* _gtk_reserved4) ( void )
No description available.