planner r889 - in trunk: . src
- From: kmaute svn gnome org
- To: svn-commits-list gnome org
- Subject: planner r889 - in trunk: . src
- Date: Thu, 28 Feb 2008 01:07:13 +0000 (GMT)
Author: kmaute
Date: Thu Feb 28 01:07:13 2008
New Revision: 889
URL: http://svn.gnome.org/viewvc/planner?rev=889&view=rev
Log:
Add %Complete column to task view.
Modified:
trunk/ChangeLog
trunk/src/planner-gantt-model.c
trunk/src/planner-gantt-model.h
trunk/src/planner-task-tree.c
trunk/src/planner-task-view.c
Modified: trunk/src/planner-gantt-model.c
==============================================================================
--- trunk/src/planner-gantt-model.c (original)
+++ trunk/src/planner-gantt-model.c Thu Feb 28 01:07:13 2008
@@ -652,6 +652,8 @@
return MRP_TYPE_TASK;
case COL_COST:
return G_TYPE_LONG;
+ case COL_COMPLETE:
+ return G_TYPE_INT;
default:
return G_TYPE_INVALID;
}
@@ -890,6 +892,12 @@
break;
+ case COL_COMPLETE:
+ g_value_init (value, G_TYPE_INT);
+ g_value_set_int (value, mrp_task_get_percent_complete (task));
+
+ break;
+
default:
g_warning ("Bad column %d requested", column);
}
Modified: trunk/src/planner-gantt-model.h
==============================================================================
--- trunk/src/planner-gantt-model.h (original)
+++ trunk/src/planner-gantt-model.h Thu Feb 28 01:07:13 2008
@@ -60,6 +60,7 @@
COL_TASK,
COL_COST,
COL_ASSIGNED_TO,
+ COL_COMPLETE,
NUM_COLS
};
Modified: trunk/src/planner-task-tree.c
==============================================================================
--- trunk/src/planner-task-tree.c (original)
+++ trunk/src/planner-task-tree.c Thu Feb 28 01:07:13 2008
@@ -126,6 +126,11 @@
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data);
+static void task_tree_complete_data_func (GtkTreeViewColumn *tree_column,
+ GtkCellRenderer *cell,
+ GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gpointer data);
static void task_tree_assigned_to_data_func (GtkTreeViewColumn *tree_column,
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
@@ -1534,6 +1539,31 @@
}
static void
+task_tree_complete_data_func (GtkTreeViewColumn *tree_column,
+ GtkCellRenderer *cell,
+ GtkTreeModel *tree_model,
+ GtkTreeIter *iter,
+ gpointer data)
+{
+ gchar *str;
+ gint complete;
+
+ gtk_tree_model_get (tree_model,
+ iter,
+ COL_COMPLETE, &complete,
+ -1);
+
+ str = planner_format_int (complete);
+
+ g_object_set (cell,
+ "text", str,
+ NULL);
+
+ g_free (str);
+}
+
+
+static void
task_tree_assigned_to_data_func (GtkTreeViewColumn *tree_column,
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
@@ -1711,6 +1741,46 @@
}
static void
+task_tree_complete_edited (GtkCellRendererText *cell,
+ gchar *path_string,
+ gchar *new_text,
+ gpointer data)
+{
+ PlannerTaskTree *tree = data;
+ GtkTreeView *view = data;
+ GtkTreeModel *model;
+ GtkTreePath *path;
+ GtkTreeIter iter;
+ MrpTask *task;
+ GValue value = { 0 };
+ gint complete;
+
+ model = gtk_tree_view_get_model (view);
+ path = gtk_tree_path_new_from_string (path_string);
+ gtk_tree_model_get_iter (model, &iter, path);
+
+ gtk_tree_model_get (model, &iter,
+ COL_TASK, &task,
+ -1);
+
+ complete = atoi(new_text);
+ if (mrp_task_get_percent_complete (MRP_TASK (task)) != complete) {
+ g_value_init (&value, G_TYPE_INT);
+ g_value_set_int (&value, complete);
+
+ task_cmd_edit_property (tree->priv->main_window,
+ PLANNER_TASK_TREE (view),
+ task,
+ "percent_complete",
+ &value);
+
+ g_value_unset (&value);
+ }
+
+ gtk_tree_path_free (path);
+}
+
+static void
task_tree_start_edited (GtkCellRendererText *cell,
gchar *path_string,
gchar *new_text,
@@ -2444,6 +2514,32 @@
g_object_set_data (G_OBJECT (col), "id", "cost");
break;
+ case COL_COMPLETE:
+ cell = gtk_cell_renderer_text_new ();
+ g_object_set (cell, "editable", TRUE, NULL);
+
+ col = gtk_tree_view_column_new_with_attributes (title,
+ cell,
+ NULL);
+
+ gtk_tree_view_column_set_resizable (col, TRUE);
+ gtk_tree_view_column_set_min_width (col, 70);
+ gtk_tree_view_column_set_cell_data_func (col,
+ cell,
+ task_tree_complete_data_func,
+ GTK_TREE_VIEW (tree),
+ NULL);
+ g_object_set_data (G_OBJECT (col),
+ "data-func", task_tree_complete_data_func);
+ g_object_set_data (G_OBJECT (col), "id", "complete");
+
+ g_signal_connect (cell,
+ "edited",
+ G_CALLBACK (task_tree_complete_edited),
+ GTK_TREE_VIEW (tree));
+
+ break;
+
case COL_ASSIGNED_TO:
cell = gtk_cell_renderer_text_new ();
col = gtk_tree_view_column_new_with_attributes (title,
Modified: trunk/src/planner-task-view.c
==============================================================================
--- trunk/src/planner-task-view.c (original)
+++ trunk/src/planner-task-view.c Thu Feb 28 01:07:13 2008
@@ -341,6 +341,7 @@
COL_SLACK, _("Slack"),
COL_COST, _("Cost"),
COL_ASSIGNED_TO, _("Assigned to"),
+ COL_COMPLETE, _("% Complete"),
-1);
g_object_unref (model);
@@ -814,6 +815,7 @@
strcmp (id, "duration") == 0 ||
strcmp (id, "slack") == 0 ||
strcmp (id, "cost") == 0 ||
+ strcmp (id, "complete") == 0 ||
strcmp (id, "assigned-to")) {
gtk_tree_view_column_set_visible (column, TRUE);
} else {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]