[glom/gtkmm4v4] gtkmm4: Adapt to RefPtr as std::shared_ptr.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glom/gtkmm4v4] gtkmm4: Adapt to RefPtr as std::shared_ptr.
- Date: Sat, 15 Apr 2017 16:27:01 +0000 (UTC)
commit c68a0fa706387090fbb3b168ee19638eeb86934b
Author: Murray Cumming <murrayc murrayc com>
Date: Sat Apr 15 16:19:13 2017 +0200
gtkmm4: Adapt to RefPtr as std::shared_ptr.
glom/appwindow.cc | 14 ++---
glom/mode_data/box_data_list.cc | 4 +-
glom/mode_data/box_data_list_related.cc | 2 +-
glom/mode_data/datawidget/cellrenderer_dblist.cc | 4 +-
glom/mode_data/datawidget/combo.cc | 4 +-
.../datawidget/combochoiceswithtreemodel.cc | 4 +-
glom/mode_data/datawidget/treemodel_db.cc | 2 +-
.../datawidget/treemodel_db_withextratext.cc | 2 +-
glom/mode_data/db_adddel/db_adddel.cc | 4 +-
.../print_layouts/window_print_layout_edit.cc | 4 +-
.../window_relationships_overview.cc | 8 ++--
.../report_layout/dialog_layout_report.cc | 6 +-
glom/print_layout/canvas_layout_item.cc | 12 ++--
glom/print_layout/canvas_print_layout.cc | 22 ++++----
glom/utility_widgets/canvas/canvas_editable.cc | 8 ++--
.../canvas/canvas_group_resizable.cc | 18 +++---
glom/utility_widgets/canvas/canvas_item_movable.cc | 58 ++++++++++----------
17 files changed, 86 insertions(+), 90 deletions(-)
---
diff --git a/glom/appwindow.cc b/glom/appwindow.cc
index 795f7b1..b596c6f 100644
--- a/glom/appwindow.cc
+++ b/glom/appwindow.cc
@@ -114,8 +114,7 @@ AppWindow::AppWindow(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>&
//Add menu bar at the top:
auto object =
builder->get_object("mainmenu");
- auto gmenu =
- Glib::RefPtr<Gio::Menu>::cast_dynamic(object);
+ auto gmenu = std::dynamic_pointer_cast<Gio::Menu>(object);
if(!gmenu)
g_warning("GMenu not found");
@@ -1813,8 +1812,7 @@ void AppWindow::fill_menu_tables()
auto object =
m_builder->get_object("tables-list");
- auto menu =
- Glib::RefPtr<Gio::Menu>::cast_dynamic(object);
+ auto menu = std::dynamic_pointer_cast<Gio::Menu>(object);
if(!menu)
{
std::cerr << G_STRFUNC << ": GMenu not found\n";
@@ -1859,8 +1857,7 @@ void AppWindow::fill_menu_reports(const Glib::ustring& table_name)
//Remove existing items.
auto object =
m_builder->get_object("reports-list");
- auto menu =
- Glib::RefPtr<Gio::Menu>::cast_dynamic(object);
+ auto menu = std::dynamic_pointer_cast<Gio::Menu>(object);
if(!menu)
{
std::cerr << G_STRFUNC << ": GMenu not found\n";
@@ -1924,7 +1921,7 @@ void AppWindow::enable_menu_print_layouts_details(bool enable)
for(const auto& name : m_nav_print_layouts_action_group->list_actions())
{
auto action =
- Glib::RefPtr<Gio::SimpleAction>::cast_dynamic(m_nav_print_layouts_action_group->lookup_action(name));
+ std::dynamic_pointer_cast<Gio::SimpleAction>(m_nav_print_layouts_action_group->lookup_action(name));
if(action)
action->set_enabled(enable);
}
@@ -1939,8 +1936,7 @@ void AppWindow::fill_menu_print_layouts(const Glib::ustring& table_name)
//Remove existing items.
auto object =
m_builder->get_object("print-layouts-list");
- auto menu =
- Glib::RefPtr<Gio::Menu>::cast_dynamic(object);
+ auto menu = std::dynamic_pointer_cast<Gio::Menu>(object);
if(!menu)
{
std::cerr << G_STRFUNC << ": GMenu not found\n";
diff --git a/glom/mode_data/box_data_list.cc b/glom/mode_data/box_data_list.cc
index ef7ad7d..c1cb2e7 100644
--- a/glom/mode_data/box_data_list.cc
+++ b/glom/mode_data/box_data_list.cc
@@ -206,7 +206,7 @@ bool Box_Data_List::on_script_button_idle(const std::weak_ptr<const LayoutItem_B
// TODO: This is perhaps a better approach, but
// DbTreeModel::refresh_from_database is protected
auto model = m_AddDel.get_model();
- auto db_model = Glib::RefPtr<DbTreeModel>::cast_dynamic(model);
+ auto db_model = std::dynamic_pointer_cast<DbTreeModel>(model);
if(db_model)
db_model->refresh_from_database(m_found_set);
#endif
@@ -491,7 +491,7 @@ void Box_Data_List::get_record_counts(gulong& total, gulong& found) const
found = 0;
auto refModel = m_AddDel.get_model();
- auto refModelDerived = Glib::RefPtr<DbTreeModel>::cast_dynamic(refModel);
+ auto refModelDerived = std::dynamic_pointer_cast<DbTreeModel>(refModel);
if(refModelDerived)
refModelDerived->get_record_counts(total, found);
diff --git a/glom/mode_data/box_data_list_related.cc b/glom/mode_data/box_data_list_related.cc
index 697e0c6..105baa3 100644
--- a/glom/mode_data/box_data_list_related.cc
+++ b/glom/mode_data/box_data_list_related.cc
@@ -243,7 +243,7 @@ bool Box_Data_List_Related::on_script_button_idle(const std::shared_ptr<const La
// TODO: This is perhaps a better approach, but
// DbTreeModel::refresh_from_database is protected
auto model = m_AddDel.get_model();
- auto db_model = Glib::RefPtr<DbTreeModel>::cast_dynamic(model);
+ auto db_model = std::dynamic_pointer_cast<DbTreeModel>(model);
if(db_model)
db_model->refresh_from_database(m_found_set);
#endif
diff --git a/glom/mode_data/datawidget/cellrenderer_dblist.cc
b/glom/mode_data/datawidget/cellrenderer_dblist.cc
index 26d506f..e565dc5 100644
--- a/glom/mode_data/datawidget/cellrenderer_dblist.cc
+++ b/glom/mode_data/datawidget/cellrenderer_dblist.cc
@@ -62,7 +62,7 @@ void CellRendererDbList::set_choices_related(const std::shared_ptr<const Documen
property_model() = model;
auto model_db =
- Glib::RefPtr<DbTreeModelWithExtraText>::cast_dynamic(model);
+ std::dynamic_pointer_cast<DbTreeModelWithExtraText>(model);
if(model_db)
property_text_column() = model_db->get_text_column();
else
@@ -221,7 +221,7 @@ void CellRendererDbList::on_editing_started(Gtk::CellEditable* cell_editable, co
//The DB model has a special virtual text column,
//and the simple model just has text in all columns:
auto model_db =
- Glib::RefPtr<DbTreeModelWithExtraText>::cast_dynamic(get_choices_model());
+ std::dynamic_pointer_cast<DbTreeModelWithExtraText>(get_choices_model());
if(model_db)
repack_cells_related(combobox);
else
diff --git a/glom/mode_data/datawidget/combo.cc b/glom/mode_data/datawidget/combo.cc
index 6d8c705..b3d5d49 100644
--- a/glom/mode_data/datawidget/combo.cc
+++ b/glom/mode_data/datawidget/combo.cc
@@ -97,7 +97,7 @@ void ComboGlom::set_choices_fixed(const Formatting::type_list_values& list_value
}
auto cell_area =
- Glib::RefPtr<Gtk::CellAreaBox>::cast_dynamic(get_area());
+ std::dynamic_pointer_cast<Gtk::CellAreaBox>(get_area());
if(!cell_area)
{
std::cerr << G_STRFUNC << ": Unexpected or null CellArea type.\n";
@@ -159,7 +159,7 @@ void ComboGlom::set_choices_related(const std::shared_ptr<const Document>& docum
if(get_has_entry())
{
auto model_db =
- Glib::RefPtr<DbTreeModelWithExtraText>::cast_dynamic(model);
+ std::dynamic_pointer_cast<DbTreeModelWithExtraText>(model);
if(model_db)
{
const auto text_col = model_db->get_text_column();
diff --git a/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
b/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
index e9f06cf..cb790cb 100644
--- a/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
+++ b/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
@@ -129,7 +129,7 @@ void ComboChoicesWithTreeModel::set_choices_with_second(const type_list_values_w
if(layout_choice_extra)
extra_fields = layout_choice_extra->get_items_recursive();
- auto list_store = Glib::RefPtr<Gtk::ListStore>::cast_dynamic(m_model);
+ auto list_store = std::dynamic_pointer_cast<Gtk::ListStore>(m_model);
if(!list_store)
{
std::cerr << G_STRFUNC << ": list_store is null.\n";
@@ -184,7 +184,7 @@ void ComboChoicesWithTreeModel::set_choices_fixed(const Formatting::type_list_va
{
create_model_non_db(1); //Use a regular ListStore without a dynamic column?
- auto list_store = Glib::RefPtr<Gtk::ListStore>::cast_dynamic(m_model);
+ auto list_store = std::dynamic_pointer_cast<Gtk::ListStore>(m_model);
if(!list_store)
{
std::cerr << G_STRFUNC << ": list_store is null.\n";
diff --git a/glom/mode_data/datawidget/treemodel_db.cc b/glom/mode_data/datawidget/treemodel_db.cc
index f9096b4..b5d0e45 100644
--- a/glom/mode_data/datawidget/treemodel_db.cc
+++ b/glom/mode_data/datawidget/treemodel_db.cc
@@ -274,7 +274,7 @@ DbTreeModel::~DbTreeModel()
Glib::RefPtr<DbTreeModel> DbTreeModel::create(const FoundSet& found_set, const type_vec_const_layout_items&
layout_items, bool get_records, bool find_mode, Base_DB::type_vecConstLayoutFields& fields_shown)
{
- return Glib::RefPtr<DbTreeModel>( new DbTreeModel(found_set, layout_items, get_records, find_mode,
fields_shown) );
+ return Glib::make_refptr_for_instance<DbTreeModel>( new DbTreeModel(found_set, layout_items, get_records,
find_mode, fields_shown) );
}
Glib::RefPtr<DbTreeModel> DbTreeModel::create(const FoundSet& found_set, const type_vec_layout_items&
layout_items, bool get_records, bool find_mode, Base_DB::type_vecConstLayoutFields& fields_shown)
diff --git a/glom/mode_data/datawidget/treemodel_db_withextratext.cc
b/glom/mode_data/datawidget/treemodel_db_withextratext.cc
index 8eb4621..06b4f0d 100644
--- a/glom/mode_data/datawidget/treemodel_db_withextratext.cc
+++ b/glom/mode_data/datawidget/treemodel_db_withextratext.cc
@@ -74,7 +74,7 @@ Glib::RefPtr<DbTreeModelWithExtraText> DbTreeModelWithExtraText::create(const Fo
Glib::RefPtr<DbTreeModelWithExtraText> DbTreeModelWithExtraText::create(const FoundSet& found_set, const
type_vec_const_layout_items& layout_items, bool get_records, bool find_mode,
Base_DB::type_vecConstLayoutFields& fields_shown)
{
- return Glib::RefPtr<DbTreeModelWithExtraText>( new DbTreeModelWithExtraText(found_set, layout_items,
get_records, find_mode, fields_shown) );
+ return Glib::make_refptr_for_instance<DbTreeModelWithExtraText>( new DbTreeModelWithExtraText(found_set,
layout_items, get_records, find_mode, fields_shown) );
}
int DbTreeModelWithExtraText::get_n_columns_vfunc() const
diff --git a/glom/mode_data/db_adddel/db_adddel.cc b/glom/mode_data/db_adddel/db_adddel.cc
index 9385934..6bcb04c 100644
--- a/glom/mode_data/db_adddel/db_adddel.cc
+++ b/glom/mode_data/db_adddel/db_adddel.cc
@@ -377,7 +377,7 @@ Gtk::TreeModel::iterator DbAddDel::get_item_selected() const
Glib::RefPtr<const Gtk::TreeSelection> refTreeSelection = m_tree_view.get_selection();
if(refTreeSelection)
{
- auto unconst = Glib::RefPtr<Gtk::TreeSelection>::cast_const(refTreeSelection);
+ auto unconst = std::const_pointer_cast<Gtk::TreeSelection>(refTreeSelection);
return unconst->get_selected();
}
@@ -752,7 +752,7 @@ void DbAddDel::construct_specified_columns()
//Show as many rows as needed, but not more than the maximum:
gulong total = 0; //ignored
gulong db_rows_count_found = 0;
- auto refModelDerived = Glib::RefPtr<DbTreeModel>::cast_dynamic(m_list_store);
+ auto refModelDerived = std::dynamic_pointer_cast<DbTreeModel>(m_list_store);
if(refModelDerived)
refModelDerived->get_record_counts(total, db_rows_count_found);
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 a5aa09c..b5b764c 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.cc
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.cc
@@ -740,7 +740,7 @@ bool Window_PrintLayout_Edit::get_is_item_at(double x, double y) const
if(!item_hit)
return false;
- const auto layout_item = Glib::RefPtr<const CanvasLayoutItem>::cast_dynamic(item_hit);
+ const auto layout_item = std::dynamic_pointer_cast<const CanvasLayoutItem>(item_hit);
return (bool)layout_item;
}
@@ -1406,7 +1406,7 @@ void Window_PrintLayout_Edit::on_canvas_selection_changed()
const auto items = m_canvas.get_selected_items();
for(const auto& base_item : items)
{
- auto item = Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(base_item);
+ auto item = std::dynamic_pointer_cast<CanvasLayoutItem>(base_item);
if(!item)
continue;
diff --git a/glom/mode_design/relationships_overview/window_relationships_overview.cc
b/glom/mode_design/relationships_overview/window_relationships_overview.cc
index 6fdb48b..ea54861 100644
--- a/glom/mode_design/relationships_overview/window_relationships_overview.cc
+++ b/glom/mode_design/relationships_overview/window_relationships_overview.cc
@@ -78,7 +78,7 @@ Window_RelationshipsOverview::Window_RelationshipsOverview(BaseObjectType* cobje
auto object =
builder->get_object("Overview_MainMenu");
auto gmenu =
- Glib::RefPtr<Gio::Menu>::cast_dynamic(object);
+ std::dynamic_pointer_cast<Gio::Menu>(object);
if(!gmenu)
g_warning("GMenu not found");
@@ -372,7 +372,7 @@ Glib::RefPtr<CanvasGroupDbTable> Window_RelationshipsOverview::get_table_group(c
for(int i = 0; i < count; ++i)
{
auto item = m_group_tables->get_child(i);
- auto table_item = Glib::RefPtr<CanvasGroupDbTable>::cast_dynamic(item);
+ auto table_item = std::dynamic_pointer_cast<CanvasGroupDbTable>(item);
if(table_item && (table_item->get_table_name() == table_name))
{
return table_item;
@@ -386,7 +386,7 @@ Glib::RefPtr<CanvasGroupDbTable> Window_RelationshipsOverview::get_table_group(c
void Window_RelationshipsOverview::on_table_moved(const Glib::RefPtr<CanvasItemMovable>& item, double /*
x_offset */, double /* y_offset */)
{
auto table =
- Glib::RefPtr<CanvasGroupDbTable>::cast_dynamic(item);
+ std::dynamic_pointer_cast<CanvasGroupDbTable>(item);
if(!table)
return;
@@ -442,7 +442,7 @@ void Window_RelationshipsOverview::setup_context_menu()
auto object =
m_builder->get_object("ContextMenu");
auto gmenu =
- Glib::RefPtr<Gio::Menu>::cast_dynamic(object);
+ std::dynamic_pointer_cast<Gio::Menu>(object);
if(!gmenu)
g_warning("GMenu not found");
diff --git a/glom/mode_design/report_layout/dialog_layout_report.cc
b/glom/mode_design/report_layout/dialog_layout_report.cc
index 8c07444..bc9afcb 100644
--- a/glom/mode_design/report_layout/dialog_layout_report.cc
+++ b/glom/mode_design/report_layout/dialog_layout_report.cc
@@ -487,7 +487,7 @@ Glib::RefPtr<Dialog_Layout_Report::type_model> Dialog_Layout_Report::get_selecte
auto treeview = get_selected_treeview();
if(treeview)
- model = Glib::RefPtr<type_model>::cast_dynamic(treeview->get_model());
+ model = std::dynamic_pointer_cast<type_model>(treeview->get_model());
return model;
}
@@ -629,7 +629,7 @@ void Dialog_Layout_Report::on_button_add()
return;
auto model = get_selected_model();
- auto model_available = Glib::RefPtr<type_model>::cast_dynamic(m_treeview_available_parts->get_model());
+ auto model_available = std::dynamic_pointer_cast<type_model>(m_treeview_available_parts->get_model());
auto parent = get_selected_group_parent();
std::shared_ptr<const LayoutItem> pParentPart;
@@ -1002,7 +1002,7 @@ void Dialog_Layout_Report::on_cell_data_available_part(Gtk::CellRenderer* render
return;
const auto row = *iter;
- auto model = Glib::RefPtr<type_model>::cast_dynamic(m_treeview_available_parts->get_model());
+ auto model = std::dynamic_pointer_cast<type_model>(m_treeview_available_parts->get_model());
std::shared_ptr<LayoutItem> pItem = row[model->m_columns.m_col_item];
Glib::ustring part = pItem->get_part_type_name();
diff --git a/glom/print_layout/canvas_layout_item.cc b/glom/print_layout/canvas_layout_item.cc
index ad44469..fb9e019 100644
--- a/glom/print_layout/canvas_layout_item.cc
+++ b/glom/print_layout/canvas_layout_item.cc
@@ -100,7 +100,7 @@ void CanvasLayoutItem::apply_formatting(const Glib::RefPtr<CanvasTextMovable>& c
void CanvasLayoutItem::on_resized()
{
- auto canvas_image = Glib::RefPtr<CanvasImageMovable>::cast_dynamic(get_child());
+ auto canvas_image = std::dynamic_pointer_cast<CanvasImageMovable>(get_child());
if(canvas_image)
canvas_image->scale_to_size();
}
@@ -142,7 +142,7 @@ void CanvasLayoutItem::set_layout_item(const std::shared_ptr<LayoutItem>& layout
//Scale images.
//This can only be done after setting the size:
- auto canvas_image = Glib::RefPtr<CanvasImageMovable>::cast_dynamic(child_item);
+ auto canvas_image = std::dynamic_pointer_cast<CanvasImageMovable>(child_item);
if(canvas_image)
{
canvas_image->scale_to_size();
@@ -306,7 +306,7 @@ void CanvasLayoutItem::add_portal_rows_if_necessary(guint rows_count)
{
auto child = get_child();
auto canvas_table =
- Glib::RefPtr<CanvasTableMovable>::cast_dynamic(child);
+ std::dynamic_pointer_cast<CanvasTableMovable>(child);
if(!canvas_table)
return;
@@ -427,7 +427,7 @@ void CanvasLayoutItem::set_db_data(const Gnome::Gda::Value& value)
case(Field::glom_field_type::TIME):
case(Field::glom_field_type::DATE):
{
- auto canvas_item = Glib::RefPtr<CanvasTextMovable>::cast_dynamic(child);
+ auto canvas_item = std::dynamic_pointer_cast<CanvasTextMovable>(child);
if(!canvas_item)
return;
@@ -446,7 +446,7 @@ void CanvasLayoutItem::set_db_data(const Gnome::Gda::Value& value)
}
case(Field::glom_field_type::IMAGE):
{
- auto canvas_item = Glib::RefPtr<CanvasImageMovable>::cast_dynamic(child);
+ auto canvas_item = std::dynamic_pointer_cast<CanvasImageMovable>(child);
if(!canvas_item)
return;
@@ -473,7 +473,7 @@ void CanvasLayoutItem::set_db_data(const Gnome::Gda::Value& value)
void CanvasLayoutItem::remove_empty_indicators()
{
auto child = get_child();
- auto canvas_image = Glib::RefPtr<CanvasImageMovable>::cast_dynamic(child);
+ auto canvas_image = std::dynamic_pointer_cast<CanvasImageMovable>(child);
if(canvas_image)
{
//Clear the no-image pixbuf from images:
diff --git a/glom/print_layout/canvas_print_layout.cc b/glom/print_layout/canvas_print_layout.cc
index e357ccf..d7a11d6 100644
--- a/glom/print_layout/canvas_print_layout.cc
+++ b/glom/print_layout/canvas_print_layout.cc
@@ -234,7 +234,7 @@ void Canvas_PrintLayout::fill_layout_group(const std::shared_ptr<LayoutGroup>& g
for(int i = 0; i < count; ++i)
{
auto base_canvas_item = m_items_group->get_child(i);
- auto canvas_item = Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(base_canvas_item);
+ auto canvas_item = std::dynamic_pointer_cast<CanvasLayoutItem>(base_canvas_item);
if(canvas_item)
{
//Get the actual position:
@@ -507,7 +507,7 @@ void Canvas_PrintLayout::on_context_menu_delete()
continue;
const Glib::RefPtr<CanvasLayoutItem> canvas_layout_item =
- Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(selected_item);
+ std::dynamic_pointer_cast<CanvasLayoutItem>(selected_item);
if(canvas_layout_item)
remove_canvas_layout_item(canvas_layout_item);
}
@@ -753,7 +753,7 @@ void Canvas_PrintLayout::fill_with_data(const Glib::RefPtr<Goocanvas::Group>& ca
for(int i = 0; i < count; ++i)
{
auto base_canvas_item = canvas_group->get_child(i);
- auto canvas_item = Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(base_canvas_item);
+ auto canvas_item = std::dynamic_pointer_cast<CanvasLayoutItem>(base_canvas_item);
if(!canvas_item)
continue;
@@ -828,7 +828,7 @@ void Canvas_PrintLayout::fill_with_data(const Glib::RefPtr<Goocanvas::Group>& ca
for(int i = 0; i < count; ++i)
{
auto base_canvas_item = canvas_group->get_child(i);
- auto canvas_item = Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(base_canvas_item);
+ auto canvas_item = std::dynamic_pointer_cast<CanvasLayoutItem>(base_canvas_item);
if(!canvas_item)
continue;
@@ -888,7 +888,7 @@ void Canvas_PrintLayout::fill_with_data_portal(const Glib::RefPtr<CanvasLayoutIt
if(!portal)
return;
- auto canvas_table = Glib::RefPtr<CanvasTableMovable>::cast_dynamic(canvas_item->get_child());
+ auto canvas_table = std::dynamic_pointer_cast<CanvasTableMovable>(canvas_item->get_child());
if(!canvas_table)
return;
@@ -993,7 +993,7 @@ void Canvas_PrintLayout::set_canvas_item_field_value(const Glib::RefPtr<Goocanva
//Expect the appropriate canvas item, depending on the field type:
if(field->get_glom_type() == Field::glom_field_type::IMAGE)
{
- auto canvas_image = Glib::RefPtr<CanvasImageMovable>::cast_dynamic(canvas_item);
+ auto canvas_image = std::dynamic_pointer_cast<CanvasImageMovable>(canvas_item);
if(!canvas_image)
return;
@@ -1002,7 +1002,7 @@ void Canvas_PrintLayout::set_canvas_item_field_value(const Glib::RefPtr<Goocanva
}
else //text, numbers, date, time, boolean:
{
- auto canvas_text = Glib::RefPtr<CanvasTextMovable>::cast_dynamic(canvas_item);
+ auto canvas_text = std::dynamic_pointer_cast<CanvasTextMovable>(canvas_item);
if(!canvas_text)
{
std::cerr << G_STRFUNC << ": The canvas item is not of the expected type. Instead it is of type.\n";
@@ -1109,7 +1109,7 @@ Canvas_PrintLayout::type_vec_items Canvas_PrintLayout::get_selected_items()
{
auto child = root->get_child(i);
auto derived =
- Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(child);
+ std::dynamic_pointer_cast<CanvasLayoutItem>(child);
if(!derived)
continue;
@@ -1135,7 +1135,7 @@ void Canvas_PrintLayout::set_outlines_visibility(bool visible)
{
auto child = root->get_child(i);
auto derived =
- Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(child);
+ std::dynamic_pointer_cast<CanvasLayoutItem>(child);
if(!derived)
continue;
@@ -1154,7 +1154,7 @@ void Canvas_PrintLayout::select_all(bool selected)
{
auto child = root->get_child(i);
auto derived =
- Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(child);
+ std::dynamic_pointer_cast<CanvasLayoutItem>(child);
if(!derived)
continue;
@@ -1215,7 +1215,7 @@ Glib::RefPtr<CanvasLayoutItem> Canvas_PrintLayout::move_items_down(double y_star
{
auto child = root->get_child(i);
auto derived =
- Glib::RefPtr<CanvasLayoutItem>::cast_dynamic(child);
+ std::dynamic_pointer_cast<CanvasLayoutItem>(child);
if(!derived)
{
std::cout << "debug: not derived\n";
diff --git a/glom/utility_widgets/canvas/canvas_editable.cc b/glom/utility_widgets/canvas/canvas_editable.cc
index 87b4228..8a817e1 100644
--- a/glom/utility_widgets/canvas/canvas_editable.cc
+++ b/glom/utility_widgets/canvas/canvas_editable.cc
@@ -36,7 +36,7 @@ CanvasEditable::CanvasEditable()
void CanvasEditable::add_item(const Glib::RefPtr<Goocanvas::Item>& item, bool resizable)
{
auto root = get_root_item();
- auto root_group = Glib::RefPtr<Goocanvas::Group>::cast_dynamic(root);
+ auto root_group = std::dynamic_pointer_cast<Goocanvas::Group>(root);
if(!root_group)
return;
@@ -53,7 +53,7 @@ void CanvasEditable::add_item(const Glib::RefPtr<Goocanvas::Item>& item, const G
//Add it inside a manipulatable group, if requested:
if(resizable)
{
- auto movable = Glib::RefPtr<CanvasItemMovable>::cast_dynamic(item);
+ auto movable = std::dynamic_pointer_cast<CanvasItemMovable>(item);
if(movable)
{
auto resizable_item = CanvasGroupResizable::create();
@@ -100,7 +100,7 @@ void CanvasEditable::remove_item(const Glib::RefPtr<Goocanvas::Item>& item , con
//TODO: Remove resizable=true items via their parent item.
item->remove();
- auto movable = Glib::RefPtr<CanvasItemMovable>::cast_dynamic(item);
+ auto movable = std::dynamic_pointer_cast<CanvasItemMovable>(item);
if(movable && movable->get_selected())
m_signal_selection_changed.emit();
}
@@ -110,7 +110,7 @@ void CanvasEditable::remove_all_items()
const auto some_selected = !(get_selected_items().empty());
auto root = get_root_item();
- auto root_group = Glib::RefPtr<Goocanvas::Group>::cast_dynamic(root);
+ auto root_group = std::dynamic_pointer_cast<Goocanvas::Group>(root);
while(root_group && root_group->get_n_children())
root_group->remove_child(0);
diff --git a/glom/utility_widgets/canvas/canvas_group_resizable.cc
b/glom/utility_widgets/canvas/canvas_group_resizable.cc
index a595df7..709ba61 100644
--- a/glom/utility_widgets/canvas/canvas_group_resizable.cc
+++ b/glom/utility_widgets/canvas/canvas_group_resizable.cc
@@ -301,7 +301,7 @@ void CanvasGroupResizable::position_rect_manipulators()
void CanvasGroupResizable::position_line_manipulators()
{
- auto line = Glib::RefPtr<CanvasLineMovable>::cast_dynamic(m_child);
+ auto line = std::dynamic_pointer_cast<CanvasLineMovable>(m_child);
if(!line)
return;
@@ -443,7 +443,7 @@ void CanvasGroupResizable::manipulator_connect_signals(const Glib::RefPtr<Goocan
//TODO: Use x and y property notification.
- auto rect = Glib::RefPtr<CanvasRectMovable>::cast_dynamic(manipulator);
+ auto rect = std::dynamic_pointer_cast<CanvasRectMovable>(manipulator);
if(rect)
{
if(get_is_line())
@@ -459,7 +459,7 @@ void CanvasGroupResizable::manipulator_connect_signals(const Glib::RefPtr<Goocan
}
else
{
- auto line = Glib::RefPtr<CanvasLineMovable>::cast_dynamic(manipulator);
+ auto line = std::dynamic_pointer_cast<CanvasLineMovable>(manipulator);
if(line)
{
line->signal_moved().connect(
@@ -529,7 +529,7 @@ void CanvasGroupResizable::on_manipulator_corner_moved(const Glib::RefPtr<Canvas
set_manipulators_visibility(Goocanvas::ITEM_VISIBLE);
auto manipulator_base = get_manipulator(manipulator_id);
- auto manipulator = Glib::RefPtr<CanvasRectMovable>::cast_dynamic(manipulator_base);
+ auto manipulator = std::dynamic_pointer_cast<CanvasRectMovable>(manipulator_base);
if(!manipulator)
return;
@@ -602,13 +602,13 @@ void CanvasGroupResizable::on_manipulator_line_end_moved(const Glib::RefPtr<Canv
set_manipulators_visibility(Goocanvas::ITEM_VISIBLE);
auto manipulator_base = get_manipulator(manipulator_id);
- auto manipulator = Glib::RefPtr<CanvasRectMovable>::cast_dynamic(manipulator_base);
+ auto manipulator = std::dynamic_pointer_cast<CanvasRectMovable>(manipulator_base);
if(!manipulator)
return;
- auto line = Glib::RefPtr<CanvasLineMovable>::cast_dynamic(m_child);
+ auto line = std::dynamic_pointer_cast<CanvasLineMovable>(m_child);
if(!line)
return;
@@ -652,7 +652,7 @@ void CanvasGroupResizable::on_manipulator_edge_moved(const Glib::RefPtr<CanvasIt
set_manipulators_visibility(Goocanvas::ITEM_VISIBLE);
auto manipulator_base = get_manipulator(manipulator_id);
- auto manipulator = Glib::RefPtr<CanvasLineMovable>::cast_dynamic(manipulator_base);
+ auto manipulator = std::dynamic_pointer_cast<CanvasLineMovable>(manipulator_base);
//std::cout << "debug: " << G_STRFUNC << ": manipulator=" << manipulator_id << std::endl;
@@ -778,7 +778,7 @@ void CanvasGroupResizable::set_manipulators_visibility(Goocanvas::ItemVisibility
//Also show grid lines in the portal table,
//though these are not actually manipulatable.
auto table =
- Glib::RefPtr<CanvasTableMovable>::cast_dynamic(get_child());
+ std::dynamic_pointer_cast<CanvasTableMovable>(get_child());
if(table)
{
if(visibility == Goocanvas::ITEM_VISIBLE)
@@ -998,7 +998,7 @@ Goocanvas::Canvas* CanvasGroupResizable::get_parent_canvas_widget()
bool CanvasGroupResizable::get_is_line() const
{
- auto line = Glib::RefPtr<CanvasLineMovable>::cast_dynamic(m_child);
+ auto line = std::dynamic_pointer_cast<CanvasLineMovable>(m_child);
return (bool)line;
}
diff --git a/glom/utility_widgets/canvas/canvas_item_movable.cc
b/glom/utility_widgets/canvas/canvas_item_movable.cc
index 3f58416..0fbb857 100644
--- a/glom/utility_widgets/canvas/canvas_item_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_item_movable.cc
@@ -332,39 +332,39 @@ Glib::RefPtr<CanvasItemMovable> CanvasItemMovable::cast_to_movable(const Glib::R
//We can't cast directly to CanvasItemMovable because each class derives from it separately,
//instead of it being a base class of Goocanvas::Item (the common base class):
- auto rect = Glib::RefPtr<CanvasRectMovable>::cast_dynamic(item);
+ auto rect = std::dynamic_pointer_cast<CanvasRectMovable>(item);
if(rect)
- movable = Glib::RefPtr<CanvasItemMovable>::cast_dynamic(rect);
+ movable = std::dynamic_pointer_cast<CanvasItemMovable>(rect);
else
{
- auto line = Glib::RefPtr<CanvasLineMovable>::cast_dynamic(item);
+ auto line = std::dynamic_pointer_cast<CanvasLineMovable>(item);
if(line)
- movable = Glib::RefPtr<CanvasItemMovable>::cast_dynamic(line);
+ movable = std::dynamic_pointer_cast<CanvasItemMovable>(line);
else
{
- auto text = Glib::RefPtr<CanvasTextMovable>::cast_dynamic(item);
+ auto text = std::dynamic_pointer_cast<CanvasTextMovable>(item);
if(text)
- movable = Glib::RefPtr<CanvasItemMovable>::cast_dynamic(text);
+ movable = std::dynamic_pointer_cast<CanvasItemMovable>(text);
else
{
- auto image = Glib::RefPtr<CanvasImageMovable>::cast_dynamic(item);
+ auto image = std::dynamic_pointer_cast<CanvasImageMovable>(item);
if(image)
- movable = Glib::RefPtr<CanvasItemMovable>::cast_dynamic(image);
+ movable = std::dynamic_pointer_cast<CanvasItemMovable>(image);
else
{
- auto group = Glib::RefPtr<CanvasGroupMovable>::cast_dynamic(item);
+ auto group = std::dynamic_pointer_cast<CanvasGroupMovable>(item);
if(group)
- movable = Glib::RefPtr<CanvasItemMovable>::cast_dynamic(group);
+ movable = std::dynamic_pointer_cast<CanvasItemMovable>(group);
else
{
- auto table = Glib::RefPtr<CanvasTableMovable>::cast_dynamic(item);
+ auto table = std::dynamic_pointer_cast<CanvasTableMovable>(item);
if(table)
- movable = Glib::RefPtr<CanvasTableMovable>::cast_dynamic(table);
+ movable = std::dynamic_pointer_cast<CanvasTableMovable>(table);
else
{
- auto group_resizable = Glib::RefPtr<CanvasGroupResizable>::cast_dynamic(item);
+ auto group_resizable = std::dynamic_pointer_cast<CanvasGroupResizable>(item);
if(group_resizable)
- movable = Glib::RefPtr<CanvasItemMovable>::cast_dynamic(group_resizable);
+ movable = std::dynamic_pointer_cast<CanvasItemMovable>(group_resizable);
}
}
}
@@ -381,7 +381,7 @@ Glib::RefPtr<CanvasItemMovable> CanvasItemMovable::cast_to_movable(const Glib::R
//static:
Glib::RefPtr<const CanvasItemMovable> CanvasItemMovable::cast_const_to_movable(const Glib::RefPtr<const
Goocanvas::Item>& item)
{
- auto unconst = Glib::RefPtr<Goocanvas::Item>::cast_const(item);
+ auto unconst = std::const_pointer_cast<Goocanvas::Item>(item);
return cast_to_movable(unconst);
}
@@ -394,39 +394,39 @@ Glib::RefPtr<Goocanvas::Item> CanvasItemMovable::cast_to_item(const Glib::RefPtr
return result;
//We can't cast directly to Item because each class derives from it separately.
- auto rect = Glib::RefPtr<CanvasRectMovable>::cast_dynamic(item);
+ auto rect = std::dynamic_pointer_cast<CanvasRectMovable>(item);
if(rect)
- result = Glib::RefPtr<Goocanvas::Item>::cast_dynamic(rect);
+ result = std::dynamic_pointer_cast<Goocanvas::Item>(rect);
else
{
- auto line = Glib::RefPtr<CanvasLineMovable>::cast_dynamic(item);
+ auto line = std::dynamic_pointer_cast<CanvasLineMovable>(item);
if(line)
- result = Glib::RefPtr<Goocanvas::Item>::cast_dynamic(line);
+ result = std::dynamic_pointer_cast<Goocanvas::Item>(line);
else
{
- auto text = Glib::RefPtr<CanvasTextMovable>::cast_dynamic(item);
+ auto text = std::dynamic_pointer_cast<CanvasTextMovable>(item);
if(text)
- result = Glib::RefPtr<Goocanvas::Item>::cast_dynamic(text);
+ result = std::dynamic_pointer_cast<Goocanvas::Item>(text);
else
{
- auto image = Glib::RefPtr<CanvasImageMovable>::cast_dynamic(item);
+ auto image = std::dynamic_pointer_cast<CanvasImageMovable>(item);
if(image)
- result = Glib::RefPtr<Goocanvas::Item>::cast_dynamic(image);
+ result = std::dynamic_pointer_cast<Goocanvas::Item>(image);
else
{
- auto group = Glib::RefPtr<CanvasGroupMovable>::cast_dynamic(item);
+ auto group = std::dynamic_pointer_cast<CanvasGroupMovable>(item);
if(group)
- result = Glib::RefPtr<Goocanvas::Item>::cast_dynamic(group);
+ result = std::dynamic_pointer_cast<Goocanvas::Item>(group);
else
{
- auto table = Glib::RefPtr<CanvasTableMovable>::cast_dynamic(item);
+ auto table = std::dynamic_pointer_cast<CanvasTableMovable>(item);
if(table)
- result = Glib::RefPtr<Goocanvas::Item>::cast_dynamic(table);
+ result = std::dynamic_pointer_cast<Goocanvas::Item>(table);
else
{
- auto group_resizable = Glib::RefPtr<CanvasGroupResizable>::cast_dynamic(item);
+ auto group_resizable = std::dynamic_pointer_cast<CanvasGroupResizable>(item);
if(group_resizable)
- result = Glib::RefPtr<Goocanvas::Item>::cast_dynamic(group_resizable);
+ result = std::dynamic_pointer_cast<Goocanvas::Item>(group_resizable);
}
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]