gi-gtk-3.0.27: Gtk bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.SearchEntry

Contents

Description

SearchEntry is a subclass of Entry 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, SearchEntry emits the SearchEntry::search-changed signal which can be used instead of the Editable::changed signal.

The SearchEntry::previous-match, SearchEntry::next-match and SearchEntry::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 SearchBar. If that is not the case, you can use searchEntryHandleEvent to pass events.

Synopsis

Exported types

class GObject o => IsSearchEntry o Source #

Type class for types which can be safely cast to SearchEntry, for instance with toSearchEntry.

toSearchEntry :: (MonadIO m, IsSearchEntry o) => o -> m SearchEntry Source #

Cast to SearchEntry, for types for which this is known to be safe. For general casts, use castTo.

Methods

handleEvent

searchEntryHandleEvent Source #

Arguments

:: (HasCallStack, MonadIO m, IsSearchEntry a) 
=> a

entry: a SearchEntry

-> Event

event: a key event

-> m Bool

Returns: EVENT_STOP if the key press event resulted in a search beginning or continuing, EVENT_PROPAGATE otherwise.

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 SearchBar, it is preferable to call searchBarHandleEvent 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, EVENT_STOP will be returned. The caller should ensure that the entry is shown in this case, and not propagate the event further.

Since: 3.16

new

searchEntryNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m SearchEntry

Returns: a new SearchEntry

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

Since: 3.6

Signals

nextMatch

type C_SearchEntryNextMatchCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type SearchEntryNextMatchCallback = IO () Source #

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.

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

The default bindings for this signal is Ctrl-g.

Since: 3.16

afterSearchEntryNextMatch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryNextMatchCallback -> m SignalHandlerId Source #

Connect a signal handler for the “next-match” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after searchEntry #nextMatch callback

onSearchEntryNextMatch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryNextMatchCallback -> m SignalHandlerId Source #

Connect a signal handler for the “next-match” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on searchEntry #nextMatch callback

previousMatch

type C_SearchEntryPreviousMatchCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type SearchEntryPreviousMatchCallback = IO () Source #

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.

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

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

Since: 3.16

afterSearchEntryPreviousMatch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryPreviousMatchCallback -> m SignalHandlerId Source #

Connect a signal handler for the “previous-match” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after searchEntry #previousMatch callback

onSearchEntryPreviousMatch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryPreviousMatchCallback -> m SignalHandlerId Source #

Connect a signal handler for the “previous-match” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on searchEntry #previousMatch callback

searchChanged

type C_SearchEntrySearchChangedCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type SearchEntrySearchChangedCallback = IO () Source #

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

Since: 3.10

afterSearchEntrySearchChanged :: (IsSearchEntry a, MonadIO m) => a -> SearchEntrySearchChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “search-changed” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after searchEntry #searchChanged callback

onSearchEntrySearchChanged :: (IsSearchEntry a, MonadIO m) => a -> SearchEntrySearchChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “search-changed” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on searchEntry #searchChanged callback

stopSearch

type C_SearchEntryStopSearchCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type SearchEntryStopSearchCallback = IO () Source #

The ::stop-search signal is a [keybinding signal][GtkBindingSignal] 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.

Since: 3.16

afterSearchEntryStopSearch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryStopSearchCallback -> m SignalHandlerId Source #

Connect a signal handler for the “stop-search” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after searchEntry #stopSearch callback

onSearchEntryStopSearch :: (IsSearchEntry a, MonadIO m) => a -> SearchEntryStopSearchCallback -> m SignalHandlerId Source #

Connect a signal handler for the “stop-search” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on searchEntry #stopSearch callback