gtkmm 3.24.8
Gtk::SelectionData Class Reference

#include <gtkmm/selectiondata.h>

Public Member Functions

 SelectionData ()
 
 SelectionData (GtkSelectionData * gobject, bool make_a_copy=true)
 
 SelectionData (const SelectionData & other)
 
SelectionDataoperator= (const SelectionData & other)
 
 SelectionData (SelectionData && other) noexcept
 
SelectionDataoperator= (SelectionData && other) noexcept
 
 ~SelectionData () noexcept
 
void swap (SelectionData & other) noexcept
 
GtkSelectionData * gobj ()
 Provides access to the underlying C instance.
 
const GtkSelectionData * gobj () const
 Provides access to the underlying C instance.
 
GtkSelectionData * gobj_copy () const
 Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.
 
void set (int format, const guint8 *data, int length)
 Assign a memory block of raw data.
 
void set (const std::string & type, int format, const guint8 *data, int length)
 Assign a memory block of raw data.
 
void set (const std::string & type, const std::string &data)
 Assign a string of raw data.
 
bool set_text (const Glib::ustring &data)
 Assign UTF-8 encoded text.
 
Glib::ustring get_text () const
 Gets the contents of the selection data as a UTF-8 string.
 
bool set_pixbuf (const Glib::RefPtr< Gdk::Pixbuf > & pixbuf)
 Sets the contents of the selection from a Gdk::Pixbuf The pixbuf is converted to the form determined by selection_data->target.
 
Glib::RefPtr< Gdk::Pixbufget_pixbuf ()
 Gets the contents of the selection data as a Gdk::Pixbuf.
 
Glib::RefPtr< const Gdk::Pixbufget_pixbuf () const
 Gets the contents of the selection data as a Gdk::Pixbuf.
 
bool set_uris (const std::vector< Glib::ustring > & uris)
 Sets the contents of the selection from a list of URIs.
 
std::vector< Glib::ustring > get_uris () const
 Gets the contents of the selection data as a container of URIs.
 
const guchar * get_data () const
 Retrieves the raw data of the selection.
 
int get_length () const
 Retrieves the length of the raw data of the selection.
 
const guchar * get_data (int & length) const
 Retrieves the raw data of the selection along with its length.
 
std::string get_data_as_string () const
 Retrieves the raw data of the selection as a std::string.
 
std::string get_selection () const
 Retrieves the selection Gdk::Atom of the selection data.
 
std::string get_target () const
 Retrieves the target of the selection.
 
std::vector< std::stringget_targets () const
 See also Gtk::Clipboard::request_targets()
 
std::string get_data_type () const
 Returns the type of the data as set by SelectionData::set().
 
int get_format () const
 Retrieves the format of the selection.
 
Glib::RefPtr< Gdk::Displayget_display ()
 Retrieves the display of the selection.
 
Glib::RefPtr< const Gdk::Displayget_display () const
 Retrieves the display of the selection.
 
bool targets_include_uri () const
 Given a Gtk::SelectionData object holding a list of targets, determines if any of the targets in targets can be used to provide a list or URIs.
 
bool targets_include_text () const
 Given a Gtk::SelectionData object holding a list of targets, determines if any of the targets in targets can be used to provide text.
 
bool targets_include_rich_text (const Glib::RefPtr< TextBuffer > & buffer) const
 Given a Gtk::SelectionData object holding a list of targets, determines if any of the targets in targets can be used to provide rich text.
 
bool targets_include_image (bool writable=true) const
 Given a Gtk::SelectionData object holding a list of targets, determines if any of the targets in targets can be used to provide a Gdk::Pixbuf.
 

Static Public Member Functions

static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system.
 

Protected Attributes

GtkSelectionData * gobject_
 

Related Symbols

(Note that these are not member symbols.)

void swap (SelectionData & lhs, SelectionData & rhs) noexcept
 
Gtk::SelectionData wrap (GtkSelectionData * object, bool take_copy=false)
 A Glib::wrap() method for this object.
 

Constructor & Destructor Documentation

◆ SelectionData() [1/4]

Gtk::SelectionData::SelectionData ( )

◆ SelectionData() [2/4]

Gtk::SelectionData::SelectionData ( GtkSelectionData * gobject,
bool make_a_copy = true )
explicit

◆ SelectionData() [3/4]

Gtk::SelectionData::SelectionData ( const SelectionData & other)

◆ SelectionData() [4/4]

