[glom/gtkmm4v4] Use connect_notify() for glibmm/gtkmm signals that connect after.



commit 59fd29f055dc94f0f56ecdf6fbd4db836ac8348c
Author: Murray Cumming <murrayc murrayc com>
Date:   Wed Apr 26 08:24:08 2017 +0200

    Use connect_notify() for glibmm/gtkmm signals that connect after.
    
    This lets the signal handlers be void, instead of us returning bool
    values and imagining that they have any effect.
    Very possibly some of these should connect before, of course.

 glom/mode_data/flowtablewithfields.cc              |   11 +++----
 glom/mode_data/flowtablewithfields.h               |    2 +-
 .../print_layouts/window_print_layout_edit.cc      |   22 +++++++-------
 .../print_layouts/window_print_layout_edit.h       |    2 +-
 glom/print_layout/canvas_print_layout.cc           |   11 +++----
 glom/print_layout/canvas_print_layout.h            |    2 +-
 glom/utility_widgets/adddel/adddel.cc              |    6 ++--
 glom/utility_widgets/adddel/adddel.h               |    2 +-
 .../utility_widgets/canvas/canvas_group_movable.cc |   10 +++---
 .../canvas/canvas_group_resizable.cc               |   26 +++++++--------
 .../canvas/canvas_group_resizable.h                |    6 ++--
 .../utility_widgets/canvas/canvas_image_movable.cc |   10 +++---
 glom/utility_widgets/canvas/canvas_item_movable.cc |   32 ++++++++++----------
 glom/utility_widgets/canvas/canvas_item_movable.h  |   10 +++---
 glom/utility_widgets/canvas/canvas_line_movable.cc |    6 ++--
 glom/utility_widgets/canvas/canvas_rect_movable.cc |   10 +++---
 .../utility_widgets/canvas/canvas_table_movable.cc |   10 +++---
 glom/utility_widgets/canvas/canvas_text_movable.cc |   10 +++---
 18 files changed, 92 insertions(+), 96 deletions(-)
---
diff --git a/glom/mode_data/flowtablewithfields.cc b/glom/mode_data/flowtablewithfields.cc
index 4c9fa03..afaf5ef 100644
--- a/glom/mode_data/flowtablewithfields.cc
+++ b/glom/mode_data/flowtablewithfields.cc
@@ -193,8 +193,8 @@ void FlowTableWithFields::add_layout_group(const std::shared_ptr<LayoutGroup>& g
     event_box->add(*flow_table);
     event_box->set_visible_window(false);
 #ifndef GLOM_ENABLE_CLIENT_ONLY
-    event_box->signal_button_press_event().connect (sigc::mem_fun (*flow_table,
-      &FlowTableWithFields::on_event_box_button_press_event), true /* connect after */);
+    event_box->signal_button_press_event().connect_notify(sigc::mem_fun (*flow_table,
+      &FlowTableWithFields::on_event_box_button_press_event));
 #endif
     event_box->show();
 
@@ -401,8 +401,7 @@ void FlowTableWithFields::add_layout_notebook(const std::shared_ptr<LayoutItem_N
         event_box->add(*flow_table);
         event_box->set_visible_window(false);
 #ifndef GLOM_ENABLE_CLIENT_ONLY
-        event_box->signal_button_press_event().connect (sigc::mem_fun (*flow_table, 
&FlowTableWithFields::on_event_box_button_press_event),
-          true /* connect after */);
+        event_box->signal_button_press_event().connect_notify(sigc::mem_fun (*flow_table, 
&FlowTableWithFields::on_event_box_button_press_event));
 #endif
         event_box->show();
 
@@ -1306,10 +1305,10 @@ void FlowTableWithFields::on_menu_delete_activate()
   }
 }
 
-bool FlowTableWithFields::on_event_box_button_press_event(GdkEventButton *button_event)
+void FlowTableWithFields::on_event_box_button_press_event(GdkEventButton *button_event)
 {
   // Re-use the handler for the parent FlowTableWithFields:
-  return on_button_press_event(button_event);
+  on_button_press_event(button_event);
 }
 
 bool FlowTableWithFields::on_button_press_event(GdkEventButton *button_event)
