Datamodellen

Datamodellen är en klass som implementerar Gio::ListModel-gränssnittet. Exempel på sådana klasser är Gio::ListStore (inte att förväxlas med de föråldrade Gtk::ListStore), Gtk:StringList, Gtk:DirectoryList och Pango::FontMap.

Elementen i en modell kallas objekt. Alla objekt är instanser av en underklass till Glib::Object. Exempelvis kan du ha en ColumnView med ett heltal och en textkolumn, så här:

class ModelColumns : public Glib::Object
{
public:
  int m_col_id;
  Glib::ustring m_col_name;

  static Glib::RefPtr<ModelColumns> create(
    int col_id, const Glib::ustring& col_name)
  {
    return Glib::make_refptr_for_instance<ModelColumns>(
      new ModelColumns(col_id, col_name));
  }

protected:
  ModelColumns(int col_id, const Glib::ustring& col_name)
  : m_col_id(col_id), m_col_name(col_name)
  {}
};

Glib::RefPtr<Gio::ListStore<ModelColumns>> m_ListStore;

Varje objekt i en modell har en position vilken är det teckenlösa heltalet som beskriver var i modellen som objektet finns. Det första objektet i en modell har position 0. Positionen för ett objekt kan förstås ändras då andra objekt läggs till eller tas bort från modellen.

Referens för Gio::ListStore

Referens för StringList

Referens för DirectoryList