Gtk::SelectionData::SelectionData ( SelectionData && other)
noexcept

◆ ~SelectionData()

Gtk::SelectionData::~SelectionData ( )
noexcept

Member Function Documentation

◆ get_data() [1/2]

const guchar * Gtk::SelectionData::get_data ( ) const

Retrieves the raw data of the selection.

Since gtkmm 2.14
Returns
The raw data of the selection.

◆ get_data() [2/2]

const guchar * Gtk::SelectionData::get_data ( int & length) const

Retrieves the raw data of the selection along with its length.

Since gtkmm 3.0
Parameters
lengthReturn location for length of the data segment.
Returns
The raw data of the selection.

◆ get_data_as_string()

std::string Gtk::SelectionData::get_data_as_string ( ) const

Retrieves the raw data of the selection as a std::string.

Returns
The raw data of the selection. Contains 0-bytes, if the selection data does.

◆ get_data_type()

std::string Gtk::SelectionData::get_data_type ( ) const

Returns the type of the data as set by SelectionData::set().

◆ get_display() [1/2]

Glib::RefPtr< Gdk::Display > Gtk::SelectionData::get_display ( )

Retrieves the display of the selection.

Since gtkmm 2.14
Returns
The display of the selection.

◆ get_display() [2/2]

Glib::RefPtr< const Gdk::Display > Gtk::SelectionData::get_display ( ) const

Retrieves the display of the selection.

Since gtkmm 2.14
Returns
The display of the selection.

◆ get_format()

int Gtk::SelectionData::get_format ( ) const

Retrieves the format of the selection.

Since gtkmm 2.14
Returns
The format of the selection.

◆ get_length()

int Gtk::SelectionData::get_length ( ) const

Retrieves the length of the raw data of the selection.

Since gtkmm 2.14
Returns
The length of the data of the selection.

◆ get_pixbuf() [1/2]

Glib::RefPtr< Gdk::Pixbuf > Gtk::SelectionData::get_pixbuf ( )

Gets the contents of the selection data as a Gdk::Pixbuf.

Since gtkmm 2.6
Returns
If the selection data contained a recognized image type and it could be converted to a Gdk::Pixbuf, a newly allocated pixbuf is returned, otherwise nullptr. If the result is non-nullptr it must be freed with Glib::object_unref().

◆ get_pixbuf() [2/2]

Glib::RefPtr< const Gdk::Pixbuf > Gtk::SelectionData::get_pixbuf ( ) const

Gets the contents of the selection data as a Gdk::Pixbuf.

Since gtkmm 2.6
Returns
If the selection data contained a recognized image type and it could be converted to a Gdk::Pixbuf, a newly allocated pixbuf is returned, otherwise nullptr. If the result is non-nullptr it must be freed with Glib::object_unref().

◆ get_selection()

std::string Gtk::SelectionData::get_selection ( ) const

Retrieves the selection Gdk::Atom of the selection data.

Since gtkmm 2.16
Returns
The selection Gdk::Atom of the selection data.

◆ get_target()

std::string Gtk::SelectionData::get_target ( ) const

Retrieves the target of the selection.

Since gtkmm 2.14

◆ get_targets()

std::vector< std::string > Gtk::SelectionData::get_targets ( ) const

◆ get_text()

Glib::ustring Gtk::SelectionData::get_text ( ) const

Gets the contents of the selection data as a UTF-8 string.

Returns
If the selection data contained a recognized text type and it could be converted to UTF-8, a string containing the converted text, otherwise an empty string.

◆ get_type()

static GType Gtk::SelectionData::get_type ( )
static

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

◆ get_uris()

std::vector< Glib::ustring > Gtk::SelectionData::get_uris ( ) const

Gets the contents of the selection data as a container of URIs.

Since gtkmm 2.6
Returns
If the selection data contains a list of URIs, a container containing the URIs, otherwise an empty container.

◆ gobj() [1/2]

GtkSelectionData * Gtk::SelectionData::gobj ( )
inline

Provides access to the underlying C instance.

◆ gobj() [2/2]

const GtkSelectionData * Gtk::SelectionData::gobj ( ) const
inline

Provides access to the underlying C instance.

◆ gobj_copy()

GtkSelectionData * Gtk::SelectionData::gobj_copy ( ) const

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

◆ operator=() [1/2]

SelectionData & Gtk::SelectionData::operator= ( const SelectionData & other)

◆ operator=() [2/2]

