+ var vbox_renderer = new CellRendererVBox ();
+
+ var renderer = new CellRendererText ();
+ renderer.yalign = 1.0f;
+ renderer.set_fixed_size (-1, 32);
+ vbox_renderer.append (renderer, true);
+ vbox_renderer.set_data ("route-renderer", renderer);
+
+ // Add secondary text to column (driver name, route details)
+ renderer = new CellRendererText ();
+ renderer.yalign = 0;
+ renderer.set_fixed_size (-1, 32);
+ renderer.ellipsize = Pango.EllipsizeMode.END;
+ Pango.AttrList attr_list = new Pango.AttrList ();
+ var style = Gtk.rc_get_style_by_paths (Gtk.Settings.get_default (), "SmallSystemFont", null, typeof (void));
+ if (style != null) {
+ var attr_font_desc = new Pango.AttrFontDesc (style.font_desc.copy ());
+ attr_list.insert ((owned) attr_font_desc);
+ }
+ Gdk.Color color;
+ this.ensure_style ();
+ if (this.style.lookup_color ("SecondaryTextColor", out color)) {
+ Pango.Attribute attr_color = Pango.attr_foreground_new (color.red, color.green, color.blue);
+ attr_list.insert ((owned) attr_color);
+ }
+ renderer.attributes = attr_list;
+ vbox_renderer.append (renderer, true);
+ vbox_renderer.set_data ("secondary-renderer", renderer);
+
+ route_column.pack_start (vbox_renderer, true);
+ route_column.set_cell_data_func (vbox_renderer, vbox_data_func);
+