Enlightenment CVS committal
Author : dj2
Project : e17
Module : libs/ewl
Dir : e17/libs/ewl/src/bin/tests/tree2
Modified Files:
ewl_tree2.c
Log Message:
- add mvc range selection rm
- add multiselect capabilities to ewl_list
- add single and multiselect capabilities to ewl_tree2, both row and cell based
- doxy fixes
===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/bin/tests/tree2/ewl_tree2.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ewl_tree2.c 17 Oct 2006 05:00:00 -0000 1.1
+++ ewl_tree2.c 18 Oct 2006 16:28:08 -0000 1.2
@@ -35,6 +35,8 @@
static void ewl_tree2_cb_scroll_headers(Ewl_Widget *w, void *ev, void *data);
static void ewl_tree2_cb_plain_view(Ewl_Widget *w, void *ev, void *data);
static void ewl_tree2_cb_set_rows_clicked(Ewl_Widget *w, void *ev, void *data);
+static void tree2_cb_value_changed(Ewl_Widget *w, void *ev, void *data);
+static void tree2_cb_select_mode_change(Ewl_Widget *w, void *ev, void *data);
void
test_info(Ewl_Test *test)
@@ -74,7 +76,10 @@
tree = ewl_tree2_new();
ewl_container_child_append(EWL_CONTAINER(box), tree);
ewl_object_fill_policy_set(EWL_OBJECT(tree), EWL_FLAG_FILL_ALL);
+ ewl_callback_append(tree, EWL_CALLBACK_VALUE_CHANGED,
+ tree2_cb_value_changed, NULL);
ewl_mvc_data_set(EWL_MVC(tree), data);
+ ewl_mvc_selection_mode_set(EWL_MVC(tree), EWL_SELECTION_MODE_MULTI);
ewl_widget_name_set(tree, "tree");
ewl_widget_show(tree);
@@ -134,6 +139,13 @@
ewl_tree2_cb_set_rows_clicked, NULL);
ewl_widget_show(o);
+ o = ewl_button_new();
+ ewl_button_label_set(EWL_BUTTON(o), "Row select");
+ ewl_container_child_append(EWL_CONTAINER(o2), o);
+ ewl_callback_append(o, EWL_CALLBACK_CLICKED,
+ tree2_cb_select_mode_change, NULL);
+ ewl_widget_show(o);
+
return 1;
}
@@ -349,5 +361,59 @@
ewl_mvc_dirty_set(EWL_MVC(tree), TRUE);
}
+static void
+tree2_cb_value_changed(Ewl_Widget *w, void *ev __UNUSED__,
+ void *data __UNUSED__)
+{
+ Ecore_List *selected;
+ Ewl_Selection *sel;
+
+ printf("Selected:\n");
+ selected = ewl_mvc_selected_list_get(EWL_MVC(w));
+ ecore_list_goto_first(selected);
+ while ((sel = ecore_list_next(selected)))
+ {
+ if (sel->type == EWL_SELECTION_TYPE_INDEX)
+ {
+ Ewl_Selection_Idx *idx;
+
+ idx = EWL_SELECTION_IDX(sel);
+ printf(" %d %d\n", idx->row, idx->column);
+ }
+ else
+ {
+ Ewl_Selection_Range *idx;
+ int i, k;
+
+ idx = EWL_SELECTION_RANGE(sel);
+ for (i = idx->start.row; i <= idx->end.row; i++)
+ {
+ for (k = idx->start.column; k <=
+ idx->end.column; k++)
+ printf(" %d %d\n", i, k);
+ }
+ }
+ }
+}
+
+static void
+tree2_cb_select_mode_change(Ewl_Widget *w __UNUSED__, void *ev __UNUSED__,
+ void *data __UNUSED__)
+{
+ Ewl_Widget *tree;
+ tree = ewl_widget_name_find("tree");
+ if (!strcmp(ewl_button_label_get(EWL_BUTTON(w)), "Row select"))
+ {
+ ewl_button_label_set(EWL_BUTTON(w), "Cell select");
+ ewl_tree2_selection_type_set(EWL_TREE2(tree),
+ EWL_TREE_SELECTION_TYPE_ROW);
+ }
+ else
+ {
+ ewl_button_label_set(EWL_BUTTON(w), "Row select");
+ ewl_tree2_selection_type_set(EWL_TREE2(tree),
+ EWL_TREE_SELECTION_TYPE_CELL);
+ }
+}
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs