Sets our main struct and passes it to the parent class.
Creates a new gtk.SpinButton
This is a convenience constructor that allows creation of a numeric gtk.SpinButton 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.
The ::change-value signal is a [keybinding signal]GtkBindingSignal which gets emitted when the user initiates a value change.
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 Entry.getText to retrieve the text of the entry and set new_value to the new value.
The ::output signal can be used to change to formatting of the value that is displayed in the spin buttons entry.
The ::value-changed signal is emitted when the value represented by spinbutton changes. Also see the output signal.
The ::wrapped signal is emitted right after the spinbutton wraps from its maximum to minimum value or vice-versa.
Changes the properties of an existing spin button. The adjustment, climb rate, and number of decimal places are updated accordingly.
Get the adjustment associated with a gtk.SpinButton
Fetches the precision of spin_button. See SpinButton.setDigits.
Gets the current step and page the increments used by spin_button. See SpinButton.setIncrements.
Returns whether non-numeric text can be typed into the spin button. See SpinButton.setNumeric.
Gets the range allowed for spin_button. See SpinButton.setRange.
Returns whether the values are corrected to the nearest step. See SpinButton.setSnapToTicks.
Get the main Gtk struct
the main Gtk struct as a void*
Gets the update behavior of a spin button. See SpinButton.setUpdatePolicy.
Get the value in the spin_button.
Get the value spin_button represented as an integer.
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 SpinButton.setWrap.
Replaces the gtk.Adjustment associated with spin_button.
Set the precision to be displayed by spin_button. Up to 20 digit precision is allowed.
Sets the step and page increments for spin_button. This affects how quickly the value changes when the spin button’s arrows are activated.
Sets the flag that determines if non-numeric text can be typed into the spin button.
Sets the minimum and maximum allowable values for spin_button.
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.
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.
Sets the value of spin_button.
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.
Increment or decrement a spin button’s value in a specified direction by a specified amount.
Manually force an update of the spin button.
the main Gtk struct
the main Gtk struct
Get the main Gtk struct
the main Gtk struct as a void*
Gets the stock id of action. Since 2.16
Sets the stock id on action Since 2.16
Retrieves the value set by Entry.setActivatesDefault.
Gets the value set by Entry.setAlignment.
Gets the attribute list that was set on the entry using Entry.setAttributes, if any.
Get the gtk.EntryBuffer object which holds the text for this widget.
Returns the auxiliary completion object currently in use by entry.
Returns the index of the icon which is the source of the current DND operation, or -1.
Retrieves the horizontal cursor adjustment for the entry. See Entry.setCursorHadjustment.
Gets the value set by Entry.setHasFrame.
Returns whether the icon is activatable.
Gets the area where entry’s icon at icon_pos is drawn. This function is useful when drawing something to the entry in a draw callback.
Finds the icon at the given position and return its index. The position’s coordinates are relative to the entry’s top left corner. If x, y doesn’t lie inside an icon, -1 is returned. This function is intended for use in a query-tooltip signal handler.
Retrieves the GIcon used for the icon, or NULL if there is no icon or if the icon was set by some other method (e.g., by stock, pixbuf, or icon name).
Retrieves the icon name used for the icon, or NULL if there is no icon or if the icon was set by some other method (e.g., by pixbuf, stock or gicon).
Retrieves the image used for the icon.
Returns whether the icon appears sensitive or insensitive.
Retrieves the stock id used for the icon, or NULL if there is no icon or if the icon was set by some other method (e.g., by pixbuf, icon name or gicon).
Gets the type of representation being used by the icon to store image data. If the icon has no image data, the return value will be GTK_IMAGE_EMPTY.
Gets the contents of the tooltip on the icon at the specified position in entry.
Gets the contents of the tooltip on the icon at the specified position in entry.
This function returns the entry’s inner-border property. See Entry.setInnerBorder for more information.
Gets the value of the input-hints property.
Gets the value of the input-purpose property.
Retrieves the character displayed in place of the real characters for entries with visibility set to false. See Entry.setInvisibleChar.
Gets the gtk.Layout used to display the entry. The layout is useful to e.g. convert text positions to pixel positions, in combination with Entry.getLayoutOffsets. The returned layout is owned by the entry and must not be modified or freed by the caller.
Obtains the position of the gtk.Layout used to render text in the entry, in widget coordinates. Useful if you want to line up the text in an entry with some other text, e.g. when using the entry to implement editable cells in a sheet widget.
Retrieves the maximum allowed length of the text in entry. See Entry.setMaxLength.
Retrieves the desired maximum width of entry, in characters. See Entry.setMaxWidthChars.
Gets the value set by Entry.setOverwriteMode.
Retrieves the text that will be displayed when entry is empty and unfocused
Returns the current fraction of the task that’s been completed. See Entry.setProgressFraction.
Retrieves the pulse step set with Entry.setProgressPulseStep.
Gets the tabstops that were set on the entry using Entry.setTabs, if any.
Retrieves the contents of the entry widget. See also gtk_editable_get_chars().
Gets the area where the entry’s text is drawn. This function is useful when drawing something to the entry in a draw callback.
Retrieves the current length of the text in entry.
Retrieves whether the text in entry is visible. See Entry.setVisibility.
Gets the value set by Entry.setWidthChars.
Causes entry to have keyboard focus.
Allow the gtk.Entry input method to internally handle key press and release events. If this function returns TRUE, then no further processing should be done for this key event. See gtk_im_context_filter_keypress().
Converts from a position in the entry’s gtk.Layout (returned by Entry.getLayout) to a position in the entry contents (returned by Entry.getText).
Indicates that some progress is made, but you don’t know how much. Causes the entry’s progress indicator to enter “activity mode,” where a block bounces back and forth. Each call to Entry.progressPulse causes the block to move by a little bit (the amount of movement per pulse is determined by Entry.setProgressPulseStep).
Reset the input method context of the entry if needed.
If setting is TRUE, pressing Enter in the entry will activate the default widget for the window containing the entry. This usually means that the dialog box containing the entry will be closed, since the default widget is usually one of the dialog buttons.
Sets the alignment for the contents of the entry. This controls the horizontal positioning of the contents when the displayed text is shorter than the width of the entry.
Sets a PangoAttrList; the attributes in the list are applied to the entry text.
Set the gtk.EntryBuffer object which holds the text for this widget.
Sets completion to be the auxiliary completion object to use with entry. All further configuration of the completion mechanism is done on completion using the gtk.EntryCompletion API. Completion is disabled if completion is set to NULL.
Hooks up an adjustment to the cursor position in an entry, so that when the cursor is moved, the adjustment is scrolled to show that position. See ScrolledWindow.getHadjustment for a typical way of obtaining the adjustment.
Sets whether the entry has a beveled frame around it.
Sets whether the icon is activatable.
Sets up the icon at the given position so that GTK+ will start a drag operation when the user clicks and drags the icon.
Sets the icon shown in the entry at the specified position from the current icon theme. If the icon isn’t known, a “broken image” icon will be displayed instead.
Sets the icon shown in the entry at the specified position from the current icon theme.
Sets the icon shown in the specified position using a pixbuf.
Sets the icon shown in the entry at the specified position from a stock image.
Sets the sensitivity for the specified icon.
Sets tooltip as the contents of the tooltip for the icon at the specified position. tooltip is assumed to be marked up with the [Pango text markup language]PangoMarkupFormat.
Sets tooltip as the contents of the tooltip for the icon at the specified position.
Sets entry’s inner-border property to border, or clears it if NULL is passed. The inner-border is the area around the entry’s text, but inside its frame.
Sets the input-hints property, which allows input methods to fine-tune their behaviour.
Sets the input-purpose property which can be used by on-screen keyboards and other input methods to adjust their behaviour.
Sets the character to use in place of the actual text when Entry.setVisibility has been called to set text visibility to FALSE. i.e. this is the character used in “password mode” to show the user how many characters have been typed. By default, GTK+ picks the best invisible char available in the current font. If you set the invisible char to 0, then the user will get no feedback at all; there will be no text on the screen as they type.
Sets the maximum allowed length of the contents of the widget. If the current contents are longer than the given length, then they will be truncated to fit.
Sets the desired maximum width in characters of entry.
Sets whether the text is overwritten when typing in the gtk.Entry
Sets text to be displayed in entry when it is empty and unfocused. This can be used to give a visual hint of the expected contents of the gtk.Entry
Causes the entry’s progress indicator to “fill in” the given fraction of the bar. The fraction should be between 0.0 and 1.0, inclusive.
Sets the fraction of total entry width to move the progress bouncing block for each call to Entry.progressPulse.
Sets a PangoTabArray; the tabstops in the array are applied to the entry text.
Sets the text in the widget to the given value, replacing the current contents.
Sets whether the contents of the entry are visible or not. When visibility is set to FALSE, characters are displayed as the invisible char, and will also appear that way when the text in the entry widget is copied elsewhere.
Changes the size request of the entry to be about the right size for n_chars characters. Note that it changes the size request, the size can still be affected by how you pack the widget into containers. If n_chars is -1, the size reverts to the default entry size.
Converts from a position in the entry contents (returned by Entry.getText) to a position in the entry’s gtk.Layout (returned by Entry.getLayout, with text retrieved via Layout.getText).
Unsets the invisible char previously set with Entry.setInvisibleChar. So that the default invisible char is used again.
The ::activate signal is emitted when the user hits the Enter key.
The ::backspace signal is a [keybinding signal]GtkBindingSignal which gets emitted when the user asks for it.
The ::copy-clipboard signal is a [keybinding signal]GtkBindingSignal which gets emitted to copy the selection to the clipboard.
The ::cut-clipboard signal is a [keybinding signal]GtkBindingSignal which gets emitted to cut the selection to the clipboard.
The ::delete-from-cursor signal is a [keybinding signal]GtkBindingSignal which gets emitted when the user initiates a text deletion.
The ::icon-press signal is emitted when an activatable icon is clicked.
The ::icon-press signal is emitted when an activatable icon is clicked.
The ::icon-release signal is emitted on the button release from a mouse click over an activatable icon.
The ::icon-release signal is emitted on the button release from a mouse click over an activatable icon.
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.
The ::insert-emoji signal is a [keybinding signal]GtkBindingSignal which gets emitted to present the Emoji chooser for the entry.
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.
The ::paste-clipboard signal is a [keybinding signal]GtkBindingSignal which gets emitted to paste the contents of the clipboard into the text view.
The ::populate-popup signal gets emitted before showing the context menu of the entry.
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.
The ::toggle-overwrite signal is a [keybinding signal]GtkBindingSignal which gets emitted to toggle the overwrite mode of the entry.
Get the main Gtk struct
the main Gtk struct as a void*
Retrieves the orientation of the orientable.
Sets the orientation of the orientable.
A gtk.SpinButton 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 gtk.Entry, 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 gtk.Adjustment 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 width-chars and max-width-chars poperties to the desired number of characters to display in the entry.
CSS nodes
|[<!-- language="plain" --> spinbutton.horizontal ├── undershoot.left ├── undershoot.right ├── entry │ ╰── ... ├── button.down ╰── button.up
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
Using a GtkSpinButton to get a floating point value