diff --git a/glom/mode_data/flowtablewithfields.h b/glom/mode_data/flowtablewithfields.h
index d7b44fd..8aafffe 100644
--- a/glom/mode_data/flowtablewithfields.h
+++ b/glom/mode_data/flowtablewithfields.h
@@ -286,7 +286,7 @@ private:
   void on_menu_delete_activate() override; // override this to add a dialog box
   bool on_button_press_event(GdkEventButton *event) override;
 
-  bool on_event_box_button_press_event(GdkEventButton *event);
+  void on_event_box_button_press_event(GdkEventButton *event);
 #endif // !GLOM_ENABLE_CLIENT_ONLY
 };
 
diff --git a/glom/mode_design/print_layouts/window_print_layout_edit.cc 
b/glom/mode_design/print_layouts/window_print_layout_edit.cc
index 3128074..7c1078d 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.cc
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.cc
@@ -156,13 +156,13 @@ Window_PrintLayout_Edit::Window_PrintLayout_Edit(BaseObjectType* cobject, const
   //Note that we don't use Gtk::DestDefaults::DEFAULTS because that would prevent our signal handlers from 
being used:
   m_canvas.drag_dest_set(m_drag_targets_all, Gtk::DestDefaults::HIGHLIGHT, Gdk::DragAction::COPY);
   m_canvas.signal_drag_drop().connect(
-      sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_canvas_drag_drop), true /* connect after */ );
+      sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_canvas_drag_drop), true /* connect after */);
   m_canvas.signal_drag_motion().connect(
-      sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_canvas_drag_motion), true /* connect after */ );
+      sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_canvas_drag_motion), true /* connect after */);
   m_canvas.signal_drag_data_received().connect(
-      sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_canvas_drag_data_received), true /* connect after */ 
);
+      sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_canvas_drag_data_received), true /* connect after 
*/);
   m_canvas.signal_drag_leave().connect(
-      sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_canvas_drag_leave), true /* connect after */ );
+      sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_canvas_drag_leave), true /* connect after */);
 
   init_menu();
 
@@ -171,13 +171,13 @@ Window_PrintLayout_Edit::Window_PrintLayout_Edit(BaseObjectType* cobject, const
   m_toolbar.show();
 
   m_scrolled_window.get_hadjustment()->signal_changed().connect(
-    sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_scroll_value_changed), true /* connect after */ );
+    sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_scroll_value_changed));
   m_scrolled_window.get_hadjustment()->signal_value_changed().connect(
-    sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_scroll_value_changed), true /* connect after */ );
+    sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_scroll_value_changed) );
   m_scrolled_window.get_vadjustment()->signal_changed().connect(
-    sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_scroll_value_changed), true /* connect after */ );
+    sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_scroll_value_changed));
   m_scrolled_window.get_vadjustment()->signal_value_changed().connect(
-    sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_scroll_value_changed), true /* connect after */ );
+    sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_scroll_value_changed) );
 
   //Fill composite view:
   //add_view(m_box);
@@ -185,7 +185,7 @@ Window_PrintLayout_Edit::Window_PrintLayout_Edit(BaseObjectType* cobject, const
   setup_context_menu();
   m_canvas.signal_show_context().connect(sigc::mem_fun(*this, 
&Window_PrintLayout_Edit::on_canvas_show_context_menu));
 
-  m_canvas.signal_motion_notify_event().connect(sigc::mem_fun(*this, 
&Window_PrintLayout_Edit::on_canvas_motion_notify_event), true /* connect after */);
+  m_canvas.signal_motion_notify_event().connect_notify(sigc::mem_fun(*this, 
&Window_PrintLayout_Edit::on_canvas_motion_notify_event));
 
   m_canvas.signal_selection_changed().connect(
     sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_canvas_selection_changed));
