Changeset 180a4d43075f8d657f3a5775661d24553192bc74
- Timestamp:
- 04/05/10 05:14:17 (3 years ago)
- Author:
- Nedko Arnaudov <nedko@…>
- Children:
- 49812cd2198078e851d2a122b4d233f7e19d1583
- Parents:
- 32323f40e41c9cf255ed18772248075227221991
- git-committer:
- Nedko Arnaudov <nedko@arnaudov.name> / 2010-04-05T05:14:17Z+0300
- Message:
-
gui: when app is selected in the world tree, activate its view
- Files:
-
Legend:
- Unmodified
- Added
- Removed
-
|
r68cfe6e
|
r180a4d4
|
|
| 52 | 52 | GtkTreeStore * g_treestore; |
| 53 | 53 | |
| | 54 | bool get_app_view(GtkTreeIter * app_iter_ptr, graph_view_handle * view_ptr) |
| | 55 | { |
| | 56 | GtkTreeIter view_iter; |
| | 57 | gint type; |
| | 58 | |
| | 59 | if (!gtk_tree_model_iter_parent(GTK_TREE_MODEL(g_treestore), &view_iter, app_iter_ptr)) |
| | 60 | { |
| | 61 | ASSERT_NO_PASS; |
| | 62 | return false; |
| | 63 | } |
| | 64 | |
| | 65 | gtk_tree_model_get( |
| | 66 | GTK_TREE_MODEL(g_treestore), |
| | 67 | &view_iter, |
| | 68 | COL_TYPE, &type, |
| | 69 | COL_VIEW, view_ptr, |
| | 70 | -1); |
| | 71 | if (type != entry_type_view) |
| | 72 | { |
| | 73 | ASSERT_NO_PASS; |
| | 74 | return false; |
| | 75 | } |
| | 76 | |
| | 77 | return true; |
| | 78 | } |
| | 79 | |
| 54 | 80 | static |
| 55 | 81 | gboolean |
| … |
… |
|
| 64 | 90 | graph_view_handle view; |
| 65 | 91 | gint type; |
| | 92 | uint64_t id; |
| 66 | 93 | |
| 67 | 94 | if (gtk_tree_model_get_iter(model, &iter, path)) |
| 68 | 95 | { |
| 69 | | gtk_tree_model_get(model, &iter, COL_TYPE, &type, COL_VIEW, &view, -1); |
| 70 | | if (type == entry_type_view) |
| 71 | | { |
| | 96 | gtk_tree_model_get(model, &iter, COL_TYPE, &type, COL_VIEW, &view, COL_ID, &id, -1); |
| | 97 | switch (type) |
| | 98 | { |
| | 99 | case entry_type_app: |
| | 100 | if (!get_app_view(&iter, &view)) |
| | 101 | { |
| | 102 | ASSERT_NO_PASS; |
| | 103 | break; |
| | 104 | } |
| | 105 | case entry_type_view: |
| 72 | 106 | //log_info("%s is going to be %s.", get_view_name(view), path_currently_selected ? "unselected" : "selected"); |
| 73 | 107 | if (!path_currently_selected) |
| … |
… |
|
| 75 | 109 | activate_view(view); |
| 76 | 110 | } |
| | 111 | break; |
| 77 | 112 | } |
| 78 | 113 | } |
| 79 | 114 | |
| 80 | 115 | return TRUE; |
| 81 | | } |
| 82 | | |
| 83 | | bool get_app_view(GtkTreeIter * app_iter_ptr, graph_view_handle * view_ptr) |
| 84 | | { |
| 85 | | GtkTreeIter view_iter; |
| 86 | | gint type; |
| 87 | | |
| 88 | | if (!gtk_tree_model_iter_parent(GTK_TREE_MODEL(g_treestore), &view_iter, app_iter_ptr)) |
| 89 | | { |
| 90 | | ASSERT_NO_PASS; |
| 91 | | return false; |
| 92 | | } |
| 93 | | |
| 94 | | gtk_tree_model_get( |
| 95 | | GTK_TREE_MODEL(g_treestore), |
| 96 | | &view_iter, |
| 97 | | COL_TYPE, &type, |
| 98 | | COL_VIEW, view_ptr, |
| 99 | | -1); |
| 100 | | if (type != entry_type_view) |
| 101 | | { |
| 102 | | ASSERT_NO_PASS; |
| 103 | | return false; |
| 104 | | } |
| 105 | | |
| 106 | | return true; |
| 107 | 116 | } |
| 108 | 117 | |