Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/ewl
Dir : e17/libs/ewl/src/lib Modified Files: ewl_tree2.c Log Message: - only show the expansion node if the model is expandable =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/lib/ewl_tree2.c,v retrieving revision 1.64 retrieving revision 1.65 diff -u -3 -r1.64 -r1.65 --- ewl_tree2.c 12 Mar 2007 22:23:02 -0000 1.64 +++ ewl_tree2.c 12 Mar 2007 22:36:28 -0000 1.65 @@ -1261,10 +1261,15 @@ void ewl_tree2_node_expandable_set(Ewl_Tree2_Node *node, void *data) { + Ewl_Model *model; + DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR("node", node); - if (!node->handle) + model = ewl_mvc_model_get(EWL_MVC(node)); + /* we only create the handle if it doesn't exist and the model has + * a function to query for expandability */ + if (!node->handle && model->expansion.is) { node->handle = ewl_expansion_new(); ewl_object_fill_policy_set(EWL_OBJECT(node->handle), @@ -1274,19 +1279,23 @@ ewl_container_child_prepend(EWL_CONTAINER(node), node->handle); ewl_widget_show(node->handle); } - if (data) - { - ewl_callback_append(node->handle, EWL_CALLBACK_VALUE_CHANGED, - ewl_tree2_cb_node_toggle, node); - ewl_widget_enable(node->handle); - ewl_expansion_expandable_set(EWL_EXPANSION(node->handle), TRUE); - } - else if (node->handle && !data) + + if (node->handle) { - ewl_callback_del(node->handle, EWL_CALLBACK_VALUE_CHANGED, - ewl_tree2_cb_node_toggle); - ewl_widget_disable(node->handle); - ewl_expansion_expandable_set(EWL_EXPANSION(node->handle), FALSE); + if (data) + { + ewl_callback_append(node->handle, EWL_CALLBACK_VALUE_CHANGED, + ewl_tree2_cb_node_toggle, node); + ewl_widget_enable(node->handle); + ewl_expansion_expandable_set(EWL_EXPANSION(node->handle), TRUE); + } + else + { + ewl_callback_del(node->handle, EWL_CALLBACK_VALUE_CHANGED, + ewl_tree2_cb_node_toggle); + ewl_widget_disable(node->handle); + ewl_expansion_expandable_set(EWL_EXPANSION(node->handle), FALSE); + } } DLEAVE_FUNCTION(DLEVEL_STABLE); ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs