[glom] Replace most uses of g_object_set() with C++ code.
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glom] Replace most uses of g_object_set() with C++ code.
- Date: Fri, 6 Jan 2012 15:54:49 +0000 (UTC)
commit f2caba6beb8d3e4a34ac8eb3aaa7bdf0efe3784a
Author: Murray Cumming <murrayc murrayc com>
Date: Fri Jan 6 16:52:31 2012 +0100
Replace most uses of g_object_set() with C++ code.
* glom/mode_data/datawidget/cellcreation.cc:
* glom/mode_data/datawidget/combochoiceswithtreemodel.cc:
* glom/mode_data/db_adddel/db_adddel.cc:
* glom/mode_design/layout/dialog_layout_export.cc:
* glom/utility_widgets/adddel/adddel.cc:
Apart from some uses, due to GTK+ bug #667415 .
These were probably using C code due to the reduced API on Maemo,
but we remove the Maemo code a while ago.
ChangeLog | 14 ++++++++++++++
glom/mode_data/datawidget/cellcreation.cc | 2 +-
.../datawidget/combochoiceswithtreemodel.cc | 5 +++--
glom/mode_data/db_adddel/db_adddel.cc | 9 ++++-----
glom/mode_design/layout/dialog_layout_export.cc | 2 +-
.../print_layouts/window_print_layout_edit.cc | 1 +
glom/utility_widgets/adddel/adddel.cc | 4 ++--
7 files changed, 26 insertions(+), 11 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 10f6267..8a6d83a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
2012-01-06 Murray Cumming <murrayc murrayc com>
+ Replace most uses of g_object_set() with C++ code.
+
+ * glom/mode_data/datawidget/cellcreation.cc:
+ * glom/mode_data/datawidget/combochoiceswithtreemodel.cc:
+ * glom/mode_data/db_adddel/db_adddel.cc:
+ * glom/mode_design/layout/dialog_layout_export.cc:
+ * glom/utility_widgets/adddel/adddel.cc:
+ Apart from some uses, due to GTK+ bug #667415 .
+
+ These were probably using C code due to the reduced API on Maemo,
+ but we remove the Maemo code a while ago.
+
+2012-01-06 Murray Cumming <murrayc murrayc com>
+
List: Custom choices: Make them work here too.
* glom/libglom/data_structure/layout/fieldformatting.[h|cc]:
diff --git a/glom/mode_data/datawidget/cellcreation.cc b/glom/mode_data/datawidget/cellcreation.cc
index 5011b1b..ec3c2dd 100644
--- a/glom/mode_data/datawidget/cellcreation.cc
+++ b/glom/mode_data/datawidget/cellcreation.cc
@@ -177,7 +177,7 @@ Gtk::CellRenderer* create_cell(const sharedptr<const LayoutItem>& layout_item, c
//Use an ellipze to indicate excessive text,
//so that similar values do not look equal,
//and to avoid multi-line comments. TODO: Is there a better way to restrict the height? This doesn't actually truncate multilines anyway.
- g_object_set(cell_text->gobj(), "ellipsize", PANGO_ELLIPSIZE_END, (gpointer)0);
+ cell_text->property_ellipsize() = Pango::ELLIPSIZE_END;
//Restrict the height, to prevent multiline text cells,
//and to allow TreeView performance optimisation:
diff --git a/glom/mode_data/datawidget/combochoiceswithtreemodel.cc b/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
index c4a3ade..b75faab 100644
--- a/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
+++ b/glom/mode_data/datawidget/combochoiceswithtreemodel.cc
@@ -352,7 +352,7 @@ void ComboChoicesWithTreeModel::set_cell_for_field_value(Gtk::CellRenderer* cell
//Scale it down to a sensible size.
//TODO: if(pixbuf)
// pixbuf = Utils::image_scale_keeping_ratio(pixbuf, get_fixed_cell_height(), pixbuf->get_width());
- g_object_set(pDerived->gobj(), "pixbuf", pixbuf ? pixbuf->gobj() : 0, (gpointer)0);
+ pDerived->property_pixbuf() = pixbuf;
}
else
std::cerr << "Field::sql(): glom_type is TYPE_IMAGE but gda type is not VALUE_TYPE_BINARY" << std::endl;
@@ -380,8 +380,9 @@ void ComboChoicesWithTreeModel::set_cell_for_field_value(Gtk::CellRenderer* cell
const Glib::ustring fg_color =
field->get_formatting_used().get_text_format_color_foreground_to_use(value);
if(!fg_color.empty())
- g_object_set(pDerived->gobj(), "foreground", fg_color.c_str(), (gpointer)0);
+ pDerived->property_foreground() = fg_color;
else
+ //TODO: Remove this when this GTK+ bug is fixed: https://bugzilla.gnome.org/show_bug.cgi?id=667415
g_object_set(pDerived->gobj(), "foreground", (const char*)0, (gpointer)0);
}
diff --git a/glom/mode_data/db_adddel/db_adddel.cc b/glom/mode_data/db_adddel/db_adddel.cc
index ed2590f..cd2e8f26 100644
--- a/glom/mode_data/db_adddel/db_adddel.cc
+++ b/glom/mode_data/db_adddel/db_adddel.cc
@@ -1961,7 +1961,7 @@ void DbAddDel::treeviewcolumn_on_cell_data(Gtk::CellRenderer* renderer, const Gt
if(pixbuf)
pixbuf = Utils::image_scale_keeping_ratio(pixbuf, get_fixed_cell_height(), pixbuf->get_width());
- g_object_set(pDerived->gobj(), "pixbuf", pixbuf ? pixbuf->gobj() : 0, (gpointer)0);
+ pDerived->property_pixbuf() = pixbuf;
}
else
g_warning("Field::sql(): glom_type is TYPE_IMAGE but gda type is not VALUE_TYPE_BINARY");
@@ -1991,8 +1991,7 @@ void DbAddDel::treeviewcolumn_on_cell_data(Gtk::CellRenderer* renderer, const Gt
text = text_to_show;
}
- //TODO: Use the C++ API here and elsewhere:
- g_object_set(pDerived->gobj(), "text", text.c_str(), (gpointer)0);
+ pDerived->property_text() = text;
}
//Show a different color if the value is numeric, if that's specified:
@@ -2001,8 +2000,8 @@ void DbAddDel::treeviewcolumn_on_cell_data(Gtk::CellRenderer* renderer, const Gt
const Glib::ustring fg_color =
field->get_formatting_used().get_text_format_color_foreground_to_use(value);
if(!fg_color.empty())
- g_object_set(pDerived->gobj(), "foreground", fg_color.c_str(), (gpointer)0);
- else
+ pDerived->property_foreground() = fg_color;
+ else //TODO: Remove this when this GTK+ bug is fixed: https://bugzilla.gnome.org/show_bug.cgi?id=667415
g_object_set(pDerived->gobj(), "foreground", (const char*)0, (gpointer)0);
}
diff --git a/glom/mode_design/layout/dialog_layout_export.cc b/glom/mode_design/layout/dialog_layout_export.cc
index 8d34ec9..dea08e6 100644
--- a/glom/mode_design/layout/dialog_layout_export.cc
+++ b/glom/mode_design/layout/dialog_layout_export.cc
@@ -322,7 +322,7 @@ void Dialog_Layout_Export::on_cell_data_name(Gtk::CellRenderer* renderer, const
sharedptr<LayoutItem_Field> item = row[m_ColumnsFields.m_col_layout_item];
//Names can never be edited.
- g_object_set(renderer_text->gobj(), "markup", item->get_layout_display_name().c_str(), "editable", FALSE, (gpointer)0);
+ renderer_text->property_markup() = item->get_layout_display_name();
}
}
}
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 ffe9cff..74fbcbe 100644
--- a/glom/mode_design/print_layouts/window_print_layout_edit.cc
+++ b/glom/mode_design/print_layouts/window_print_layout_edit.cc
@@ -117,6 +117,7 @@ Window_PrintLayout_Edit::Window_PrintLayout_Edit(BaseObjectType* cobject, const
sigc::mem_fun(*this, &Window_PrintLayout_Edit::on_vruler_button_press_event), false);
//Add the ruler widgets to the table at the left and top:
+ //TODO: Use C++ API here:
Gtk::Grid* grid = 0;
builder->get_widget("grid_canvas", grid);
gtk_grid_attach(grid->gobj(), GTK_WIDGET(m_vruler),
diff --git a/glom/utility_widgets/adddel/adddel.cc b/glom/utility_widgets/adddel/adddel.cc
index ca18b4a..13c9a81 100644
--- a/glom/utility_widgets/adddel/adddel.cc
+++ b/glom/utility_widgets/adddel/adddel.cc
@@ -682,7 +682,7 @@ void AddDel::construct_specified_columns()
if(pCellRenderer)
{
//Make it editable:
- g_object_set(pCellRenderer->gobj(), "editable", TRUE, (gpointer)0);
+ pCellRenderer->property_editable() = true;
//Connect to its signal:
pCellRenderer->signal_edited().connect(
@@ -694,7 +694,7 @@ void AddDel::construct_specified_columns()
Gtk::CellRendererToggle* pCellRenderer = dynamic_cast<Gtk::CellRendererToggle*>(m_TreeView.get_column_cell_renderer(view_column_index));
if(pCellRenderer)
{
- g_object_set(pCellRenderer->gobj(), "activatable", TRUE, (gpointer)0);
+ pCellRenderer->property_activatable() = true;
//Connect to its signal:
pCellRenderer->signal_toggled().connect(
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]