[gtkmm-documentation] Update many example programs, Gdk::Event is ref counted



commit 6d7c46df4d808158ec785de20c0bf8b97deb54de
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Fri Jan 12 16:49:55 2018 +0100

    Update many example programs, Gdk::Event is ref counted
    
    Gdk::Event and its subclasses are reference counted.

 .../book/combobox/entry_complex/examplewindow.cc   |    2 +-
 .../book/combobox/entry_complex/examplewindow.h    |    2 +-
 examples/book/combobox/entry_text/examplewindow.cc |    2 +-
 examples/book/combobox/entry_text/examplewindow.h  |    2 +-
 examples/book/entry/icon/examplewindow.cc          |    3 ++-
 examples/book/entry/icon/examplewindow.h           |    3 ++-
 .../keyboard_events/propagation/examplewindow.cc   |   10 +++++-----
 .../keyboard_events/propagation/examplewindow.h    |   10 +++++-----
 .../book/keyboard_events/simple/examplewindow.cc   |   12 ++++++------
 .../book/keyboard_events/simple/examplewindow.h    |    2 +-
 examples/book/menus/popup/examplewindow.cc         |    4 ++--
 examples/book/menus/popup/examplewindow.h          |    2 +-
 examples/book/popover/examplewindow.cc             |    9 +++++----
 examples/book/searchbar/examplewindow.cc           |    2 +-
 examples/book/searchbar/examplewindow.h            |    2 +-
 examples/book/treeview/popup/treeview_withpopup.cc |    4 ++--
 examples/book/treeview/popup/treeview_withpopup.h  |    2 +-
 .../others/cellrenderercustom/cellrendererlist.cc  |    4 ++--
 .../others/cellrenderercustom/cellrendererlist.h   |    2 +-
 .../others/cellrenderercustom/cellrendererpopup.cc |   12 ++++++------
 .../others/cellrenderercustom/cellrendererpopup.h  |    6 +++---
 .../cellrenderercustom/cellrenderertoggle.cc       |    4 ++--
 examples/others/cellrenderercustom/popupentry.cc   |   10 +++++-----
 examples/others/cellrenderercustom/popupentry.h    |    6 +++---
 24 files changed, 60 insertions(+), 57 deletions(-)
---
diff --git a/examples/book/combobox/entry_complex/examplewindow.cc 
b/examples/book/combobox/entry_complex/examplewindow.cc
index 4e913c8..2b4c53c 100644
--- a/examples/book/combobox/entry_complex/examplewindow.cc
+++ b/examples/book/combobox/entry_complex/examplewindow.cc
@@ -111,7 +111,7 @@ void ExampleWindow::on_entry_activate()
   }
 }
 
-bool ExampleWindow::on_entry_focus_out_event(Gdk::EventFocus& /* event */)
+bool ExampleWindow::on_entry_focus_out_event(const Glib::RefPtr<Gdk::EventFocus>& /* event */)
 {
   auto entry = m_Combo.get_entry();
   if (entry)
diff --git a/examples/book/combobox/entry_complex/examplewindow.h 
b/examples/book/combobox/entry_complex/examplewindow.h
index 691bcdd..622d2b9 100644
--- a/examples/book/combobox/entry_complex/examplewindow.h
+++ b/examples/book/combobox/entry_complex/examplewindow.h
@@ -31,7 +31,7 @@ protected:
   //Signal handlers:
   void on_entry_changed();
   void on_entry_activate();
-  bool on_entry_focus_out_event(Gdk::EventFocus& event);
+  bool on_entry_focus_out_event(const Glib::RefPtr<Gdk::EventFocus>& event);
 
   //Signal connection:
   sigc::connection m_ConnectionFocusOut;
diff --git a/examples/book/combobox/entry_text/examplewindow.cc 
b/examples/book/combobox/entry_text/examplewindow.cc
index 28efa90..c661b56 100644
--- a/examples/book/combobox/entry_text/examplewindow.cc
+++ b/examples/book/combobox/entry_text/examplewindow.cc
@@ -68,7 +68,7 @@ void ExampleWindow::on_entry_activate()
     << ", Text=" << m_Combo.get_active_text() << std::endl;
 }
 