@@ -711,7 +711,7 @@ void Window_PrintLayout_Edit::setup_context_menu()
   m_context_menu->attach_to_widget(*this);
 }
 
-bool Window_PrintLayout_Edit::on_canvas_motion_notify_event(GdkEventMotion* motion_event)
+void Window_PrintLayout_Edit::on_canvas_motion_notify_event(GdkEventMotion* motion_event)
 {
   //Notice that, unlike drag-motion, motion-notify-event's x/y position already
   //seems to have the scrolling taken into account.
@@ -722,7 +722,7 @@ bool Window_PrintLayout_Edit::on_canvas_motion_notify_event(GdkEventMotion* moti
   //gimp_ruler_set_position(m_hruler, x);
   //gimp_ruler_set_position(m_vruler, y);
 
-  return false;
+  // return false;
 }
 
 void Window_PrintLayout_Edit::on_canvas_show_context_menu(guint button, guint32 activate_time)
diff --git a/glom/mode_design/print_layouts/window_print_layout_edit.h 
b/glom/mode_design/print_layouts/window_print_layout_edit.h
index f0de0b7..f0d99fc 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.h
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.h
@@ -92,7 +92,7 @@ private:
   void on_menu_align_left();
   void on_menu_align_right();
 
-  bool on_canvas_motion_notify_event(GdkEventMotion* motion_event);
+  void on_canvas_motion_notify_event(GdkEventMotion* motion_event);
   void on_canvas_show_context_menu(guint button, guint32 activate_time);
   void on_context_menu_insert_field();
   void on_context_menu_insert_text();
diff --git a/glom/print_layout/canvas_print_layout.cc b/glom/print_layout/canvas_print_layout.cc
index cd7fbb2..7d17e51 100644
--- a/glom/print_layout/canvas_print_layout.cc
+++ b/glom/print_layout/canvas_print_layout.cc
@@ -315,11 +315,10 @@ void Canvas_PrintLayout::on_item_show_context_menu(guint button, guint32 activat
   m_context_menu->popup(button, activate_time);
 }
 
-bool Canvas_PrintLayout::on_background_button_press_event(const Glib::RefPtr<Goocanvas::Item>& /* target */, 
GdkEventButton* /* event */)
+void Canvas_PrintLayout::on_background_button_press_event(const Glib::RefPtr<Goocanvas::Item>& /* target */, 
GdkEventButton* /* event */)
 {
   //A click on empty space should deselect any selected items:
   select_all(false);
-  return false;
 }
 
 std::shared_ptr<LayoutItem_Portal> Canvas_PrintLayout::offer_related_records(const 
std::shared_ptr<LayoutItem_Portal>& portal, Gtk::Window* parent)
@@ -554,8 +553,8 @@ Glib::RefPtr<Goocanvas::Polyline> Canvas_PrintLayout::create_margin_line(double
 
   //Interpret a click on the line like a click on the background behind it:
   //TODO: Do this for grid lines and rules too:
-  line->signal_button_press_event().connect(
-    sigc::mem_fun(*this, &Canvas_PrintLayout::on_background_button_press_event), true /* connect after */);
+  line->signal_button_press_event().connect_notify(
+    sigc::mem_fun(*this, &Canvas_PrintLayout::on_background_button_press_event));
 
   m_bounds_group->add_child(line);
   return line;
@@ -606,8 +605,8 @@ void Canvas_PrintLayout::update_page_bounds()
   m_bounds_rect = Goocanvas::Rect::create(bounds.get_x1(), bounds.get_y1(), bounds.get_x2(), 
bounds.get_y2());
   m_bounds_rect->property_fill_color() = "white";
   m_bounds_rect->property_line_width() = 0;
-  m_bounds_rect->signal_button_press_event().connect(
-    sigc::mem_fun(*this, &Canvas_PrintLayout::on_background_button_press_event), true /* connect after */);
+  m_bounds_rect->signal_button_press_event().connect_notify(
+    sigc::mem_fun(*this, &Canvas_PrintLayout::on_background_button_press_event));
   m_bounds_group->add_child(m_bounds_rect);
 
   //Make sure that the bounds rect is at the bottom,
diff --git a/glom/print_layout/canvas_print_layout.h b/glom/print_layout/canvas_print_layout.h
index 45c8b24..52bd1f1 100644
--- a/glom/print_layout/canvas_print_layout.h
+++ b/glom/print_layout/canvas_print_layout.h
@@ -124,7 +124,7 @@ private:
   void on_context_menu_edit();
   void on_context_menu_formatting();
   void on_context_menu_delete();
-  bool on_background_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* 
button_event);
+  void on_background_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* 
button_event);
 
   void on_dialog_format_hide();
 #endif
