SearchEntry

#GtkSearchEntry is a subclass of #GtkEntry that has been tailored for use as a search entry.

It will show an inactive symbolic “find” icon when the search entry is empty, and a symbolic “clear” icon when there is text. Clicking on the “clear” icon will empty the search entry.

Note that the search/clear icon is shown using a secondary icon, and thus does not work if you are using the secondary icon position for some other purpose.

To make filtering appear more reactive, it is a good idea to not react to every change in the entry text immediately, but only after a short delay. To support this, #GtkSearchEntry emits the #GtkSearchEntry::search-changed signal which can be used instead of the #GtkEditable::changed signal.

The #GtkSearchEntry::previous-match, #GtkSearchEntry::next-match and #GtkSearchEntry::stop-search signals can be used to implement moving between search results and ending the search.

Often, GtkSearchEntry will be fed events by means of being placed inside a #GtkSearchBar. If that is not the case, you can use gtk_search_entry_handle_event() to pass events.

Constructors

this
this(GtkSearchEntry* gtkSearchEntry, bool ownedRef)

Sets our main struct and passes it to the parent class.

this
this()

Creates a #GtkSearchEntry, with a find icon when the search field is empty, and a clear icon when it isn't.

Members

Functions

addOnNextMatch
gulong addOnNextMatch(void delegate(SearchEntry) dlg, ConnectFlags connectFlags)

The ::next-match signal is a [keybinding signal]GtkBindingSignal which gets emitted when the user initiates a move to the next match for the current search string.

addOnPreviousMatch
gulong addOnPreviousMatch(void delegate(SearchEntry) dlg, ConnectFlags connectFlags)

The ::previous-match signal is a [keybinding signal]GtkBindingSignal which gets emitted when the user initiates a move to the previous match for the current search string.

addOnSearchChanged
gulong addOnSearchChanged(void delegate(SearchEntry) dlg, ConnectFlags connectFlags)

The #GtkSearchEntry::search-changed signal is emitted with a short delay of 150 milliseconds after the last change to the entry text.

addOnStopSearch
gulong addOnStopSearch(void delegate(SearchEntry) dlg, ConnectFlags connectFlags)

The ::stop-search signal is a [keybinding signal]GtkBindingSignal which gets emitted when the user stops a search via keyboard input.

getSearchEntryStruct
GtkSearchEntry* getSearchEntryStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

handleEvent
bool handleEvent(Event event)

This function should be called when the top-level window which contains the search entry received a key event. If the entry is part of a #GtkSearchBar, it is preferable to call gtk_search_bar_handle_event() instead, which will reveal the entry in addition to passing the event to this function.

Static functions

getType
GType getType()

Variables

gtkSearchEntry
GtkSearchEntry* gtkSearchEntry;

the main Gtk struct

Inherited Members

From Entry

gtkEntry
GtkEntry* gtkEntry;

the main Gtk struct

getEntryStruct
GtkEntry* getEntryStruct(bool transferOwnership)

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

__anonymous
mixin CellEditableT!(GtkEntry)
Undocumented in source.
__anonymous
mixin EditableT!(GtkEntry)
Undocumented in source.
getStockId
StockID getStockId(GtkEntryIconPosition iconPos)

Gets the stock id of action. Since 2.16

setStockId
void setStockId(GtkEntryIconPosition iconPos, StockID stockId)

Sets the stock id on action Since 2.16

getType
GType getType()
getActivatesDefault
bool getActivatesDefault()

Retrieves the value set by gtk_entry_set_activates_default().

getAlignment
float getAlignment()

Gets the value set by gtk_entry_set_alignment().

getAttributes
PgAttributeList getAttributes()

Gets the attribute list that was set on the entry using gtk_entry_set_attributes(), if any.

getBuffer
EntryBuffer getBuffer()

Get the #GtkEntryBuffer object which holds the text for this widget.

getCompletion
EntryCompletion getCompletion()

Returns the auxiliary completion object currently in use by @entry.

getCurrentIconDragSource
int getCurrentIconDragSource()

Returns the index of the icon which is the source of the current DND operation, or -1.

getCursorHadjustment
Adjustment getCursorHadjustment()

