/// <summary> /// Allows for fine control over how each individual cell is rendered. /// </summary> /// <param name="col">Column in which the cell appears.</param> /// <param name="cell"> /// The individual cells. /// Any changes to this cell only affect this cell. /// The other cells in the column are unaffected. /// </param> /// <param name="model"> /// The tree model which holds the data being displayed in the tree. /// </param> /// <param name="iter"> /// TreeIter object associated with this cell in the tree. This object /// can be used for many things, such as retrieving this cell's data. /// </param> private void OnSetCellData(TreeViewColumn col, CellRenderer cell, TreeModel model, TreeIter iter) { try { // This makes a lot of assumptions about how the tree model is structured. if (cell is CellRendererText) { Color colour = (Color)model.GetValue(iter, 4); if (colour == Color.Empty) { #if NETFRAMEWORK Gdk.Color foreground = treeview1.Style.Foreground(StateType.Normal); #else Gdk.Color foreground = treeview1.StyleContext.GetColor(StateFlags.Normal).ToGdkColor(); #endif colour = Utility.Colour.FromGtk(foreground); } (cell as CellRendererText).Strikethrough = (bool)model.GetValue(iter, 5); // This is a bit of a hack which we use to convert a System.Drawing.Color // to its hex string equivalent (e.g. #FF0000). string hex = Utility.Colour.ToHex(colour); string text = (string)model.GetValue(iter, 0); (cell as CellRendererText).Markup = "<span foreground=\"" + hex + "\">" + text + "</span>"; } } catch (Exception err) { ShowError(err); } }
/// <summary> /// Compares 2 elements from the ListStore and returns an indication of their relative values. /// </summary> /// <param name="model">Model of the ListStore.</param> /// <param name="a">Path to the first row.</param> /// <param name="b">Path to the second row.</param> /// <param name="i">Column to take values from.</param> /// <returns></returns> private int SortData(TreeModel model, TreeIter a, TreeIter b, int i) { object o1 = model.GetValue(a, i); object o2 = model.GetValue(b, i); if (o1 != null && o2 != null) { return(string.Compare(o1.ToString(), o2.ToString())); } return(0); }
int GameSort(Gtk.ITreeModel model, Gtk.TreeIter a, Gtk.TreeIter b) { string name_a, name_b; int sort_column_id; SortType order; ListStore store = (ListStore)model; store.GetSortColumnId(out sort_column_id, out order); name_a = (string)model.GetValue(a, sort_column_id); name_b = (string)model.GetValue(b, sort_column_id); return(String.Compare(name_a, name_b)); }
private void RenderCommandName(Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.ITreeModel model, Gtk.TreeIter iter) { CommandData data = (CommandData)model.GetValue(iter, 0); var cellRendererText = (CellRendererText)cell; var text = data.OperationText(); cellRendererText.Text = text; }
/// <summary> /// Handles the DrawItem combo box event to display colours. /// </summary> /// <param name="cell_layout">The cell layout.</param> /// <param name="cell">The cell.</param> /// <param name="model">The tree model.</param> /// <param name="iter">The TreeIter.</param> private void OnDrawColourCombo(CellLayout cell_layout, CellRenderer cell, TreeModel model, TreeIter iter) { try { cell.CellBackgroundGdk = (Gdk.Color)model.GetValue(iter, 1); } catch (Exception err) { ShowError(err); } }
public static object GetModelValue(TreeModel store, Gtk.TreeIter it, int column) { object val = store.GetValue(it, column); if (val is DBNull) { return(null); } else if (val is ObjectWrapper) { return(((ObjectWrapper)val).Object); } else { return(val); } }
public object GetValue(IDataField field) { return(treeModel.GetValue(iter, field.Index)); }
public static object GetModelValue (TreeModel store, Gtk.TreeIter it, int column) { object val = store.GetValue (it, column); if (val is DBNull) return null; else if (val is ObjectWrapper) return ((ObjectWrapper)val).Object; else return val; }