diff --git a/glom/utility_widgets/adddel/adddel.cc b/glom/utility_widgets/adddel/adddel.cc
index 71b8c66..0b22ba6 100644
--- a/glom/utility_widgets/adddel/adddel.cc
+++ b/glom/utility_widgets/adddel/adddel.cc
@@ -96,7 +96,7 @@ void AddDel::init()
   //add_blank();
 
   setup_menu(this);
-  signal_button_press_event().connect(sigc::mem_fun(*this, &AddDel::on_button_press_event_Popup), true /* 
connect after */);
+  signal_button_press_event().connect_notify(sigc::mem_fun(*this, &AddDel::on_button_press_event_Popup));
 
   set_prevent_user_signals(false);
   set_ignore_treeview_signals(false);
@@ -215,7 +215,7 @@ void AddDel::setup_menu(Gtk::Widget* /* widget */)
   m_menu_popup->attach_to_widget(*this);
 }
 
-bool AddDel::on_button_press_event_Popup(GdkEventButton *button_event)
+void AddDel::on_button_press_event_Popup(GdkEventButton *button_event)
 {
   GdkModifierType mods;
   gdk_window_get_device_position( gtk_widget_get_window (Gtk::Widget::gobj()), button_event->device, 
nullptr, nullptr, &mods );
@@ -233,7 +233,7 @@ bool AddDel::on_button_press_event_Popup(GdkEventButton *button_event)
     }
   }
 
-  return true;
+  //return true;
 }
 
 Gtk::TreeModel::iterator AddDel::get_item_placeholder()
diff --git a/glom/utility_widgets/adddel/adddel.h b/glom/utility_widgets/adddel/adddel.h
index 57dbb73..f9357d0 100644
--- a/glom/utility_widgets/adddel/adddel.h
+++ b/glom/utility_widgets/adddel/adddel.h
@@ -256,7 +256,7 @@ private:
 
   void on_treeview_columns_changed();
 
-  bool on_button_press_event_Popup(GdkEventButton* button_event);
+  void on_button_press_event_Popup(GdkEventButton* button_event);
 
   void on_treeview_button_press_event(GdkEventButton* button_event);
 
diff --git a/glom/utility_widgets/canvas/canvas_group_movable.cc 
b/glom/utility_widgets/canvas/canvas_group_movable.cc
index 8486404..2d8b1cc 100644
--- a/glom/utility_widgets/canvas/canvas_group_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_group_movable.cc
@@ -30,12 +30,12 @@ namespace Glom
 CanvasGroupMovable::CanvasGroupMovable()
 : m_x(0), m_y(0), m_width(0), m_height(0)
 {
-  signal_motion_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_motion_notify_event), 
true /* connect after */);
-  signal_button_press_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_press_event), true 
/* connect after */);
-  signal_button_release_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_release_event), 
true /* connect after */);
+  signal_motion_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_motion_notify_event));
+  signal_button_press_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_press_event));
+  signal_button_release_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_release_event));
 
-  signal_enter_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_enter_notify_event), true 
/* connect after */);
-  signal_leave_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_leave_notify_event), true 
/* connect after */);
+  signal_enter_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_enter_notify_event));
+  signal_leave_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_leave_notify_event));
 }
 
 Glib::RefPtr<CanvasGroupMovable> CanvasGroupMovable::create()