Retrieves the horizontal cursor adjustment for the entry. See gtk_entry_set_cursor_hadjustment().

getHasFrame
bool getHasFrame()

Gets the value set by gtk_entry_set_has_frame().

getIconActivatable
bool getIconActivatable(GtkEntryIconPosition iconPos)

Returns whether the icon is activatable.

getIconArea
void getIconArea(GtkEntryIconPosition iconPos, GdkRectangle iconArea)

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.

getIconAtPos
int getIconAtPos(int x, int y)

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 #GtkWidget::query-tooltip signal handler.

getIconGicon
IconIF getIconGicon(GtkEntryIconPosition iconPos)

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).

getIconName
string getIconName(GtkEntryIconPosition iconPos)

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).

getIconPixbuf
Pixbuf getIconPixbuf(GtkEntryIconPosition iconPos)

Retrieves the image used for the icon.

getIconSensitive
bool getIconSensitive(GtkEntryIconPosition iconPos)

Returns whether the icon appears sensitive or insensitive.

getIconStock
string getIconStock(GtkEntryIconPosition iconPos)

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).

getIconStorageType
GtkImageType getIconStorageType(GtkEntryIconPosition iconPos)

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.

getIconTooltipMarkup
string getIconTooltipMarkup(GtkEntryIconPosition iconPos)

Gets the contents of the tooltip on the icon at the specified position in @entry.

getIconTooltipText
string getIconTooltipText(GtkEntryIconPosition iconPos)

Gets the contents of the tooltip on the icon at the specified position in @entry.

getInnerBorder
Border getInnerBorder()

This function returns the entry’s #GtkEntry:inner-border property. See gtk_entry_set_inner_border() for more information.

getInputHints
GtkInputHints getInputHints()

Gets the value of the #GtkEntry:input-hints property.

getInputPurpose
GtkInputPurpose getInputPurpose()

Gets the value of the #GtkEntry:input-purpose property.

getInvisibleChar
dchar getInvisibleChar()

Retrieves the character displayed in place of the real characters for entries with visibility set to false. See gtk_entry_set_invisible_char().

getLayout
PgLayout getLayout()

Gets the #PangoLayout used to display the entry. The layout is useful to e.g. convert text positions to pixel positions, in combination with gtk_entry_get_layout_offsets(). The returned layout is owned by the entry and must not be modified or freed by the caller.

getLayoutOffsets
void getLayoutOffsets(int x, int y)

Obtains the position of the #PangoLayout 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.

getMaxLength
int getMaxLength()

Retrieves the maximum allowed length of the text in @entry. See gtk_entry_set_max_length().

getMaxWidthChars
int getMaxWidthChars()

Retrieves the desired maximum width of @entry, in characters. See gtk_entry_set_max_width_chars().

getOverwriteMode
bool getOverwriteMode()

Gets the value set by gtk_entry_set_overwrite_mode().

getPlaceholderText
string getPlaceholderText()

Retrieves the text that will be displayed when @entry is empty and unfocused

getProgressFraction
double getProgressFraction()

Returns the current fraction of the task that’s been completed. See gtk_entry_set_progress_fraction().

getProgressPulseStep
double getProgressPulseStep()

Retrieves the pulse step set with gtk_entry_set_progress_pulse_step().

getTabs
PgTabArray getTabs()

Gets the tabstops that were set on the entry using gtk_entry_set_tabs(), if any.

getText
string getText()

Retrieves the contents of the entry widget. See also gtk_editable_get_chars().

getTextArea
void getTextArea(GdkRectangle textArea)

Gets the area where the entry’s text is drawn. This function is useful when drawing something to the entry in a draw callback.

getTextLength
ushort getTextLength()

Retrieves the current length of the text in @entry.

getVisibility
bool getVisibility()

Retrieves whether the text in @entry is visible. See gtk_entry_set_visibility().

getWidthChars
int getWidthChars()

Gets the value set by gtk_entry_set_width_chars().

grabFocusWithoutSelecting
void grabFocusWithoutSelecting()

Causes @entry to have keyboard focus.

imContextFilterKeypress
bool imContextFilterKeypress(GdkEventKey* event)

Allow the #GtkEntry 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().

