gtkmm  4.8.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gtk::StringFilter Class Reference

Filtering by strings. More...

#include <gtkmm/stringfilter.h>

Inheritance diagram for Gtk::StringFilter:
Inheritance graph
[legend]

Public Types

enum class  MatchMode {
  EXACT ,
  SUBSTRING ,
  PREFIX
}
 Specifies how search strings are matched inside text. More...
 
- Public Types inherited from Gtk::Filter
enum class  Match {
  SOME ,
  NONE ,
  ALL
}
 Describes the known strictness of a filter. More...
 
enum class  Change {
  DIFFERENT ,
  LESS_STRICT ,
  MORE_STRICT
}
 Describes changes in a filter in more detail and allows objects using the filter to optimize refiltering items. More...
 

Public Member Functions

 StringFilter (StringFilter && src) noexcept
 
StringFilteroperator= (StringFilter && src) noexcept
 
 ~StringFilter () noexcept override
 
GtkStringFilter * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkStringFilter * gobj () const
 Provides access to the underlying C GObject. More...
 
GtkStringFilter * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
Glib::ustring get_search () const
 Gets the search term. More...
 
void set_search (const Glib::ustring &search)
 Sets the string to search for. More...
 
Glib::RefPtr< Expression< Glib::ustring > > get_expression ()
 Gets the expression that the string filter uses to obtain strings from items. More...
 
Glib::RefPtr< const Expression< Glib::ustring > > get_expression () const
 Gets the expression that the string filter uses to obtain strings from items. More...
 
void set_expression (const Glib::RefPtr< Expression< Glib::ustring >> & expression)
 Sets the expression that the string filter uses to obtain strings from items. More...
 
bool get_ignore_case () const
 Returns whether the filter ignores case differences. More...
 
void set_ignore_case (bool ignore_case=true)
 Sets whether the filter ignores case differences. More...
 
MatchMode get_match_mode () const
 Returns the match mode that the filter is using. More...
 
void set_match_mode (MatchMode mode)
 Sets the match mode for the filter. More...
 
Glib::PropertyProxy< Glib::RefPtr< Expression< Glib::ustring > > > property_expression ()
 The expression to evaluate on item to get a string to compare with. More...
 
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Expression< Glib::ustring > > > property_expression () const
 The expression to evaluate on item to get a string to compare with. More...
 
Glib::PropertyProxy< bool > property_ignore_case ()
 If matching is case sensitive. More...
 
Glib::PropertyProxy_ReadOnly< bool > property_ignore_case () const
 If matching is case sensitive. More...
 
Glib::PropertyProxy< MatchModeproperty_match_mode ()
 If exact matches are necessary or if substrings are allowed. More...
 
Glib::PropertyProxy_ReadOnly< MatchModeproperty_match_mode () const
 If exact matches are necessary or if substrings are allowed. More...
 
Glib::PropertyProxy< Glib::ustring > property_search ()
 The search term. More...
 
Glib::PropertyProxy_ReadOnly< Glib::ustring > property_search () const
 The search term. More...
 
- Public Member Functions inherited from Gtk::Filter
 Filter (Filter && src) noexcept
 
Filteroperator= (Filter && src) noexcept
 
 ~Filter () noexcept override
 
GtkFilter * gobj ()
 Provides access to the underlying C GObject. More...
 
const GtkFilter * gobj () const
 Provides access to the underlying C GObject. More...
 
GtkFilter * gobj_copy ()
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
bool match (const Glib::RefPtr< Glib::ObjectBase > & item)
 Checks if the given item is matched by the filter or not. More...
 
Match get_strictness ()
 Gets the known strictness of filters. More...
 
Glib::SignalProxy< void(Change)> signal_changed ()
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 
static Glib::RefPtr< StringFiltercreate (const Glib::RefPtr< Expression< Glib::ustring >> & expression)
 
- Static Public Member Functions inherited from Gtk::Filter
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system. More...
 

Protected Member Functions

 StringFilter (const Glib::RefPtr< Expression< Glib::ustring >> & expression)
 
- Protected Member Functions inherited from Gtk::Filter
 Filter ()
 
void changed (Change change=Change::DIFFERENT)
 Notifies all users of the filter that it has changed. More...
 
virtual bool match_vfunc (const Glib::RefPtr< Glib::ObjectBase > & item)
 
virtual Match get_strictness_vfunc ()
 

Related Functions

(Note that these are not member functions.)