diff --git a/glom/utility_widgets/canvas/canvas_group_resizable.cc 
b/glom/utility_widgets/canvas/canvas_group_resizable.cc
index f1d034e..51ee10a 100644
--- a/glom/utility_widgets/canvas/canvas_group_resizable.cc
+++ b/glom/utility_widgets/canvas/canvas_group_resizable.cc
@@ -84,9 +84,9 @@ void CanvasGroupResizable::create_rect_manipulators()
   add_child(m_rect);
 
   //Allow dragging of the rect to move everything:
-  m_rect->signal_motion_notify_event().connect(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_motion_notify_event), true /* connect after */);
-  m_rect->signal_button_press_event().connect(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_button_press_event), true /* connect after */);
-  m_rect->signal_button_release_event().connect(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_button_release_event), true /* connect after */);
+  m_rect->signal_motion_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_motion_notify_event));
+  m_rect->signal_button_press_event().connect_notify(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_button_press_event));
+  m_rect->signal_button_release_event().connect_notify(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_button_release_event));
 
   //m_rect->property_pointer_events() =
   //    (Goocanvas::PointerEvents)(Goocanvas::EVENTS_VISIBLE_FILL & GOO_CANVAS_EVENTS_VISIBLE_STROKE);
@@ -404,9 +404,9 @@ void CanvasGroupResizable::set_child(const Glib::RefPtr<CanvasItemMovable>& chil
   child->set_movement_allowed(false, false);
 
   //Allow drag to move:
-  item->signal_motion_notify_event().connect(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_motion_notify_event), true /* connect after */);
-  item->signal_button_press_event().connect(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_button_press_event), true /* connect after */);
-  item->signal_button_release_event().connect(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_button_release_event), true /* connect after */);
+  item->signal_motion_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_motion_notify_event));
+  item->signal_button_press_event().connect_notify(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_button_press_event));
+  item->signal_button_release_event().connect_notify(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_child_button_release_event));
 
   item->signal_enter_notify_event().connect(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_resizer_enter_notify_event), false);
   item->signal_leave_notify_event().connect(sigc::mem_fun(*this, 
&CanvasGroupResizable::on_resizer_leave_notify_event), false);
@@ -720,25 +720,23 @@ void CanvasGroupResizable::on_manipulator_edge_moved(const Glib::RefPtr<CanvasIt
 }
 
 
-bool CanvasGroupResizable::on_child_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, 
GdkEventButton* event)
+void CanvasGroupResizable::on_child_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, 
GdkEventButton* event)
 {
-  return CanvasItemMovable::on_button_press_event(target, event);
+  CanvasItemMovable::on_button_press_event(target, event);
 }
 
-bool CanvasGroupResizable::on_child_motion_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, 
GdkEventMotion* event)
+void CanvasGroupResizable::on_child_motion_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, 
GdkEventMotion* event)
 {
   //std::cout << "CanvasGroupResizable::on_motion_notify_event()\n";
 
-  const bool result = CanvasItemMovable::on_motion_notify_event(target, event);
+  CanvasItemMovable::on_motion_notify_event(target, event);
 
   position_extras();
-
-  return result;
 }
 
-bool CanvasGroupResizable::on_child_button_release_event(const Glib::RefPtr<Goocanvas::Item>& target, 
GdkEventButton* event)
+void CanvasGroupResizable::on_child_button_release_event(const Glib::RefPtr<Goocanvas::Item>& target, 
GdkEventButton* event)
 {
-  return CanvasItemMovable::on_button_release_event(target, event);
+  CanvasItemMovable::on_button_release_event(target, event);
 }
 
 
diff --git a/glom/utility_widgets/canvas/canvas_group_resizable.h 
b/glom/utility_widgets/canvas/canvas_group_resizable.h
index 62e96ca..66a0f82 100644
--- a/glom/utility_widgets/canvas/canvas_group_resizable.h
+++ b/glom/utility_widgets/canvas/canvas_group_resizable.h
@@ -95,9 +95,9 @@ private:
   bool on_resizer_leave_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventCrossing* event);
 
 