layoutIndexToTextIndex
int layoutIndexToTextIndex(int layoutIndex)

Converts from a position in the entry’s #PangoLayout (returned by gtk_entry_get_layout()) to a position in the entry contents (returned by gtk_entry_get_text()).

progressPulse
void progressPulse()

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 gtk_entry_progress_pulse() causes the block to move by a little bit (the amount of movement per pulse is determined by gtk_entry_set_progress_pulse_step()).

resetImContext
void resetImContext()

Reset the input method context of the entry if needed.

setActivatesDefault
void setActivatesDefault(bool setting)

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.

setAlignment
void setAlignment(float xalign)

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.

setAttributes
void setAttributes(PgAttributeList attrs)

Sets a #PangoAttrList; the attributes in the list are applied to the entry text.

setBuffer
void setBuffer(EntryBuffer buffer)

Set the #GtkEntryBuffer object which holds the text for this widget.

setCompletion
void setCompletion(EntryCompletion completion)

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 #GtkEntryCompletion API. Completion is disabled if @completion is set to %NULL.

setCursorHadjustment
void setCursorHadjustment(Adjustment adjustment)

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 gtk_scrolled_window_get_hadjustment() for a typical way of obtaining the adjustment.

setHasFrame
void setHasFrame(bool setting)

Sets whether the entry has a beveled frame around it.

setIconActivatable
void setIconActivatable(GtkEntryIconPosition iconPos, bool activatable)

Sets whether the icon is activatable.

setIconDragSource
void setIconDragSource(GtkEntryIconPosition iconPos, TargetList targetList, GdkDragAction actions)

Sets up the icon at the given position so that GTK+ will start a drag operation when the user clicks and drags the icon.

