void OnDueDateEdited(Gtk.Extras.CellRendererDate renderer, string path) { Gtk.TreeIter iter; Gtk.TreePath tree_path = new TreePath(path); if (store_sort.GetIter(out iter, tree_path) == false) { return; } Task task = store_sort.GetValue(iter, 0) as Task; task.DueDate = renderer.Date; }
void DueDateCellDataFunc(Gtk.TreeViewColumn tree_column, Gtk.CellRenderer cell, Gtk.TreeModel tree_model, Gtk.TreeIter iter) { Gtk.Extras.CellRendererDate crd = cell as Gtk.Extras.CellRendererDate; Task task = tree_model.GetValue(iter, 0) as Task; if (task == null) { crd.Date = DateTime.MinValue; } else { crd.Date = task.DueDate; } }
void LoadColumns() { bool pref_val; Gtk.CellRenderer renderer; /// /// Completion Status /// Gtk.TreeViewColumn status = new Gtk.TreeViewColumn(); status.Title = string.Empty; status.Sizing = Gtk.TreeViewColumnSizing.Autosize; status.Resizable = false; status.Clickable = true; status.Clicked += OnCompletionColumnClicked; status.Reorderable = true; status.SortIndicator = true; renderer = new Gtk.CellRendererToggle(); (renderer as Gtk.CellRendererToggle).Toggled += OnTaskToggled; status.PackStart(renderer, false); status.SetCellDataFunc(renderer, new Gtk.TreeCellDataFunc(ToggleCellDataFunc)); tree.AppendColumn(status); /// /// Summary /// summary_column = new Gtk.TreeViewColumn(); summary_column.Title = Catalog.GetString("Summary"); summary_column.MinWidth = 200; summary_column.FixedWidth = 200; summary_column.Sizing = Gtk.TreeViewColumnSizing.Autosize; summary_column.Resizable = true; summary_column.Clickable = true; summary_column.Clicked += OnSummaryColumnClicked; summary_column.Reorderable = true; summary_column.SortIndicator = true; renderer = new Gtk.CellRendererText(); (renderer as CellRendererText).Editable = true; (renderer as CellRendererText).Ellipsize = Pango.EllipsizeMode.End; (renderer as CellRendererText).Edited += OnTaskSummaryEdited; renderer.Xalign = 0.0f; summary_column.PackStart(renderer, true); summary_column.SetCellDataFunc(renderer, new Gtk.TreeCellDataFunc(SummaryCellDataFunc)); tree.AppendColumn(summary_column); // Due Date Column pref_val = GetPref(TaskListWindow.ShowDueDateColumnPreference); if (pref_val == true) { // Show the Due Date Column due_date_column = new Gtk.TreeViewColumn(); due_date_column.Title = Catalog.GetString("Due Date"); due_date_column.Sizing = Gtk.TreeViewColumnSizing.Autosize; due_date_column.Resizable = false; due_date_column.Clickable = true; due_date_column.Clicked += OnDueDateColumnClicked; due_date_column.Reorderable = true; due_date_column.SortIndicator = true; renderer = new Gtk.Extras.CellRendererDate(); (renderer as Gtk.Extras.CellRendererDate).Editable = true; (renderer as Gtk.Extras.CellRendererDate).Edited += OnDueDateEdited; (renderer as Gtk.Extras.CellRendererDate).ShowTime = false; renderer.Xalign = 0.0f; due_date_column.PackStart(renderer, true); due_date_column.SetCellDataFunc(renderer, new Gtk.TreeCellDataFunc(DueDateCellDataFunc)); tree.AppendColumn(due_date_column); } // Priority Column pref_val = GetPref(TaskListWindow.ShowPriorityColumnPreference); if (pref_val == true) { // Show the Priority Column priority_column = new Gtk.TreeViewColumn(); priority_column.Title = Catalog.GetString("Priority"); priority_column.Sizing = Gtk.TreeViewColumnSizing.Autosize; priority_column.Resizable = false; priority_column.Clickable = true; priority_column.Clicked += OnPriorityColumnClicked; priority_column.Reorderable = true; priority_column.SortIndicator = true; renderer = new Gtk.CellRendererCombo(); (renderer as Gtk.CellRendererCombo).Editable = true; (renderer as Gtk.CellRendererCombo).HasEntry = false; (renderer as Gtk.CellRendererCombo).Edited += OnTaskPriorityEdited; Gtk.ListStore priority_store = new Gtk.ListStore(typeof(string)); priority_store.AppendValues(Catalog.GetString("None")); priority_store.AppendValues(Catalog.GetString("Low")); priority_store.AppendValues(Catalog.GetString("Normal")); priority_store.AppendValues(Catalog.GetString("High")); (renderer as Gtk.CellRendererCombo).Model = priority_store; (renderer as Gtk.CellRendererCombo).TextColumn = 0; renderer.Xalign = 0.0f; priority_column.PackStart(renderer, true); priority_column.SetCellDataFunc(renderer, new Gtk.TreeCellDataFunc(PriorityCellDataFunc)); tree.AppendColumn(priority_column); } }
void LoadColumns () { bool pref_val; Gtk.CellRenderer renderer; /// /// Completion Status /// Gtk.TreeViewColumn status = new Gtk.TreeViewColumn (); status.Title = string.Empty; status.Sizing = Gtk.TreeViewColumnSizing.Autosize; status.Resizable = false; status.Clickable = true; status.Clicked += OnCompletionColumnClicked; status.Reorderable = true; status.SortIndicator = true; renderer = new Gtk.CellRendererToggle (); (renderer as Gtk.CellRendererToggle).Toggled += OnTaskToggled; status.PackStart (renderer, false); status.SetCellDataFunc (renderer, new Gtk.TreeCellDataFunc (ToggleCellDataFunc)); tree.AppendColumn (status); /// /// Summary /// summary_column = new Gtk.TreeViewColumn (); summary_column.Title = Catalog.GetString ("Summary"); summary_column.MinWidth = 200; summary_column.FixedWidth = 200; summary_column.Sizing = Gtk.TreeViewColumnSizing.Autosize; summary_column.Resizable = true; summary_column.Clickable = true; summary_column.Clicked += OnSummaryColumnClicked; summary_column.Reorderable = true; summary_column.SortIndicator = true; renderer = new Gtk.CellRendererText (); (renderer as CellRendererText).Editable = true; (renderer as CellRendererText).Ellipsize = Pango.EllipsizeMode.End; (renderer as CellRendererText).Edited += OnTaskSummaryEdited; renderer.Xalign = 0.0f; summary_column.PackStart (renderer, true); summary_column.SetCellDataFunc (renderer, new Gtk.TreeCellDataFunc (SummaryCellDataFunc)); tree.AppendColumn (summary_column); // Due Date Column pref_val = GetPref (TaskListWindow.ShowDueDateColumnPreference); if (pref_val == true) { // Show the Due Date Column due_date_column = new Gtk.TreeViewColumn (); due_date_column.Title = Catalog.GetString ("Due Date"); due_date_column.Sizing = Gtk.TreeViewColumnSizing.Autosize; due_date_column.Resizable = false; due_date_column.Clickable = true; due_date_column.Clicked += OnDueDateColumnClicked; due_date_column.Reorderable = true; due_date_column.SortIndicator = true; renderer = new Gtk.Extras.CellRendererDate (); (renderer as Gtk.Extras.CellRendererDate).Editable = true; (renderer as Gtk.Extras.CellRendererDate).Edited += OnDueDateEdited; (renderer as Gtk.Extras.CellRendererDate).ShowTime = false; renderer.Xalign = 0.0f; due_date_column.PackStart (renderer, true); due_date_column.SetCellDataFunc (renderer, new Gtk.TreeCellDataFunc (DueDateCellDataFunc)); tree.AppendColumn (due_date_column); } // Priority Column pref_val = GetPref (TaskListWindow.ShowPriorityColumnPreference); if (pref_val == true) { // Show the Priority Column priority_column = new Gtk.TreeViewColumn (); priority_column.Title = Catalog.GetString ("Priority"); priority_column.Sizing = Gtk.TreeViewColumnSizing.Autosize; priority_column.Resizable = false; priority_column.Clickable = true; priority_column.Clicked += OnPriorityColumnClicked; priority_column.Reorderable = true; priority_column.SortIndicator = true; renderer = new Gtk.CellRendererCombo (); (renderer as Gtk.CellRendererCombo).Editable = true; (renderer as Gtk.CellRendererCombo).HasEntry = false; (renderer as Gtk.CellRendererCombo).Edited += OnTaskPriorityEdited; Gtk.ListStore priority_store = new Gtk.ListStore (typeof (string)); priority_store.AppendValues (Catalog.GetString ("None")); priority_store.AppendValues (Catalog.GetString ("Low")); priority_store.AppendValues (Catalog.GetString ("Normal")); priority_store.AppendValues (Catalog.GetString ("High")); (renderer as Gtk.CellRendererCombo).Model = priority_store; (renderer as Gtk.CellRendererCombo).TextColumn = 0; renderer.Xalign = 0.0f; priority_column.PackStart (renderer, true); priority_column.SetCellDataFunc (renderer, new Gtk.TreeCellDataFunc (PriorityCellDataFunc)); tree.AppendColumn (priority_column); } }