-  bool on_child_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* event);
-  bool on_child_button_release_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* event);
-  bool on_child_motion_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventMotion* event);
+  void on_child_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* event);
+  void on_child_button_release_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* event);
+  void on_child_motion_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventMotion* event);
 
   enum class Manipulators
   {
diff --git a/glom/utility_widgets/canvas/canvas_image_movable.cc 
b/glom/utility_widgets/canvas/canvas_image_movable.cc
index e90a1bb..a28daf4 100644
--- a/glom/utility_widgets/canvas/canvas_image_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_image_movable.cc
@@ -47,12 +47,12 @@ CanvasImageMovable::CanvasImageMovable(double x, double y)
 
 void CanvasImageMovable::init()
 {
-  signal_motion_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_motion_notify_event), 
true /* connect after */);
-  signal_button_press_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_press_event), true 
/* connect after */);
-  signal_button_release_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_release_event), 
true /* connect after */);
+  signal_motion_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_motion_notify_event));
+  signal_button_press_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_press_event));
+  signal_button_release_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_release_event));
 
-  signal_enter_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_enter_notify_event), true 
/* connect after */);
-  signal_leave_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_leave_notify_event), true 
/* connect after */);
+  signal_enter_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_enter_notify_event));
+  signal_leave_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_leave_notify_event));
 }
 
 Glib::RefPtr<CanvasImageMovable> CanvasImageMovable::create(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, double 
x, double y)
diff --git a/glom/utility_widgets/canvas/canvas_item_movable.cc 
b/glom/utility_widgets/canvas/canvas_item_movable.cc
index 9048a22..eb79cea 100644
--- a/glom/utility_widgets/canvas/canvas_item_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_item_movable.cc
@@ -69,7 +69,7 @@ CanvasItemMovable::CanvasItemMovable()
   */
 }
 
-bool CanvasItemMovable::on_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* 
event)
+void CanvasItemMovable::on_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* 
event)
 {
   //std::cout << G_STRFUNC << ": DEBUG\n";
 
@@ -80,7 +80,7 @@ bool CanvasItemMovable::on_button_press_event(const Glib::RefPtr<Goocanvas::Item
     case 1:
     {
       if(!m_allow_vertical_movement && !m_allow_horizontal_movement)
-        return false; // Not handled. Let it be handled by an item lower in the z order, or a parent group, 
if any.
+        return; //false; // Not handled. Let it be handled by an item lower in the z order, or a parent 
group, if any.
 
       auto item = target;
 
@@ -107,25 +107,25 @@ bool CanvasItemMovable::on_button_press_event(const Glib::RefPtr<Goocanvas::Item
       if(event->state & GDK_SHIFT_MASK)
         m_shift_click = true;
 
-      return true; // Handled.
+      return; // true; // Handled.
     }
     case 3:
     {
       m_signal_show_context.emit(event->button, event->time);
-      return false; // Not fully Handled.
+      return; // false; // Not fully Handled.
     }
     default:
       break;
   }
 
 
-  return false; // Not handled. Pass it to an item lower in the z order, if any.
+  return; // false; // Not handled. Pass it to an item lower in the z order, if any.
 }
 
-bool CanvasItemMovable::on_motion_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventMotion* 
event)
+void CanvasItemMovable::on_motion_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventMotion* 
event)
 {
   if(!m_allow_vertical_movement && !m_allow_horizontal_movement)
-    return false; // Not handled. Let it be handled by an item lower in the z order, or a parent group, if 
any.
+    return; // false; // Not handled. Let it be handled by an item lower in the z order, or a parent group, 
if any.
 
   auto item = target;
 
@@ -190,18 +190,18 @@ bool CanvasItemMovable::on_motion_notify_event(const Glib::RefPtr<Goocanvas::Ite
     m_drag_latest_position_y = new_y;
     m_signal_moved.emit(refThis, this_move_offset_x, this_move_offset_y);
 
-    return true; //We handled this event.
+    return; // true; //We handled this event.
   }
 
-  return false; //We didn't handle this event.
+  return; // false; //We didn't handle this event.
 }
 
