~ubuntu-branches/ubuntu/saucy/dee/saucy-proposed

« back to all changes in this revision

Viewing changes to src/dee-serializable-model.c

  • Committer: Package Import Robot
  • Author(s): Didier Roche
  • Date: 2012-03-12 11:49:53 UTC
  • mfrom: (1.1.17)
  • Revision ID: package-import@ubuntu.com-20120312114953-i0izi38kg1gbnas0
Tags: 1.0.6-0ubuntu1
* New upstream release.
  - Provide a way to have a ReadOnly model (LP: #675565)
  - Prefix search with DeeTreeIndex doesn't return correct results
    (LP: #933111)
  - Doing multiple changes with clear in one transaction causes critical
    (LP: #940419)
* debian/libdee-1.0-4.symbols:
  - updated

Show diffs side-by-side

added added

removed removed

Lines of Context:
144
144
                                                          DeeModelIter *iter,
145
145
                                                          guint         column);
146
146
 
 
147
static GVariant**    dee_serializable_model_get_row         (DeeModel    *self,
 
148
                                                             DeeModelIter *iter,
 
149
                                                             GVariant    **out_row_members);
 
150
 
147
151
static DeeModelIter* dee_serializable_model_get_first_iter  (DeeModel     *self);
148
152
 
149
153
static DeeModelIter* dee_serializable_model_get_last_iter   (DeeModel     *self);
456
460
static void
457
461
dee_serializable_model_clear (DeeModel *self)
458
462
{
459
 
  DeeModelIter            *iter;
 
463
  DeeModelIter            *iter, *end;
460
464
 
461
465
  g_return_if_fail (DEE_IS_SERIALIZABLE_MODEL (self));
462
466
 
463
467
  iter = dee_model_get_first_iter (self);
 
468
  end = dee_model_get_last_iter (self);
464
469
 
465
 
  while (!dee_model_is_last (self, iter))
 
470
  while (iter != end)
466
471
    {
467
472
      dee_model_remove (self, iter);
468
 
 
469
473
      iter = dee_model_get_first_iter (self);      
470
474
    }
471
475
}
614
618
  return NULL;
615
619
}
616
620
 
 
621
static GVariant**
 
622
dee_serializable_model_get_row (DeeModel      *self,
 
623
                                DeeModelIter  *iter,
 
624
                                GVariant     **out_row_members)
 
625
{
 
626
  guint            col, n_cols;
 
627
 
 
628
  g_return_val_if_fail (DEE_IS_SERIALIZABLE_MODEL (self), NULL);
 
629
 
 
630
  n_cols = dee_model_get_n_columns (self);
 
631
 
 
632
  if (out_row_members == NULL)
 
633
    out_row_members = g_new0 (GVariant*, n_cols + 1);
 
634
 
 
635
  for (col = 0; col < n_cols; col++)
 
636
    out_row_members[col] = dee_model_get_value (self, iter, col);
 
637
 
 
638
  return out_row_members;
 
639
}
 
640
 
617
641
static gboolean
618
642
dee_serializable_model_get_bool (DeeModel     *self,
619
643
                                 DeeModelIter *iter,
1111
1135
  iface->set_value            = dee_serializable_model_set_value;
1112
1136
  iface->set_row              = dee_serializable_model_set_row;
1113
1137
  iface->get_value            = dee_serializable_model_get_value;
 
1138
  iface->get_row              = dee_serializable_model_get_row;
1114
1139
  iface->get_first_iter       = dee_serializable_model_get_first_iter;
1115
1140
  iface->get_last_iter        = dee_serializable_model_get_last_iter;
1116
1141
  iface->get_iter_at_row      = dee_serializable_model_get_iter_at_row;