Coller
Quand l'utilisateur demande à coller des données à partir du Clipboard, vous devez demander un format défini et fournir une fonction de rappel qui est appelée avec les vraies données. Par exemple :
refClipboard->request_contents("example_custom_target", sigc::mem_fun(*this, &ExampleWindow::on_clipboard_received) );
Voici un exemple de fonction de rappel :
void ExampleWindow::on_clipboard_received( const Gtk::SelectionData& selection_data) { Glib::ustring clipboard_data = selection_data.get_data_as_string(); // Faire quelque choses avec les données collées. }
- XIX.III.I. Détermination des cibles admissibles
XIX.III.I. Détermination des cibles admissibles
Pour retrouver quelles sont les cibles actuellement admissibles dans Clipboard pour le collage, appelez la fonction membre request_targets() en indiquant une fonction membre à appeler avec l'information. Par exemple :
refClipboard->request_targets( sigc::mem_fun(*this, &ExampleWindow::on_clipboard_received_targets) );
In your callback, compare the vector of available targets with those that your application supports for pasting. You could enable or disable a Paste menu item, depending on whether pasting is currently possible. For instance:
void ExampleWindow::on_clipboard_received_targets( const std::vector<Glib::ustring>& targets) { const bool bPasteIsPossible = std::find(targets.begin(), targets.end(), example_target_custom) != targets.end(); // Enable/Disable the Paste button appropriately: m_Button_Paste.set_sensitive(bPasteIsPossible); }