-bool CanvasItemMovable::on_button_release_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* 
event)
+void CanvasItemMovable::on_button_release_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* 
event)
 {
   //std::cout << G_STRFUNC << ": DEBUG\n";
 
   if(!m_allow_vertical_movement && !m_allow_horizontal_movement)
-    return false; // Not handled. Let it be handled by an item lower in the z order, or a parent group, if 
any.
+    return; // false; // Not handled. Let it be handled by an item lower in the z order, or a parent group, 
if any.
 
   auto canvas = get_parent_canvas_widget();
   if(canvas)
@@ -239,22 +239,22 @@ bool CanvasItemMovable::on_button_release_event(const Glib::RefPtr<Goocanvas::It
     m_signal_selected.emit(refThis, m_shift_click);
   }
 
-  return true;
+  return; // true;
 }
 
-bool CanvasItemMovable::on_enter_notify_event(const Glib::RefPtr<Goocanvas::Item>& /* target */, 
GdkEventCrossing* event)
+void CanvasItemMovable::on_enter_notify_event(const Glib::RefPtr<Goocanvas::Item>& /* target */, 
GdkEventCrossing* event)
 {
   set_cursor(create_drag_cursor((GdkEventAny*)event, m_drag_cursor_type));
 
-  return false; //We didn't fully handle this event - let other signal handlers (even for other items) 
handle it too.
+  //return false; //We didn't fully handle this event - let other signal handlers (even for other items) 
handle it too.
 }
 
 
-bool CanvasItemMovable::on_leave_notify_event(const Glib::RefPtr<Goocanvas::Item>& /* target */, 
GdkEventCrossing* /* event */)
+void CanvasItemMovable::on_leave_notify_event(const Glib::RefPtr<Goocanvas::Item>& /* target */, 
GdkEventCrossing* /* event */)
 {
   unset_cursor();
 
-  return false; //We didn't fully handle this event - let other signal handlers (even for other items) 
handle it too.
+  // return false; //We didn't fully handle this event - let other signal handlers (even for other items) 
handle it too.
 }
 
 CanvasItemMovable::type_signal_moved CanvasItemMovable::signal_moved()
diff --git a/glom/utility_widgets/canvas/canvas_item_movable.h 
b/glom/utility_widgets/canvas/canvas_item_movable.h
index 72d43a3..4ddc0ad 100644
--- a/glom/utility_widgets/canvas/canvas_item_movable.h
+++ b/glom/utility_widgets/canvas/canvas_item_movable.h
@@ -134,11 +134,11 @@ private:
 
 public:
   //These should really be protected, but the compiler doesn't allow it:
-  bool on_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* event);
-  bool on_motion_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventMotion* event);
-  bool on_button_release_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* event);
-  bool on_enter_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventCrossing* event);
-  bool on_leave_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventCrossing* event);
+  void on_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* event);
+  void on_motion_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventMotion* event);
+  void on_button_release_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* event);
+  void on_enter_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventCrossing* event);
+  void on_leave_notify_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventCrossing* event);
 
 private:
   bool m_dragging;