setIconFromGicon
void setIconFromGicon(GtkEntryIconPosition iconPos, IconIF 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.

setIconFromIconName
void setIconFromIconName(GtkEntryIconPosition iconPos, string iconName)

Sets the icon shown in the entry at the specified position from the current icon theme.

setIconFromPixbuf
void setIconFromPixbuf(GtkEntryIconPosition iconPos, Pixbuf pixbuf)

Sets the icon shown in the specified position using a pixbuf.

setIconFromStock
void setIconFromStock(GtkEntryIconPosition iconPos, string stockId)

Sets the icon shown in the entry at the specified position from a stock image.

setIconSensitive
void setIconSensitive(GtkEntryIconPosition iconPos, bool sensitive)

Sets the sensitivity for the specified icon.

setIconTooltipMarkup
void setIconTooltipMarkup(GtkEntryIconPosition iconPos, string tooltip)

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.

setIconTooltipText
void setIconTooltipText(GtkEntryIconPosition iconPos, string tooltip)

Sets @tooltip as the contents of the tooltip for the icon at the specified position.

setInnerBorder
void setInnerBorder(Border border)

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.

setInputHints
void setInputHints(GtkInputHints hints)

Sets the #GtkEntry:input-hints property, which allows input methods to fine-tune their behaviour.

setInputPurpose
void setInputPurpose(GtkInputPurpose purpose)

Sets the #GtkEntry:input-purpose property which can be used by on-screen keyboards and other input methods to adjust their behaviour.

setInvisibleChar
void setInvisibleChar(dchar ch)

Sets the character to use in place of the actual text when gtk_entry_set_visibility() 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.

setMaxLength
void setMaxLength(int max)

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.

setMaxWidthChars
void setMaxWidthChars(int nChars)

Sets the desired maximum width in characters of @entry.

setOverwriteMode
void setOverwriteMode(bool overwrite)

Sets whether the text is overwritten when typing in the #GtkEntry.

setPlaceholderText
void setPlaceholderText(string text)

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 #GtkEntry.

setProgressFraction
void setProgressFraction(double fraction)

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.

setProgressPulseStep
void setProgressPulseStep(double fraction)

Sets the fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse().

setTabs
void setTabs(PgTabArray tabs)

Sets a #PangoTabArray; the tabstops in the array are applied to the entry text.

setText
void setText(string text)

Sets the text in the widget to the given value, replacing the current contents.

setVisibility
void setVisibility(bool visible)

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.

setWidthChars
void setWidthChars(int nChars)

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.

textIndexToLayoutIndex
int textIndexToLayoutIndex(int textIndex)

Converts from a position in the entry contents (returned by gtk_entry_get_text()) to a position in the entry’s #PangoLayout (returned by gtk_entry_get_layout(), with text retrieved via pango_layout_get_text()).

unsetInvisibleChar
void unsetInvisibleChar()

Unsets the invisible char previously set with gtk_entry_set_invisible_char(). So that the default invisible char is used again.

addOnActivate
gulong addOnActivate(void delegate(Entry) dlg, ConnectFlags connectFlags)

The ::activate signal is emitted when the user hits the Enter key.

addOnBackspace
gulong addOnBackspace(void delegate(Entry) dlg, ConnectFlags connectFlags)

The ::backspace signal is a [keybinding signal]GtkBindingSignal which gets emitted when the user asks for it.

addOnCopyClipboard
gulong addOnCopyClipboard(void delegate(Entry) dlg, ConnectFlags connectFlags)

The ::copy-clipboard signal is a [keybinding signal]GtkBindingSignal which gets emitted to copy the selection to the clipboard.

addOnCutClipboard
gulong addOnCutClipboard(void delegate(Entry) dlg, ConnectFlags connectFlags)

The ::cut-clipboard signal is a [keybinding signal]GtkBindingSignal which gets emitted to cut the selection to the clipboard.

addOnDeleteFromCursor
gulong addOnDeleteFromCursor(void delegate(GtkDeleteType, int, Entry) dlg, ConnectFlags connectFlags)

The ::delete-from-cursor signal is a [keybinding signal]GtkBindingSignal which gets emitted when the user initiates a text deletion.

addOnIconPress
gulong addOnIconPress(void delegate(GtkEntryIconPosition, GdkEventButton*, Entry) dlg, ConnectFlags connectFlags)

The ::icon-press signal is emitted when an activatable icon is clicked.

addOnIconPress
gulong addOnIconPress(void delegate(GtkEntryIconPosition, Event, Entry) dlg, ConnectFlags connectFlags)

The ::icon-press signal is emitted when an activatable icon is clicked.

addOnIconRelease
gulong addOnIconRelease(void delegate(GtkEntryIconPosition, GdkEventButton*, Entry) dlg, ConnectFlags connectFlags)

The ::icon-release signal is emitted on the button release from a mouse click over an activatable icon.

addOnIconRelease
gulong addOnIconRelease(void delegate(GtkEntryIconPosition, Event, Entry) dlg, ConnectFlags connectFlags)

The ::icon-release signal is emitted on the button release from a mouse click over an activatable icon.

addOnInsertAtCursor
gulong addOnInsertAtCursor(void delegate(string, Entry) dlg, ConnectFlags connectFlags)

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.

addOnInsertEmoji
gulong addOnInsertEmoji(void delegate(Entry) dlg, ConnectFlags connectFlags)

The ::insert-emoji signal is a [keybinding signal]GtkBindingSignal which gets emitted to present the Emoji chooser for the @entry.

addOnMoveCursor
gulong addOnMoveCursor(void delegate(GtkMovementStep, int, bool, Entry) dlg, ConnectFlags connectFlags)

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.

addOnPasteClipboard
gulong addOnPasteClipboard(void delegate(Entry) dlg, ConnectFlags connectFlags)

The ::paste-clipboard signal is a [keybinding signal]GtkBindingSignal which gets emitted to paste the contents of the clipboard into the text view.

addOnPopulatePopup
gulong addOnPopulatePopup(void delegate(Widget, Entry) dlg, ConnectFlags connectFlags)

The ::populate-popup signal gets emitted before showing the context menu of the entry.

addOnPreeditChanged
gulong addOnPreeditChanged(void delegate(string, Entry) dlg, ConnectFlags connectFlags)

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.

addOnToggleOverwrite
gulong addOnToggleOverwrite(void delegate(Entry) dlg, ConnectFlags connectFlags)

The ::toggle-overwrite signal is a [keybinding signal]GtkBindingSignal which gets emitted to toggle the overwrite mode of the entry.

Meta