Add function ag_db_get_chart_list()
This commit is contained in:
		
							
								
								
									
										34
									
								
								src/ag-db.c
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								src/ag-db.c
									
									
									
									
									
								
							@@ -648,3 +648,37 @@ ag_db_save_chart(AgDb *db, AgDbSave *save_data, GtkWidget *window, GError **err)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    return FALSE;
 | 
					    return FALSE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GList *
 | 
				
			||||||
 | 
					ag_db_get_chart_list(AgDb *db, GError **err)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    GdaDataModelIter *iter;
 | 
				
			||||||
 | 
					    GList            *ret    = NULL;
 | 
				
			||||||
 | 
					    GdaDataModel     *result = ag_db_select(
 | 
				
			||||||
 | 
					            db,
 | 
				
			||||||
 | 
					            err,
 | 
				
			||||||
 | 
					            "SELECT id, name FROM chart ORDER BY name",
 | 
				
			||||||
 | 
					            NULL
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (result == NULL) {
 | 
				
			||||||
 | 
					        return NULL;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    iter = gda_data_model_create_iter(result);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    while (gda_data_model_iter_move_next(iter)) {
 | 
				
			||||||
 | 
					        const GValue *value;
 | 
				
			||||||
 | 
					        AgDbSave     *save_data = g_new0(AgDbSave, 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        value = gda_data_model_iter_get_value_at(iter, 0);
 | 
				
			||||||
 | 
					        save_data->db_id = g_value_get_int(value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        value = gda_data_model_iter_get_value_at(iter, 1);
 | 
				
			||||||
 | 
					        save_data->name = g_strdup(g_value_get_string(value));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ret = g_list_prepend(ret, save_data);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return g_list_reverse(ret);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,6 +60,8 @@ gboolean ag_db_save_chart(AgDb      *db,
 | 
				
			|||||||
                          GtkWidget *window,
 | 
					                          GtkWidget *window,
 | 
				
			||||||
                          GError    **err);
 | 
					                          GError    **err);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GList *ag_db_get_chart_list(AgDb *db, GError **err);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
G_END_DECLS
 | 
					G_END_DECLS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* __AG_DB_H__ */
 | 
					#endif /* __AG_DB_H__ */
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user