-bool ExampleWindow::on_entry_focus_out_event(Gdk::EventFocus& /* event */)
+bool ExampleWindow::on_entry_focus_out_event(const Glib::RefPtr<Gdk::EventFocus>& /* event */)
 {
   std::cout << "on_entry_focus_out_event(): Row=" << m_Combo.get_active_row_number()
     << ", Text=" << m_Combo.get_active_text() << std::endl;
diff --git a/examples/book/combobox/entry_text/examplewindow.h 
b/examples/book/combobox/entry_text/examplewindow.h
index 4040775..cd8f707 100644
--- a/examples/book/combobox/entry_text/examplewindow.h
+++ b/examples/book/combobox/entry_text/examplewindow.h
@@ -30,7 +30,7 @@ protected:
   //Signal handlers:
   void on_combo_changed();
   void on_entry_activate();
-  bool on_entry_focus_out_event(Gdk::EventFocus& event);
+  bool on_entry_focus_out_event(const Glib::RefPtr<Gdk::EventFocus>& event);
 
   //Signal connection:
   sigc::connection m_ConnectionFocusOut;
diff --git a/examples/book/entry/icon/examplewindow.cc b/examples/book/entry/icon/examplewindow.cc
index a8a4cba..1e65b2f 100644
--- a/examples/book/entry/icon/examplewindow.cc
+++ b/examples/book/entry/icon/examplewindow.cc
@@ -44,7 +44,8 @@ ExampleWindow::~ExampleWindow()
 {
 }
 
-void ExampleWindow::on_icon_pressed(Gtk::Entry::IconPosition /* icon_pos */, const Gdk::EventButton& /* 
event */)
+void ExampleWindow::on_icon_pressed(Gtk::Entry::IconPosition /* icon_pos */,
+  const Glib::RefPtr<const Gdk::EventButton>& /* event */)
 {
   std::cout << "Icon pressed." << std::endl;
 }
diff --git a/examples/book/entry/icon/examplewindow.h b/examples/book/entry/icon/examplewindow.h
index 854341c..2121ff2 100644
--- a/examples/book/entry/icon/examplewindow.h
+++ b/examples/book/entry/icon/examplewindow.h
@@ -27,7 +27,8 @@ public:
 
 protected:
   //Signal handlers:
-  void on_icon_pressed(Gtk::Entry::IconPosition icon_pos, const Gdk::EventButton& event);
+  void on_icon_pressed(Gtk::Entry::IconPosition icon_pos,
+    const Glib::RefPtr<const Gdk::EventButton>& event);
   void on_button_close();
 
   //Child widgets:
diff --git a/examples/book/keyboard_events/propagation/examplewindow.cc 
b/examples/book/keyboard_events/propagation/examplewindow.cc
index a7bee5a..d2635ac 100644
--- a/examples/book/keyboard_events/propagation/examplewindow.cc
+++ b/examples/book/keyboard_events/propagation/examplewindow.cc
@@ -50,7 +50,7 @@ ExampleWindow::ExampleWindow()
 }
 
 //By changing the return value we allow, or don't allow, the event to propagate to other elements.
-bool ExampleWindow::entryKeyRelease(Gdk::EventKey& /* event */ )
+bool ExampleWindow::entryKeyRelease(const Glib::RefPtr<Gdk::EventKey>& /* event */ )
 {
   std::cout << "Entry" << std::endl;
 
@@ -62,7 +62,7 @@ bool ExampleWindow::entryKeyRelease(Gdk::EventKey& /* event */ )
   return true;
 }
 
-bool ExampleWindow::gridKeyRelease(Gdk::EventKey& /* event */ )
+bool ExampleWindow::gridKeyRelease(const Glib::RefPtr<Gdk::EventKey>& /* event */ )
 {
   std::cout << "Grid" << std::endl;
 
@@ -70,13 +70,13 @@ bool ExampleWindow::gridKeyRelease(Gdk::EventKey& /* event */ )
   return false;
 }
 
-bool ExampleWindow::windowKeyReleaseBefore(Gdk::EventKey& /* event */ )
+bool ExampleWindow::windowKeyReleaseBefore(const Glib::RefPtr<Gdk::EventKey>& /* event */ )
 {
   std::cout << "Window before" << std::endl;
   return false;
 }
 
