示例#1
0
        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;
        }
示例#2
0
        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;
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
		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);
			}
		}