diff --git a/glom/utility_widgets/canvas/canvas_line_movable.cc 
b/glom/utility_widgets/canvas/canvas_line_movable.cc
index 1e6a86f..0b2640e 100644
--- a/glom/utility_widgets/canvas/canvas_line_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_line_movable.cc
@@ -29,9 +29,9 @@ CanvasLineMovable::CanvasLineMovable()
 : Goocanvas::Polyline(0.0, 0.0, 0.0, 0.0),
   CanvasItemMovable()
 {
-  signal_motion_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_motion_notify_event), 
true /* connect after */);
-  signal_button_press_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_press_event), true 
/* connect after */);
-  signal_button_release_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_release_event), 
true /* connect after */);
+  signal_motion_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_motion_notify_event));
+  signal_button_press_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_press_event));
+  signal_button_release_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_release_event));
 
   signal_enter_notify_event().connect(sigc::mem_fun(*this, &CanvasLineMovable::on_enter_notify_event), true 
/* connect after */);
   signal_leave_notify_event().connect(sigc::mem_fun(*this, &CanvasLineMovable::on_leave_notify_event), true 
/* connect after */);
diff --git a/glom/utility_widgets/canvas/canvas_rect_movable.cc 
b/glom/utility_widgets/canvas/canvas_rect_movable.cc
index 1cf6099..ef69d3c 100644
--- a/glom/utility_widgets/canvas/canvas_rect_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_rect_movable.cc
@@ -43,12 +43,12 @@ CanvasRectMovable::CanvasRectMovable(double x, double y, double width, double he
 
 void CanvasRectMovable::init()
 {
-  signal_motion_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_motion_notify_event), 
true /* connect after */);
-  signal_button_press_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_press_event), true 
/* connect after */);
-  signal_button_release_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_release_event), 
true /* connect after */);
+  signal_motion_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_motion_notify_event));
+  signal_button_press_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_press_event));
+  signal_button_release_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_release_event));
 
-  signal_enter_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_enter_notify_event), true 
/* connect after */);
-  signal_leave_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_leave_notify_event), true 
/* connect after */);
+  signal_enter_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_enter_notify_event));
+  signal_leave_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_leave_notify_event));
 }
 
 Glib::RefPtr<CanvasRectMovable> CanvasRectMovable::create()
diff --git a/glom/utility_widgets/canvas/canvas_table_movable.cc 
b/glom/utility_widgets/canvas/canvas_table_movable.cc
index dd69044..8fbff61 100644
--- a/glom/utility_widgets/canvas/canvas_table_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_table_movable.cc
@@ -32,12 +32,12 @@ CanvasTableMovable::CanvasTableMovable()
   m_column_line_width(0)
 
 {
-  signal_motion_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_motion_notify_event), 
true /* connect after */);
-  signal_button_press_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_press_event), true 
/* connect after */);
-  signal_button_release_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_release_event), 
true /* connect after */);
+  signal_motion_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_motion_notify_event));
+  signal_button_press_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_press_event));
+  signal_button_release_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_release_event));
 
-  signal_enter_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_enter_notify_event), true 
/* connect after */);
-  signal_leave_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_leave_notify_event), true 
/* connect after */);
+  signal_enter_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_enter_notify_event));
+  signal_leave_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_leave_notify_event));
 }
 
 Glib::RefPtr<CanvasTableMovable> CanvasTableMovable::create()
diff --git a/glom/utility_widgets/canvas/canvas_text_movable.cc 
b/glom/utility_widgets/canvas/canvas_text_movable.cc
index 1bf22b0..2d7c27e 100644
--- a/glom/utility_widgets/canvas/canvas_text_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_text_movable.cc
@@ -37,12 +37,12 @@ CanvasTextMovable::CanvasTextMovable(const Glib::ustring& text, double x, double
 
 void CanvasTextMovable::init()
 {
-  signal_motion_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_motion_notify_event), 
true /* connect after */);
-  signal_button_press_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_press_event), true 
/* connect after */);
-  signal_button_release_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_button_release_event), 
true /* connect after */);
+  signal_motion_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_motion_notify_event));
+  signal_button_press_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_press_event));
+  signal_button_release_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_button_release_event));
 
-  signal_enter_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_enter_notify_event), true 
/* connect after */);
-  signal_leave_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_leave_notify_event), true 
/* connect after */);
+  signal_enter_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_enter_notify_event));
+  signal_leave_notify_event().connect_notify(sigc::mem_fun(*this, 
&CanvasItemMovable::on_leave_notify_event));
 }
 
 Glib::RefPtr<CanvasTextMovable> CanvasTextMovable::create(const Glib::ustring& string, double x, double y, 
double width, Goocanvas::AnchorType anchor)


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