-bool ExampleWindow::on_key_release_event(Gdk::EventKey& key_event)
+bool ExampleWindow::on_key_release_event(const Glib::RefPtr<Gdk::EventKey>& key_event)
 {
   std::cout << "Window overridden" << std::endl;
 
@@ -85,7 +85,7 @@ bool ExampleWindow::on_key_release_event(Gdk::EventKey& key_event)
 }
 
 // This will set the entry's text in the label, every time a key is pressed.
-bool ExampleWindow::windowKeyRelease(Gdk::EventKey& /* event */ )
+bool ExampleWindow::windowKeyRelease(const Glib::RefPtr<Gdk::EventKey>& /* event */ )
 {
   std::cout << "Window after";
 
diff --git a/examples/book/keyboard_events/propagation/examplewindow.h 
b/examples/book/keyboard_events/propagation/examplewindow.h
index 6158319..29f36f5 100644
--- a/examples/book/keyboard_events/propagation/examplewindow.h
+++ b/examples/book/keyboard_events/propagation/examplewindow.h
@@ -28,12 +28,12 @@ public:
 
 private:
   //Override default signal handler:
-  bool on_key_release_event(Gdk::EventKey& event) override;
+  bool on_key_release_event(const Glib::RefPtr<Gdk::EventKey>& event) override;
 
-  bool entryKeyRelease(Gdk::EventKey& event);
-  bool gridKeyRelease(Gdk::EventKey& event);
-  bool windowKeyReleaseBefore(Gdk::EventKey& event);
-  bool windowKeyRelease(Gdk::EventKey& event);
+  bool entryKeyRelease(const Glib::RefPtr<Gdk::EventKey>& event);
+  bool gridKeyRelease(const Glib::RefPtr<Gdk::EventKey>& event);
+  bool windowKeyReleaseBefore(const Glib::RefPtr<Gdk::EventKey>& event);
+  bool windowKeyRelease(const Glib::RefPtr<Gdk::EventKey>& event);
 
   Gtk::Grid m_container;
 
diff --git a/examples/book/keyboard_events/simple/examplewindow.cc 
b/examples/book/keyboard_events/simple/examplewindow.cc
index 57beca7..06421fb 100644
--- a/examples/book/keyboard_events/simple/examplewindow.cc
+++ b/examples/book/keyboard_events/simple/examplewindow.cc
@@ -37,28 +37,28 @@ ExampleWindow::ExampleWindow()
   // We override the default event signal handler.
 }
 
