Changeset 180a4d43075f8d657f3a5775661d24553192bc74

Show
Ignore:
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:
1 modified

Legend:

Unmodified
Added
Removed
  • gui/world_tree.c

    r68cfe6e r180a4d4  
    5252GtkTreeStore * g_treestore; 
    5353 
     54bool 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 
    5480static 
    5581gboolean 
     
    6490  graph_view_handle view; 
    6591  gint type; 
     92  uint64_t id; 
    6693 
    6794  if (gtk_tree_model_get_iter(model, &iter, path)) 
    6895  { 
    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: 
    72106      //log_info("%s is going to be %s.", get_view_name(view), path_currently_selected ? "unselected" : "selected"); 
    73107      if (!path_currently_selected) 
     
    75109        activate_view(view); 
    76110      } 
     111      break; 
    77112    } 
    78113  } 
    79114 
    80115  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; 
    107116} 
    108117