Gtk::SelectionData Class Reference

`#include <gtkmm/selectiondata.h>`

## Public Member Functions

| SelectionData ()
| SelectionData (GtkSelectionData *gobject, bool make_a_copy=true)
| SelectionData (const SelectionData &other)
SelectionData & | operator= (const SelectionData &other)
| SelectionData (SelectionData &&other) noexcept
SelectionData & | operator= (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::Pixbuf > | get_pixbuf ()
| Gets the contents of the selection data as a Gdk::Pixbuf.
Glib::RefPtr< const Gdk::Pixbuf > | get_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::string > | get_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::Display > | get_display ()
| Retrieves the display of the selection.
Glib::RefPtr< const Gdk::Display > | get_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

  length | Return 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

See also Gtk::Clipboard::request_targets()

## 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

  type | The type of the selection data.
  data | A 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

  type | The type of the selection data.
  format | The data format, i.e. the number of bits in a unit.
  data | Pointer to the data (will be copied).
  length | The 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

  format | The data format, i.e. the number of bits in a unit.
  data | Pointer to the data (will be copied).
  length | The 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

  pixbuf | A 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

  data | A 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

  uris | A `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

  writable | Whether 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

  buffer | A 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

  lhs | The left-hand side
  rhs | The right-hand side

## wrap()

Gtk::SelectionData wrap | ( | GtkSelectionData * | object,
|  | bool | take_copy = `false`
| ) |  |

related

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

Parameters

  object | The C instance.
  take_copy | False 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