-bool ExampleWindow::on_key_press_event(Gdk::EventKey& key_event)
+bool ExampleWindow::on_key_press_event(const Glib::RefPtr<Gdk::EventKey>& key_event)
 {
   //Gdk::ModifierType::MOD1_MASK -> the 'Alt' key(mask)
   //GDK_KEY_1 -> the '1' key
   //GDK_KEY_2 -> the '2' key
 
   //select the first radio button, when we press alt + 1
-  if((key_event.get_keyval() == GDK_KEY_1) &&
-    (key_event.get_state() & (Gdk::ModifierType::SHIFT_MASK | Gdk::ModifierType::CONTROL_MASK | 
Gdk::ModifierType::MOD1_MASK)) == Gdk::ModifierType::MOD1_MASK)
+  if((key_event->get_keyval() == GDK_KEY_1) &&
+    (key_event->get_state() & (Gdk::ModifierType::SHIFT_MASK | Gdk::ModifierType::CONTROL_MASK | 
Gdk::ModifierType::MOD1_MASK)) == Gdk::ModifierType::MOD1_MASK)
   {
     m_first.set_active();
     //returning true, cancels the propagation of the event
     return true;
   }
-  else if((key_event.get_keyval() == GDK_KEY_2) &&
-    (key_event.get_state() & (Gdk::ModifierType::SHIFT_MASK | Gdk::ModifierType::CONTROL_MASK | 
Gdk::ModifierType::MOD1_MASK)) == Gdk::ModifierType::MOD1_MASK)
+  else if((key_event->get_keyval() == GDK_KEY_2) &&
+    (key_event->get_state() & (Gdk::ModifierType::SHIFT_MASK | Gdk::ModifierType::CONTROL_MASK | 
Gdk::ModifierType::MOD1_MASK)) == Gdk::ModifierType::MOD1_MASK)
   {
     //and the second radio button, when we press alt + 2
     m_second.set_active();
     return true;
   }
-  else if(key_event.get_keyval() == GDK_KEY_Escape)
+  else if(key_event->get_keyval() == GDK_KEY_Escape)
   {
     //close the window, when the 'esc' key is pressed
     hide();
diff --git a/examples/book/keyboard_events/simple/examplewindow.h 
b/examples/book/keyboard_events/simple/examplewindow.h
index efcc429..cb62c94 100644
--- a/examples/book/keyboard_events/simple/examplewindow.h
+++ b/examples/book/keyboard_events/simple/examplewindow.h
@@ -28,7 +28,7 @@ public:
 
 private:
   //Override default signal handler:
-  bool on_key_press_event(Gdk::EventKey& event) override;
+  bool on_key_press_event(const Glib::RefPtr<Gdk::EventKey>& event) override;
 
   Gtk::Grid m_container;
   Gtk::RadioButton m_first;
diff --git a/examples/book/menus/popup/examplewindow.cc b/examples/book/menus/popup/examplewindow.cc
index bf1e11b..b0f632c 100644
--- a/examples/book/menus/popup/examplewindow.cc
+++ b/examples/book/menus/popup/examplewindow.cc
@@ -111,9 +111,9 @@ void ExampleWindow::on_menu_file_popup_generic()
    std::cout << "A popup menu item was selected." << std::endl;
 }
 
-bool ExampleWindow::on_button_press_event(Gdk::EventButton& button_event)
+bool ExampleWindow::on_button_press_event(const Glib::RefPtr<Gdk::EventButton>& button_event)
 {
-  if (button_event.shall_trigger_context_menu())
+  if (button_event->shall_trigger_context_menu())
   {
     if (m_pMenuPopup && !m_pMenuPopup->get_attach_widget())
       m_pMenuPopup->attach_to_widget(*this);
diff --git a/examples/book/menus/popup/examplewindow.h b/examples/book/menus/popup/examplewindow.h
index bd4faec..e6d7017 100644
--- a/examples/book/menus/popup/examplewindow.h
+++ b/examples/book/menus/popup/examplewindow.h
@@ -27,7 +27,7 @@ public:
 
 protected:
   //Signal handlers:
-  bool on_button_press_event(Gdk::EventButton& button_event) override;
+  bool on_button_press_event(const Glib::RefPtr<Gdk::EventButton>& button_event) override;
 
   void on_menu_file_popup_generic();
 
diff --git a/examples/book/popover/examplewindow.cc b/examples/book/popover/examplewindow.cc
index 1755663..508c2fe 100644
--- a/examples/book/popover/examplewindow.cc
+++ b/examples/book/popover/examplewindow.cc
@@ -143,7 +143,7 @@ void ExampleWindow::on_day_selected()
 {
   auto current_event = Glib::wrap(gtk_get_current_event(), false);
 
-  if (current_event.get_event_type() != Gdk::Event::Type::BUTTON_PRESS)
+  if (current_event->get_event_type() != Gdk::Event::Type::BUTTON_PRESS)
   {
     return;
   }
@@ -151,12 +151,13 @@ void ExampleWindow::on_day_selected()
   // The event is a GdkEventButton.
   // This suspicious-looking cast is okay because Gdk::EventButton
   // does not add any data members to those of Gdk::Event.
-  Gdk::EventButton& current_event_button = *static_cast<Gdk::EventButton*>(&current_event);
+  const Glib::RefPtr<Gdk::EventButton> current_event_button =
+    std::static_pointer_cast<Gdk::EventButton>(current_event);
 
   double x = 0.0;
   double y = 0.0;
-  current_event_button.get_coords(x, y);
-  current_event_button.get_window()->coords_to_parent(x, y, x, y);
+  current_event_button->get_coords(x, y);
+  current_event_button->get_window()->coords_to_parent(x, y, x, y);
   Gdk::Rectangle rect;
   auto allocation = m_calendar.get_allocation();
   rect.set_x(x - allocation.get_x());
diff --git a/examples/book/searchbar/examplewindow.cc b/examples/book/searchbar/examplewindow.cc
index 3a2a245..3dd970a 100644
--- a/examples/book/searchbar/examplewindow.cc
+++ b/examples/book/searchbar/examplewindow.cc
@@ -85,7 +85,7 @@ ExampleWindow::~ExampleWindow()
 {
 }
 
-bool ExampleWindow::on_window_key_press(Gdk::EventKey& key_event)
+bool ExampleWindow::on_window_key_press(const Glib::RefPtr<Gdk::EventKey>& key_event)
 {
   return m_search_bar.handle_event(key_event);
 }
diff --git a/examples/book/searchbar/examplewindow.h b/examples/book/searchbar/examplewindow.h
index b193935..4dcb9db 100644
--- a/examples/book/searchbar/examplewindow.h
+++ b/examples/book/searchbar/examplewindow.h
@@ -27,7 +27,7 @@ public:
 
 private:
   // Slots
-  bool on_window_key_press(Gdk::EventKey& key_event);
+  bool on_window_key_press(const Glib::RefPtr<Gdk::EventKey>& key_event);
   void on_search_mode_changed();
   void on_show_close_button_changed();
   void on_search_bar_reveal_changed();
diff --git a/examples/book/treeview/popup/treeview_withpopup.cc 
b/examples/book/treeview/popup/treeview_withpopup.cc
index 664d8ca..b934a7c 100644
--- a/examples/book/treeview/popup/treeview_withpopup.cc
+++ b/examples/book/treeview/popup/treeview_withpopup.cc
@@ -63,7 +63,7 @@ TreeView_WithPopup::~TreeView_WithPopup()
 {
 }
 
-bool TreeView_WithPopup::on_button_press_event(Gdk::EventButton& button_event)
+bool TreeView_WithPopup::on_button_press_event(const Glib::RefPtr<Gdk::EventButton>& button_event)
 {
   bool return_value = false;
 
@@ -72,7 +72,7 @@ bool TreeView_WithPopup::on_button_press_event(Gdk::EventButton& button_event)
   return_value = TreeView::on_button_press_event(button_event);
 
   //Then do our custom stuff:
-  if (button_event.shall_trigger_context_menu())
+  if (button_event->shall_trigger_context_menu())
     m_Menu_Popup.popup_at_pointer(button_event);
 
   return return_value;
diff --git a/examples/book/treeview/popup/treeview_withpopup.h 
b/examples/book/treeview/popup/treeview_withpopup.h
index ec3d042..c445fc2 100644
--- a/examples/book/treeview/popup/treeview_withpopup.h
+++ b/examples/book/treeview/popup/treeview_withpopup.h
@@ -28,7 +28,7 @@ public:
 protected:
   // Override Signal handler:
   // Alternatively, use signal_button_press_event().connect_notify()
-  bool on_button_press_event(Gdk::EventButton& button_event) override;
+  bool on_button_press_event(const Glib::RefPtr<Gdk::EventButton>& button_event) override;
 
   //Signal handler for popup menu items:
   void on_menu_file_popup_generic();
diff --git a/examples/others/cellrenderercustom/cellrendererlist.cc 
b/examples/others/cellrenderercustom/cellrendererlist.cc
index 3e5ae00..a6392db 100644
--- a/examples/others/cellrenderercustom/cellrendererlist.cc
+++ b/examples/others/cellrenderercustom/cellrendererlist.cc
@@ -91,9 +91,9 @@ void CellRendererList::on_show_popup(const Glib::ustring& path, int x1, int y1,
   CellRendererPopup::on_show_popup(path, x1, y1, x2, y2);
 }
 
-bool CellRendererList::on_tree_view_button_release_event(Gdk::EventButton& event)
+bool CellRendererList::on_tree_view_button_release_event(const Glib::RefPtr<Gdk::EventButton>& event)
 {
-  if (event.get_button() == 1)
+  if (event->get_button() == 1)
   {
     hide_popup();
     return true;
diff --git a/examples/others/cellrenderercustom/cellrendererlist.h 
b/examples/others/cellrenderercustom/cellrendererlist.h
index 495a0a2..e525d00 100644
--- a/examples/others/cellrenderercustom/cellrendererlist.h
+++ b/examples/others/cellrenderercustom/cellrendererlist.h
@@ -38,7 +38,7 @@ private:
   Glib::RefPtr<Gtk::ListStore>  list_store_;
   Gtk::TreeView                 tree_view_;
 
-  bool on_tree_view_button_release_event(Gdk::EventButton& event);
+  bool on_tree_view_button_release_event(const Glib::RefPtr<Gdk::EventButton>& event);
   void on_tree_selection_changed();
 };
 
diff --git a/examples/others/cellrenderercustom/cellrendererpopup.cc 
b/examples/others/cellrenderercustom/cellrendererpopup.cc
index bfe7236..90e8921 100644
--- a/examples/others/cellrenderercustom/cellrendererpopup.cc
+++ b/examples/others/cellrenderercustom/cellrendererpopup.cc
@@ -128,7 +128,7 @@ void CellRendererPopup::get_preferred_width_for_height_vfunc(Gtk::Widget& widget
   natural_width += button_width_;
 }
 
-Gtk::CellEditable* CellRendererPopup::start_editing_vfunc(const Gdk::Event&,
+Gtk::CellEditable* CellRendererPopup::start_editing_vfunc(const Glib::RefPtr<const Gdk::Event>&,
                                                           Gtk::Widget&,
                                                           const Glib::ustring& path,
                                                           const Gdk::Rectangle&,
@@ -226,16 +226,16 @@ void CellRendererPopup::on_hide_popup()
   editing_canceled_ = false;
 }
 
-bool CellRendererPopup::on_button_press_event(Gdk::EventButton& event)
+bool CellRendererPopup::on_button_press_event(const Glib::RefPtr<Gdk::EventButton>& event)
 {
-  if (event.get_button() != 1)
+  if (event->get_button() != 1)
     return false;
 
   // If the event happened outside the popup, cancel editing.
 
   double x = 0.0;
   double y = 0.0;
-  event.get_root_coords(x, y);
+  event->get_root_coords(x, y);
 
   int xoffset = 0, yoffset = 0;
   popup_window_.get_window()->get_root_origin(xoffset, yoffset);
@@ -259,9 +259,9 @@ bool CellRendererPopup::on_button_press_event(Gdk::EventButton& event)
   return false;
 }
 
-bool CellRendererPopup::on_key_press_event(Gdk::EventKey& event)
+bool CellRendererPopup::on_key_press_event(const Glib::RefPtr<Gdk::EventKey>& event)
 {
-  switch (event.get_keyval())
+  switch (event->get_keyval())
   {
     case GDK_KEY_Escape:
       editing_canceled_ = true; break;
diff --git a/examples/others/cellrenderercustom/cellrendererpopup.h 
b/examples/others/cellrenderercustom/cellrendererpopup.h
index db59558..23642f6 100644
--- a/examples/others/cellrenderercustom/cellrendererpopup.h
+++ b/examples/others/cellrenderercustom/cellrendererpopup.h
@@ -47,7 +47,7 @@ protected:
   void get_preferred_width_for_height_vfunc(Gtk::Widget& widget, int height,
     int& minimum_width, int& natural_width) const override;
 
-  Gtk::CellEditable* start_editing_vfunc(const Gdk::Event& event,
+  Gtk::CellEditable* start_editing_vfunc(const Glib::RefPtr<const Gdk::Event>& event,
                                          Gtk::Widget& widget,
                                          const Glib::ustring& path,
                                          const Gdk::Rectangle& background_area,
@@ -70,8 +70,8 @@ private:
   bool          shown_;
   bool          editing_canceled_;
 
-  bool on_button_press_event(Gdk::EventButton& event);
-  bool on_key_press_event(Gdk::EventKey& event);
+  bool on_button_press_event(const Glib::RefPtr<Gdk::EventButton>& event);
+  bool on_key_press_event(const Glib::RefPtr<Gdk::EventKey>& event);
   void on_style_updated();
 
   void on_popup_editing_done();
diff --git a/examples/others/cellrenderercustom/cellrenderertoggle.cc 
b/examples/others/cellrenderercustom/cellrenderertoggle.cc
index c493e37..36761fe 100644
--- a/examples/others/cellrenderercustom/cellrenderertoggle.cc
+++ b/examples/others/cellrenderercustom/cellrenderertoggle.cc
@@ -58,7 +58,7 @@ protected:
                       const Gdk::Rectangle& cell_area,
                       Gtk::CellRendererState flags) override;
 
-  bool activate_vfunc(const Gdk::Event& event,
+  bool activate_vfunc(const Glib::RefPtr<const Gdk::Event>& event,
                       Gtk::Widget& widget,
                       const Glib::ustring& path,
                       const Gdk::Rectangle& background_area,
@@ -224,7 +224,7 @@ void MyCellRendererToggle::snapshot_vfunc(Gtk::Snapshot& snapshot,
   }
 }
 
-bool MyCellRendererToggle::activate_vfunc(const Gdk::Event&,
+bool MyCellRendererToggle::activate_vfunc(const Glib::RefPtr<const Gdk::Event>&,
                                           Gtk::Widget&,
                                           const Glib::ustring& path,
                                           const Gdk::Rectangle&,
diff --git a/examples/others/cellrenderercustom/popupentry.cc 
b/examples/others/cellrenderercustom/popupentry.cc
index acf5124..53a0c28 100644
--- a/examples/others/cellrenderercustom/popupentry.cc
+++ b/examples/others/cellrenderercustom/popupentry.cc
@@ -93,9 +93,9 @@ PopupEntry::type_signal_arrow_clicked& PopupEntry::signal_arrow_clicked()
   return signal_arrow_clicked_;
 }
 
-bool PopupEntry::on_key_press_event(Gdk::EventKey& key_event)
+bool PopupEntry::on_key_press_event(const Glib::RefPtr<Gdk::EventKey>& key_event)
 {
-  if (key_event.get_keyval() == GDK_KEY_Escape)
+  if (key_event->get_keyval() == GDK_KEY_Escape)
   {
     editing_canceled_ = true;
 
@@ -130,7 +130,7 @@ bool PopupEntry::on_key_press_event(Gdk::EventKey& key_event)
   return Gtk::Box::on_key_press_event(key_event);
 }
 
-void PopupEntry::start_editing_vfunc(const Gdk::Event&)
+void PopupEntry::start_editing_vfunc(const Glib::RefPtr<const Gdk::Event>&)
 {
   entry_->select_region(0, -1);
 
@@ -153,9 +153,9 @@ void PopupEntry::on_entry_activate()
   //remove_widget(); // TODO: this line causes the widget to be removed twice -- dunno why
 }
 
-bool PopupEntry::on_entry_key_press_event(Gdk::EventKey& key_event)
+bool PopupEntry::on_entry_key_press_event(const Glib::RefPtr<Gdk::EventKey>& key_event)
 {
-  if (key_event.get_keyval() == GDK_KEY_Escape)
+  if (key_event->get_keyval() == GDK_KEY_Escape)
   {
     editing_canceled_ = true;
 
diff --git a/examples/others/cellrenderercustom/popupentry.h b/examples/others/cellrenderercustom/popupentry.h
index 8d0d797..db6daa4 100644
--- a/examples/others/cellrenderercustom/popupentry.h
+++ b/examples/others/cellrenderercustom/popupentry.h
@@ -42,14 +42,14 @@ public:
   type_signal_arrow_clicked& signal_arrow_clicked();
 
 protected:
-  bool on_key_press_event(Gdk::EventKey& key_event) override;
-  void start_editing_vfunc(const Gdk::Event& event) override;
+  bool on_key_press_event(const Glib::RefPtr<Gdk::EventKey>& key_event) override;
+  void start_editing_vfunc(const Glib::RefPtr<const Gdk::Event>& event) override;
 
 private:
   typedef PopupEntry Self;
 
   void on_entry_activate();
-  bool on_entry_key_press_event(Gdk::EventKey& event);
+  bool on_entry_key_press_event(const Glib::RefPtr<Gdk::EventKey>& event);
   void on_button_clicked();
 
   Glib::ustring path_;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]