Glib::RefPtr< Gtk::StringFilterwrap (GtkStringFilter * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

Detailed Description

Filtering by strings.

Gtk::StringFilter determines whether to include items by looking at strings and comparing them to a fixed search term. The strings are obtained from the items by evaluating a Gtk::Expression.

Gtk::StringFilter has several different modes of comparison - it can match the whole string, just a prefix, or any substring.

Since gtkmm 3.98:

Constructor & Destructor Documentation

◆ StringFilter() [1/2]

Gtk::StringFilter::StringFilter ( StringFilter &&  src)
noexcept

◆ ~StringFilter()

Gtk::StringFilter::~StringFilter ( )
overridenoexcept

◆ StringFilter() [2/2]

Gtk::StringFilter::StringFilter ( const Glib::RefPtr< Expression< Glib::ustring >> &  expression)
explicitprotected

Member Function Documentation

◆ create()

static Glib::RefPtr<StringFilter> Gtk::StringFilter::create ( const Glib::RefPtr< Expression< Glib::ustring >> &  expression)
static

◆ get_expression() [1/2]

Glib::RefPtr<Expression<Glib::ustring> > Gtk::StringFilter::get_expression ( )

Gets the expression that the string filter uses to obtain strings from items.

Returns
A Gtk::Expression.

◆ get_expression() [2/2]

Glib::RefPtr<const Expression<Glib::ustring> > Gtk::StringFilter::get_expression ( ) const

Gets the expression that the string filter uses to obtain strings from items.

Returns
A Gtk::Expression.

◆ get_ignore_case()

bool Gtk::StringFilter::get_ignore_case ( ) const

Returns whether the filter ignores case differences.

Returns
true if the filter ignores case.

◆ get_match_mode()

MatchMode Gtk::StringFilter::get_match_mode ( ) const

Returns the match mode that the filter is using.

Returns
The match mode of the filter.

◆ get_search()

Glib::ustring Gtk::StringFilter::get_search ( ) const

Gets the search term.

Returns
The search term.

◆ get_type()

static GType Gtk::StringFilter::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ gobj() [1/2]

GtkStringFilter* Gtk::StringFilter::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GtkStringFilter* Gtk::StringFilter::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ gobj_copy()

GtkStringFilter* Gtk::StringFilter::gobj_copy ( )

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

◆ operator=()

StringFilter& Gtk::StringFilter::operator= ( StringFilter &&  src)
noexcept

◆ property_expression() [1/2]

Glib::PropertyProxy< Glib::RefPtr<Expression<Glib::ustring> > > Gtk::StringFilter::property_expression ( )

The expression to evaluate on item to get a string to compare with.

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_expression() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Expression<Glib::ustring> > > Gtk::StringFilter::property_expression ( ) const

The expression to evaluate on item to get a string to compare with.

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_ignore_case() [1/2]

Glib::PropertyProxy< bool > Gtk::StringFilter::property_ignore_case ( )

If matching is case sensitive.

Default value: true

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_ignore_case() [2/2]

Glib::PropertyProxy_ReadOnly< bool > Gtk::StringFilter::property_ignore_case ( ) const

If matching is case sensitive.

Default value: true

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_match_mode() [1/2]

Glib::PropertyProxy< MatchMode > Gtk::StringFilter::property_match_mode ( )

If exact matches are necessary or if substrings are allowed.

Default value: Gtk::StringFilter::MatchMode::SUBSTRING

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_match_mode() [2/2]

Glib::PropertyProxy_ReadOnly< MatchMode > Gtk::StringFilter::property_match_mode ( ) const

If exact matches are necessary or if substrings are allowed.

Default value: Gtk::StringFilter::MatchMode::SUBSTRING

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ property_search() [1/2]

Glib::PropertyProxy< Glib::ustring > Gtk::StringFilter::property_search ( )

The search term.

Default value: ""

Returns
A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.

◆ property_search() [2/2]

Glib::PropertyProxy_ReadOnly< Glib::ustring > Gtk::StringFilter::property_search ( ) const

The search term.

Default value: ""

Returns
A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.

◆ set_expression()

void Gtk::StringFilter::set_expression ( const Glib::RefPtr< Expression< Glib::ustring >> &  expression)

Sets the expression that the string filter uses to obtain strings from items.

The expression must have a value type of G_TYPE_STRING.

Parameters
expressionA Gtk::Expression.

◆ set_ignore_case()

void Gtk::StringFilter::set_ignore_case ( bool  ignore_case = true)

Sets whether the filter ignores case differences.

Parameters
ignore_casetrue to ignore case.

◆ set_match_mode()

void Gtk::StringFilter::set_match_mode ( MatchMode  mode)

Sets the match mode for the filter.

Parameters
modeThe new match mode.

◆ set_search()

void Gtk::StringFilter::set_search ( const Glib::ustring &  search)

Sets the string to search for.

Parameters
searchThe string to search for or nullptr to clear the search.

Friends And Related Function Documentation

◆ wrap()

Glib::RefPtr< Gtk::StringFilter > wrap ( GtkStringFilter *  object,
bool  take_copy = false 
)
related

A Glib::wrap() method for this object.

Parameters
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns
A C++ instance that wraps this C instance.