SelectionData & Gtk::SelectionData::operator= ( SelectionData && other)
noexcept

◆ set() [1/3]

void Gtk::SelectionData::set ( const std::string & type,
const std::string & data )

Assign a string of raw data.

Store new data into the Gtk::SelectionData object. Should only be called from a selection handler callback.

Parameters
typeThe type of the selection data.
dataA string that contains the data (does not have to be text).

◆ set() [2/3]

void Gtk::SelectionData::set ( const std::string & type,
int format,
const guint8 * data,
int length )

Assign a memory block of raw data.

Store new data into the Gtk::SelectionData object. Should only be called from a selection handler callback. A 0-byte terminates the stored data.

Parameters
typeThe type of the selection data.
formatThe data format, i.e. the number of bits in a unit.
dataPointer to the data (will be copied).
lengthThe length of the data block in bytes.

◆ set() [3/3]

void Gtk::SelectionData::set ( int format,
const guint8 * data,
int length )

Assign a memory block of raw data.

Store new data into the Gtk::SelectionData object. Should only be called from a selection handler callback. A 0-byte terminates the stored data. The type of data is determined by get_target().

Parameters
formatThe data format, i.e. the number of bits in a unit.
dataPointer to the data (will be copied).
lengthThe length of the data block in bytes.

◆ set_pixbuf()

bool Gtk::SelectionData::set_pixbuf ( const Glib::RefPtr< Gdk::Pixbuf > & pixbuf)

Sets the contents of the selection from a Gdk::Pixbuf The pixbuf is converted to the form determined by selection_data->target.

Since gtkmm 2.6
Parameters
pixbufA Gdk::Pixbuf.
Returns
true if the selection was successfully set, otherwise false.

◆ set_text()

bool Gtk::SelectionData::set_text ( const Glib::ustring & data)

Assign UTF-8 encoded text.

Sets the contents of the selection from a UTF-8 encoded string. The string is converted to the form determined by get_target().

Parameters
dataA UTF-8 encoded string.
Returns
true if the selection was successfully set, otherwise false.

◆ set_uris()

bool Gtk::SelectionData::set_uris ( const std::vector< Glib::ustring > & uris)

Sets the contents of the selection from a list of URIs.

The string is converted to the form determined by selection_data->target.

Since gtkmm 2.6
Parameters
urisA nullptr-terminated array of strings holding URIs.
Returns
true if the selection was successfully set, otherwise false.

◆ swap()

void Gtk::SelectionData::swap ( SelectionData & other)
noexcept

◆ targets_include_image()

bool Gtk::SelectionData::targets_include_image ( bool writable = true) const

Given a Gtk::SelectionData object holding a list of targets, determines if any of the targets in targets can be used to provide a Gdk::Pixbuf.

Since gtkmm 2.6
Parameters
writableWhether to accept only targets for which GTK+ knows how to convert a pixbuf into the format.
Returns
true if selection_data holds a list of targets, and a suitable target for images is included, otherwise false.

◆ targets_include_rich_text()

bool Gtk::SelectionData::targets_include_rich_text ( const Glib::RefPtr< TextBuffer > & buffer) const

Given a Gtk::SelectionData object holding a list of targets, determines if any of the targets in targets can be used to provide rich text.

Since gtkmm 2.10
Parameters
bufferA Gtk::TextBuffer.
Returns
true if selection_data holds a list of targets, and a suitable target for rich text is included, otherwise false.

◆ targets_include_text()

bool Gtk::SelectionData::targets_include_text ( ) const

Given a Gtk::SelectionData object holding a list of targets, determines if any of the targets in targets can be used to provide text.

Returns
true if selection_data holds a list of targets, and a suitable target for text is included, otherwise false.

◆ targets_include_uri()

bool Gtk::SelectionData::targets_include_uri ( ) const

Given a Gtk::SelectionData object holding a list of targets, determines if any of the targets in targets can be used to provide a list or URIs.

Since gtkmm 2.10
Returns
true if selection_data holds a list of targets, and a suitable target for URI lists is included, otherwise false.

Friends And Related Symbol Documentation

◆ swap()

void swap ( SelectionData & lhs,
SelectionData & rhs )
related
Parameters
lhsThe left-hand side
rhsThe right-hand side

◆ wrap()

Gtk::SelectionData wrap ( GtkSelectionData * 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.

Member Data Documentation

◆ gobject_

GtkSelectionData* Gtk::SelectionData::gobject_
protected