CtkSearchEntry

CtkSearchEntry — An entry which shows a search icon

Functions

Signals

void next-match Action
void previous-match Action
void search-changed Run Last
void stop-search Action

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── CtkWidget
            ╰── CtkEntry
                ╰── CtkSearchEntry

Implemented Interfaces

CtkSearchEntry implements AtkImplementorIface, CtkBuildable, CtkEditable and CtkCellEditable.

Includes

#include <ctk/ctk.h>

Description

CtkSearchEntry is a subclass of CtkEntry 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, CtkSearchEntry emits the “search-changed” signal which can be used instead of the “changed” signal.

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

Often, CtkSearchEntry will be fed events by means of being placed inside a CtkSearchBar. If that is not the case, you can use ctk_search_entry_handle_event() to pass events.

Functions

ctk_search_entry_new ()

CtkWidget *
ctk_search_entry_new (void);

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

Returns

a new CtkSearchEntry

Since: 3.6


ctk_search_entry_handle_event ()

gboolean
ctk_search_entry_handle_event (CtkSearchEntry *entry,
                               CdkEvent *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 CtkSearchBar, it is preferable to call ctk_search_bar_handle_event() instead, which will reveal the entry in addition to passing the event to this function.

If the key event is handled by the search entry and starts or continues a search, CDK_EVENT_STOP will be returned. The caller should ensure that the entry is shown in this case, and not propagate the event further.

Parameters

entry

a CtkSearchEntry

 

event

a key event

 

Returns

CDK_EVENT_STOP if the key press event resulted in a search beginning or continuing, CDK_EVENT_PROPAGATE otherwise.

Since: 3.16

Types and Values

struct CtkSearchEntry

struct CtkSearchEntry;

Signal Details

The “next-match” signal

void
user_function (CtkSearchEntry *entry,
               gpointer        user_data)

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

Applications should connect to it, to implement moving between matches.

The default bindings for this signal is Ctrl-g.

Parameters

entry

the entry on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Since: 3.16


The “previous-match” signal

void
user_function (CtkSearchEntry *entry,
               gpointer        user_data)

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

Applications should connect to it, to implement moving between matches.

The default bindings for this signal is Ctrl-Shift-g.

Parameters

entry

the entry on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Since: 3.16


The “search-changed” signal

void
user_function (CtkSearchEntry *entry,
               gpointer        user_data)

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

Parameters

entry

the entry on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.10


The “stop-search” signal

void
user_function (CtkSearchEntry *entry,
               gpointer        user_data)

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

Applications should connect to it, to implement hiding the search entry in this case.

The default bindings for this signal is Escape.

Parameters

entry

the entry on which the signal was emitted

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Since: 3.16