gtkmm: 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. More...

 
const GtkSelectionData* gobj () const
 Provides access to the underlying C instance. More...

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

 
void set (int format, const guint8* data, int length)
 Assign a memory block of raw data. More...

 
void set (const std::string&type, int format, const guint8* data, int length)
 Assign a memory block of raw data. More...

 
void set (const std::string&type, const std::string& data)
 Assign a string of raw data. More...

 
bool set_text (const Glib::ustring& data)
 Assign UTF-8 encoded text. More...

 
Glib::ustring get_text () const
 Gets the contents of the selection data as a UTF-8 string. More...

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

 
Glib::RefPtr< Gdk::Pixbufget_pixbuf ()
 Gets the contents of the selection data as a Gdk::Pixbuf. More...

 
Glib::RefPtr< const Gdk::Pixbufget_pixbuf () const
 Gets the contents of the selection data as a Gdk::Pixbuf. More...

 
bool set_uris (const std::vector< Glib::ustring >& uris)
 Sets the contents of the selection from a list of URIs. More...

 
std::vector< Glib::ustringget_uris () const
 Gets the contents of the selection data as a container of URIs. More...

 
const guchar* get_data () const
 Retrieves the raw data of the selection. More...

 
int get_length () const
 Retrieves the length of the raw data of the selection. More...

 
const guchar* get_data (int& length) const
 Retrieves the raw data of the selection along with its length. More...

 
std::string get_data_as_string () const
 Retrieves the raw data of the selection as a std::string. More...

 
std::string get_selection () const
 Retrieves the selection Gdk::Atom of the selection data. More...

 
std::string get_target () const
 Retrieves the target of the selection. More...

 
std::vector< std::stringget_targets () const
 See also Gtk::Clipboard::request_targets() More...

 
std::string get_data_type () const
 Returns the type of the data as set by SelectionData::set(). More...

 
int get_format () const
 Retrieves the format of the selection. More...

 
Glib::RefPtr< Gdk::Displayget_display ()
 Retrieves the display of the selection. More...

 
Glib::RefPtr< const Gdk::Displayget_display () const
 Retrieves the display of the selection. More...

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

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

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

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

 

Static Public Member Functions

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

 

Protected Attributes

GtkSelectionData* gobject_
 

Related Functions

(Note that these are not member functions.)

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

 

Constructor & Destructor Documentation

Gtk::SelectionData::SelectionData ( )
Gtk::SelectionData::SelectionData ( GtkSelectionData *  gobject,
bool  make_a_copy = true 
)
explicit
Gtk::SelectionData::SelectionData ( const SelectionData other)
Gtk::SelectionData::SelectionData ( SelectionData&&  other)
noexcept
Gtk::SelectionData::~SelectionData ( )
noexcept

Member Function Documentation

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.
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.
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.
std::string Gtk::SelectionData::get_data_type ( ) const

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

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

Retrieves the display of the selection.

Since gtkmm 2.14:
Returns
The display of the selection.
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.
int Gtk::SelectionData::get_format ( ) const

Retrieves the format of the selection.

Since gtkmm 2.14:
Returns
The format of the selection.
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.
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().
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().
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.
std::string Gtk::SelectionData::get_target ( ) const

Retrieves the target of the selection.

Since gtkmm 2.14:
std::vector<std::string> Gtk::SelectionData::get_targets ( ) const
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.
static GType Gtk::SelectionData::get_type ( )
static

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

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.
GtkSelectionData* Gtk::SelectionData::gobj ( )
inline

Provides access to the underlying C instance.

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

Provides access to the underlying C instance.

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.

SelectionData& Gtk::SelectionData::operator= ( const SelectionData other)
SelectionData& Gtk::SelectionData::operator= ( SelectionData&&  other)
noexcept
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.
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.
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).
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.
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.
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.
void Gtk::SelectionData::swap ( SelectionData other)
noexcept
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.
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.
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.
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 Function Documentation

void swap ( SelectionData lhs,
SelectionData rhs 
)
related
Parameters
lhsThe left-hand side
rhsThe right-hand side
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

GtkSelectionData* Gtk::SelectionData::gobject_
protected