Enlightenment CVS committal Author : leviathan Project : e17 Module : libs/etk-perl
Dir : e17/libs/etk-perl Modified Files: Etk.xs EtkSignals.c EtkSignals.h EtkTypes.c TODO Log Message: Move to the new Etk_Tree NOTE: Currently you can only set one model per column, and the fields_get and events do not work =================================================================== RCS file: /cvs/e/e17/libs/etk-perl/Etk.xs,v retrieving revision 1.76 retrieving revision 1.77 diff -u -3 -r1.76 -r1.77 --- Etk.xs 14 Jan 2007 21:10:43 -0000 1.76 +++ Etk.xs 21 Jan 2007 01:12:44 -0000 1.77 @@ -17,13 +17,11 @@ #define mINT 1 #define mDOUBLE 2 -#define mICONTEXTF 3 -#define mIMAGEF 4 -#define mCHECKBOX 5 -#define mPROGRESSBAR 6 -#define mTEXT 7 -#define mICONTEXTE 8 -#define mIMAGEE 9 +#define mIMAGE 3 +#define mCHECKBOX 4 +#define mPROGRESSBAR 5 +#define mTEXT 6 + static void notification_callback(Etk_Object * object, const char * property_name, void * data) @@ -100,7 +98,7 @@ SV *event_rv; cbd = data; - event_rv = GetSignalEvent(object, value, cbd); + event_rv = GetSignalEvent_POINTER(object, value, cbd); PUSHMARK(SP) ; XPUSHs(sv_2mortal(newSVsv(cbd->perl_object))); @@ -116,11 +114,17 @@ { dSP; Callback_Signal_Data *cbd = NULL; + cbd = data; + + SV * obj1_rv, *event_rv; + GetSignalEvent_POINTER_POINTER(object, val1, val2, cbd, &obj1_rv, &event_rv); cbd = data; PUSHMARK(SP) ; XPUSHs(sv_2mortal(newSVsv(cbd->perl_object))); + XPUSHs(sv_2mortal(obj1_rv)); + XPUSHs(sv_2mortal(event_rv)); XPUSHs(sv_2mortal(newSVsv(cbd->perl_data))); PUTBACK ; @@ -4173,22 +4177,36 @@ MODULE = Etk::Tree PACKAGE = Etk::Tree PREFIX = etk_tree_ Etk_Tree_Row * -etk_tree_append(tree) +etk_tree_row_append(tree, parent=NULL) Etk_Tree * tree + Etk_Tree_Row * parent ALIAS: - Append=1 + RowAppend=1 CODE: - RETVAL = etk_tree_append(tree, NULL); + RETVAL = etk_tree_row_append(tree, parent, NULL); OUTPUT: RETVAL Etk_Tree_Row * -etk_tree_append_to_row(row) - Etk_Tree_Row * row +etk_tree_row_prepend(tree, parent=NULL) + Etk_Tree * tree + Etk_Tree_Row * parent ALIAS: - AppendToRow=1 + RowPrepend=1 + CODE: + RETVAL = etk_tree_row_prepend(tree, parent, NULL); + OUTPUT: + RETVAL + +Etk_Tree_Row * +etk_tree_row_insert(tree, parent=NULL, after) + Etk_Tree * tree + Etk_Tree_Row * parent + Etk_Tree_Row * after + ALIAS: + RowInsert=1 CODE: - RETVAL = etk_tree_append_to_row(row, NULL); + RETVAL = etk_tree_row_insert(tree, parent, after, NULL); OUTPUT: RETVAL @@ -4236,10 +4254,8 @@ HeadersVisibleSet=1 Etk_Tree_Row * -etk_tree_last_row_get(tree, walking_through_hierarchy, include_collapsed_children) +etk_tree_last_row_get(tree) Etk_Tree * tree - Etk_Bool walking_through_hierarchy - Etk_Bool include_collapsed_children ALIAS: LastRowGet=1 @@ -4277,14 +4293,6 @@ OUTPUT: RETVAL -Etk_Tree_Row * -etk_tree_next_row_get(row, walking_through_hierarchy, include_collapsed_children) - Etk_Tree_Row * row - Etk_Bool walking_through_hierarchy - Etk_Bool include_collapsed_children - ALIAS: - NextRowGet=1 - Etk_Tree_Col * etk_tree_nth_col_get(tree, nth) Etk_Tree * tree @@ -4295,15 +4303,6 @@ Etk_Tree * tree ALIAS: NumColsGet=1 - -Etk_Tree_Row * -etk_tree_prev_row_get(row, walking_through_hierarchy, include_collapsed_children) - Etk_Tree_Row * row - Etk_Bool walking_through_hierarchy - Etk_Bool include_collapsed_children - ALIAS: - PrevRowGet=1 - void etk_tree_select_all(tree) @@ -4317,51 +4316,46 @@ ALIAS: SelectedRowGet=1 -Evas_List * -etk_tree_selected_rows_get(tree) - Etk_Tree * tree - ALIAS: - SelectedRowsGet=1 - -void -etk_tree_sort(tree, compare_cb, ascendant, col, data) - Etk_Tree * tree - SV *compare_cb - Etk_Bool ascendant - Etk_Tree_Col * col - SV * data - ALIAS: - Sort=1 - CODE: - Callback_Tree_Compare_Data *cbd; - - cbd = calloc(1, sizeof(Callback_Tree_Compare_Data)); - cbd->object = ETK_OBJECT(col); - cbd->perl_data = newSVsv(data); - cbd->perl_callback = newSVsv(compare_cb); - etk_tree_sort(tree, tree_compare_cb, ascendant, col, cbd); - -void -etk_tree_sort_alpha(tree, ascendant, col, data) - Etk_Tree * tree - Etk_Bool ascendant - Etk_Tree_Col * col - SV * data - ALIAS: - SortAlpha=1 - CODE: - etk_tree_sort(tree, tree_compare_alpha_cb, ascendant, col, data); - -void -etk_tree_sort_numeric(tree, ascendant, col, data) - Etk_Tree * tree - Etk_Bool ascendant - Etk_Tree_Col * col - SV * data - ALIAS: - SortNumeric=1 - CODE: - etk_tree_sort(tree, tree_compare_numeric_cb, ascendant, col, data); +# +# void +# etk_tree_sort(tree, compare_cb, ascendant, col, data) +# Etk_Tree * tree +# SV *compare_cb +# Etk_Bool ascendant +# Etk_Tree_Col * col +# SV * data +# ALIAS: +# Sort=1 +# CODE: +# Callback_Tree_Compare_Data *cbd; +# +# cbd = calloc(1, sizeof(Callback_Tree_Compare_Data)); +# cbd->object = ETK_OBJECT(col); +# cbd->perl_data = newSVsv(data); +# cbd->perl_callback = newSVsv(compare_cb); +# etk_tree_sort(tree, tree_compare_cb, ascendant, col, cbd); +# +# void +# etk_tree_sort_alpha(tree, ascendant, col, data) +# Etk_Tree * tree +# Etk_Bool ascendant +# Etk_Tree_Col * col +# SV * data +# ALIAS: +# SortAlpha=1 +# CODE: +# etk_tree_sort(tree, tree_compare_alpha_cb, ascendant, col, data); +# +# void +# etk_tree_sort_numeric(tree, ascendant, col, data) +# Etk_Tree * tree +# Etk_Bool ascendant +# Etk_Tree_Col * col +# SV * data +# ALIAS: +# SortNumeric=1 +# CODE: +# etk_tree_sort(tree, tree_compare_numeric_cb, ascendant, col, data); void etk_tree_thaw(tree) @@ -4376,29 +4370,32 @@ UnselectAll=1 SV * -etk_tree_col_new(tree, title, model, width) +etk_tree_col_new(tree, title, width, alignment) Etk_Tree * tree char * title - SV * model int width + float alignment + ALIAS: + ColNew=1 CODE: - Etk_Tree_Model * modeldata; Etk_Tree_Col * col; - SV ** model_type; - - modeldata = (Etk_Tree_Model *) SvObj(model, "Etk::Tree::Model"); - - col = etk_tree_col_new(tree, title, modeldata, width); - RETVAL = newSVObj(col, getClass("Etk_Tree_Col")); - - model_type = hv_fetch( (HV*)SvRV(model), "_model", 6, 0); - if (model_type) { - int type = SvIV(*model_type); - hv_store( (HV*)SvRV(RETVAL), "_model", 6, newSViv(type), 0); - } + col = etk_tree_col_new(tree, title, width, alignment); + RETVAL = newSVObject(col); OUTPUT: RETVAL - + +void +etk_tree_rows_height_set(tree, rows_height) + Etk_Tree *tree + int rows_height + ALIAS: + RowsHeightSet=1 + +int +etk_tree_rows_height_get(tree) + Etk_Tree *tree + ALIAS: + RowsHeightGet=1 MODULE = Etk::Tree::Col PACKAGE = Etk::Tree::Col PREFIX = etk_tree_col_ @@ -4430,17 +4427,17 @@ MinWidthSet=1 int -etk_tree_col_place_get(col) +etk_tree_col_position_get(col) Etk_Tree_Col * col ALIAS: - PlaceGet=1 + PositionGet=1 void -etk_tree_col_reorder(col, new_place) +etk_tree_col_position_set(col, position) Etk_Tree_Col * col - int new_place + int position ALIAS: - Reorder=1 + PositionSet=1 Etk_Bool etk_tree_col_resizable_get(col) @@ -4456,12 +4453,12 @@ ResizableSet=1 void -etk_tree_col_sort_func_set(col, compare_cb, data) +etk_tree_col_sort_set(col, compare_cb, data) Etk_Tree_Col * col SV * compare_cb SV * data ALIAS: - SortFuncSet=1 + SortSet=1 CODE: Callback_Tree_Compare_Data *cbd; @@ -4469,33 +4466,25 @@ cbd->object = ETK_OBJECT(col); cbd->perl_data = newSVsv(data); cbd->perl_callback = newSVsv(compare_cb); - etk_tree_col_sort_func_set(col, tree_compare_cb, cbd); + etk_tree_col_sort_set(col, tree_compare_cb, cbd); void -etk_tree_col_sort_func_alpha_set(col, data) +etk_tree_col_sort_alpha_set(col, data) Etk_Tree_Col * col SV * data ALIAS: - SortFuncAlphaSet=1 + SortAlphaSet=1 CODE: - etk_tree_col_sort_func_set(col, tree_compare_alpha_cb, data); + etk_tree_col_sort_set(col, tree_compare_alpha_cb, data); void -etk_tree_col_sort_func_numeric_set(col, data) +etk_tree_col_sort_numeric_set(col, data) Etk_Tree_Col * col SV * data ALIAS: - SortFuncNumericSet=1 + SortNumericSet=1 CODE: - etk_tree_col_sort_func_set(col, tree_compare_numeric_cb, data); - -void -etk_tree_col_sort_func_set2(col, compare_cb, data) - Etk_Tree_Col * col - int ( * ) ( Etk_Tree * tree, Etk_Tree_Row * row1, Etk_Tree_Row *row2, Etk_Tree_Col * col, void * data ) compare_cb - void * data - ALIAS: - SortFuncSet2=1 + etk_tree_col_sort_set(col, tree_compare_numeric_cb, data); const char * etk_tree_col_title_get(col) @@ -4536,31 +4525,40 @@ ALIAS: WidthSet=1 - -MODULE = Etk::Tree::Model PACKAGE = Etk::Tree::Model PREFIX = etk_tree_model_ +Etk_Tree * +etk_tree_col_tree_get(col) + Etk_Tree_Col *col + ALIAS: + TreeGet=1 void -etk_tree_model_alignment_get(model) - Etk_Tree_Model * model - ALIAS: - AlignmentGet=1 - PPCODE: - - float xalign; - float yalign; - etk_tree_model_alignment_get(model, &xalign, &yalign); - EXTEND(SP, 2); - PUSHs(sv_2mortal(newSVnv(xalign))); - PUSHs(sv_2mortal(newSVnv(yalign))); +XS_etk_tree_col_model_add(col, model) + Etk_Tree_Col *col + Etk_Tree_Model *model + CODE: + etk_tree_col_model_add(col, model); + +Etk_Widget * +etk_tree_col_header_get(col) + Etk_Tree_Col *col + ALIAS: + HeaderGet=1 void -etk_tree_model_alignment_set(model, xalign, yalign) - Etk_Tree_Model * model - float xalign - float yalign - ALIAS: +etk_tree_col_alignment_set(col, alignment) + Etk_Tree_Col *col + float alignment + ALIAS: AlignmentSet=1 +float +etk_tree_col_alignment_get(col) + Etk_Tree_Col *col + ALIAS: + AlignmentGet=1 + +MODULE = Etk::Tree::Model PACKAGE = Etk::Tree::Model PREFIX = etk_tree_model_ + void etk_tree_model_free(model) Etk_Tree_Model * model @@ -4571,13 +4569,12 @@ MODULE = Etk::Tree::Model::Checkbox PACKAGE = Etk::Tree::Model::Checkbox PREFIX = etk_tree_model_checkbox_ void -new(class, tree) +new(class) SV * class - Etk_Tree * tree PPCODE: Etk_Tree_Model * model; SV * ret; - model = etk_tree_model_checkbox_new(tree); + model = etk_tree_model_checkbox_new(); ret = newSVObj(model, getClass("Etk_Tree_Model")); hv_store( (HV*)SvRV(ret), "_model", 6, newSViv(mCHECKBOX), 0); XPUSHs(sv_2mortal(ret)); @@ -4586,83 +4583,60 @@ MODULE = Etk::Tree::Model::Double PACKAGE = Etk::Tree::Model::Double PREFIX = etk_tree_model_double_ void -new(class, tree) +new(class) SV * class - Etk_Tree * tree PPCODE: Etk_Tree_Model * model; SV * ret; - model = etk_tree_model_double_new(tree); + model = etk_tree_model_double_new(); ret = newSVObj(model, getClass("Etk_Tree_Model")); hv_store( (HV*)SvRV(ret), "_model", 6, newSViv(mDOUBLE), 0); XPUSHs(sv_2mortal(ret)); -MODULE = Etk::Tree::Model::IconText PACKAGE = Etk::Tree::Model::IconText PREFIX = etk_tree_model_icon_text_ - -int -etk_tree_model_icon_text_icon_width_get(model) - Etk_Tree_Model * model - ALIAS: - IconWidthGet=1 - -void -etk_tree_model_icon_text_icon_width_set(model, icon_width) - Etk_Tree_Model * model - int icon_width - ALIAS: - IconWidthSet=1 +MODULE = Etk::Tree::Model::Image PACKAGE = Etk::Tree::Model::Image PREFIX = etk_tree_model_image_ void -new(class, tree, type) +new(class) SV * class - Etk_Tree * tree - Etk_Tree_Model_Image_Type type PPCODE: Etk_Tree_Model * model; SV * ret; - SV * mod; - if (type == ETK_TREE_FROM_FILE) - mod = newSViv(mICONTEXTF); - else - mod = newSViv(mICONTEXTE); - - model = etk_tree_model_icon_text_new(tree, type); + model = etk_tree_model_image_new(); ret = newSVObj(model, getClass("Etk_Tree_Model")); - hv_store( (HV*)SvRV(ret), "_model", 6, mod, 0); + hv_store( (HV*)SvRV(ret), "_model", 6, newSViv(mIMAGE), 0); XPUSHs(sv_2mortal(ret)); - -MODULE = Etk::Tree::Model::Image PACKAGE = Etk::Tree::Model::Image PREFIX = etk_tree_model_image_ +void +etk_tree_model_image_width_set(model, width, alignment) + Etk_Tree_Model * model + int width + float alignment + ALIAS: + WidthSet=1 void -new(class, tree, type) - SV * class - Etk_Tree * tree - Etk_Tree_Model_Image_Type type +etk_tree_model_image_width_get(model) + Etk_Tree_Model * model + ALIAS: + WidthGet=1 PPCODE: - Etk_Tree_Model * model; - SV * ret; - SV * mod; - if (type == ETK_TREE_FROM_FILE) - mod = newSViv(mIMAGEF); - else - mod = newSViv(mIMAGEE); - model = etk_tree_model_image_new(tree, type); - ret = newSVObj(model, getClass("Etk_Tree_Model")); - hv_store( (HV*)SvRV(ret), "_model", 6, mod, 0); - XPUSHs(sv_2mortal(ret)); + int width; + float alignment; + etk_tree_model_image_width_get(model, &width, &alignment); + EXTEND(SP, 2); + PUSHs(sv_2mortal(newSViv(width))); + PUSHs(sv_2mortal(newSViv(alignment))); MODULE = Etk::Tree::Model::Int PACKAGE = Etk::Tree::Model::Int PREFIX = etk_tree_model_int_ void -new(class, tree) +new(class) SV * class - Etk_Tree * tree PPCODE: Etk_Tree_Model * model; SV * ret; - model = etk_tree_model_int_new(tree); + model = etk_tree_model_int_new(); ret = newSVObj(model, getClass("Etk_Tree_Model")); hv_store( (HV*)SvRV(ret), "_model", 6, newSViv(mINT), 0); XPUSHs(sv_2mortal(ret)); @@ -4672,13 +4646,12 @@ MODULE = Etk::Tree::Model::ProgressBar PACKAGE = Etk::Tree::Model::ProgressBar PREFIX = etk_tree_model_progress_bar_ void -new(class, tree) +new(class) SV * class - Etk_Tree * tree PPCODE: Etk_Tree_Model * model; SV * ret; - model = etk_tree_model_progress_bar_new(tree); + model = etk_tree_model_progress_bar_new(); ret = newSVObj(model, getClass("Etk_Tree_Model")); hv_store( (HV*)SvRV(ret), "_model", 6, newSViv(mPROGRESSBAR), 0); XPUSHs(sv_2mortal(ret)); @@ -4687,13 +4660,12 @@ MODULE = Etk::Tree::Model::Text PACKAGE = Etk::Tree::Model::Text PREFIX = etk_tree_model_text_ void -new(class, tree) +new(class) SV * class - Etk_Tree * tree PPCODE: Etk_Tree_Model * model; SV * ret; - model = etk_tree_model_text_new(tree); + model = etk_tree_model_text_new(); ret = newSVObj(model, getClass("Etk_Tree_Model")); hv_store( (HV*)SvRV(ret), "_model", 6, newSViv(mTEXT), 0); XPUSHs(sv_2mortal(ret)); @@ -4701,11 +4673,41 @@ MODULE = Etk::Tree::Row PACKAGE = Etk::Tree::Row PREFIX = etk_tree_row_ + +Etk_Tree_Row * +etk_tree_row_next_get(row) + Etk_Tree_Row * row + ALIAS: + NextGet=1 + +Etk_Tree_Row * +etk_tree_row_prev_get(row) + Etk_Tree_Row * row + ALIAS: + PrevGet=1 + +void etk_tree_row_delete(row) + Etk_Tree_Row * row + ALIAS: + Delete=1 + void -etk_tree_row_collapse(row) +etk_tree_row_fold(row) Etk_Tree_Row * row ALIAS: - Collapse=1 + Fold=1 + +void +etk_tree_row_unfold(row) + Etk_Tree_Row * row + ALIAS: + Unfold=1 + +Etk_Bool +etk_tree_row_is_folded(row) + Etk_Tree_Row * row + ALIAS: + IsFolded=1 SV * etk_tree_row_data_get(row) @@ -4726,62 +4728,52 @@ CODE: etk_tree_row_data_set(row, newSVsv(data)); -void -etk_tree_row_del(row) - Etk_Tree_Row * row - ALIAS: - Del=1 - -void -etk_tree_row_expand(row) - Etk_Tree_Row * row - ALIAS: - Expand=1 - void -fields_set(row, col, ...) +fields_set(row, emit_signal, col, ...) Etk_Tree_Row * row + Etk_Bool emit_signal SV * col ALIAS: FieldsSet=1 PREINIT: Etk_Tree_Col * column; + SV ** models; SV ** model; CODE: - column = (Etk_Tree_Col *) SvObj(col, "Etk::Tree::Col"); - - model = hv_fetch( (HV*)SvRV(col), "_model", 6, 0); - if (model) { - int type = SvIV(*model); - switch(type) { - case mINT: - case mCHECKBOX: - etk_tree_row_fields_set(row, column, SvIV(ST(2)), NULL); - break; - case mDOUBLE: - etk_tree_row_fields_set(row, column, SvNV(ST(2)), NULL); - break; - case mICONTEXTF: - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), SvPV_nolen(ST(3)), NULL); - break; - case mICONTEXTE: - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), SvPV_nolen(ST(3)), SvPV_nolen(ST(4)), NULL); - break; - case mIMAGEF: - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), NULL); - break; - case mIMAGEE: - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), SvPV_nolen(ST(3)), NULL); - break; - case mPROGRESSBAR: - etk_tree_row_fields_set(row, column, SvNV(ST(2)), SvPV_nolen(ST(3)), NULL); - break; - case mTEXT: - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), NULL); - break; - } + models = hv_fetch( (HV*)SvRV(col), "_models", 7, 0); + if (models) { + AV * mods = (AV *) SvRV(*models); + int total = (int)av_len(mods); + model = av_fetch(mods, 0, 0); + if (model) { + int type = SvIV(*model); + switch(type) { + case mINT: + etk_tree_row_fields_set(row, emit_signal, column, SvIV(ST(3)), NULL); + break; + case mDOUBLE: + etk_tree_row_fields_set(row, emit_signal, column, SvNV(ST(3)), NULL); + break; + case mCHECKBOX: + etk_tree_row_fields_set(row, emit_signal, column, SvIV(ST(3)), NULL); + break; + case mIMAGE: + if (items == 4) + etk_tree_row_fields_set(row, emit_signal, column, + SvPV_nolen(ST(3)), NULL, NULL); + else + etk_tree_row_fields_set(row, emit_signal, column, + SvPV_nolen(ST(3)), SvPV_nolen(ST(4)), NULL); + break; + case mPROGRESSBAR: + break; + case mTEXT: + etk_tree_row_fields_set(row, emit_signal, column, SvPV_nolen(ST(3)), NULL); + break; + } + } } @@ -4799,6 +4791,7 @@ double d; char *c1, *c2, *c3; PPCODE: + // TODO: change this column = (Etk_Tree_Col *) SvObj(col, "Etk::Tree::Col"); @@ -4818,26 +4811,10 @@ etk_tree_row_fields_get(row, column, &d, NULL); XPUSHs(sv_2mortal(newSVnv(d))); break; - case mICONTEXTE: - etk_tree_row_fields_get(row, column, &c1, &c2, &c3, NULL); - XPUSHs(sv_2mortal(newSVpv(c1, strlen(c1)))); - XPUSHs(sv_2mortal(newSVpv(c2, strlen(c2)))); - XPUSHs(sv_2mortal(newSVpv(c3, strlen(c3)))); - break; - case mICONTEXTF: - etk_tree_row_fields_get(row, column, &c1, &c2, NULL); - XPUSHs(sv_2mortal(newSVpv(c1, strlen(c1)))); - XPUSHs(sv_2mortal(newSVpv(c2, strlen(c2)))); - break; - case mIMAGEF: + case mIMAGE: etk_tree_row_fields_get(row, column, &c1, NULL); XPUSHs(sv_2mortal(newSVpv(c1, strlen(c1)))); break; - case mIMAGEE: - etk_tree_row_fields_get(row, column, &c1, &c2, NULL); - XPUSHs(sv_2mortal(newSVpv(c1, strlen(c1)))); - XPUSHs(sv_2mortal(newSVpv(c2, strlen(c2)))); - break; case mPROGRESSBAR: etk_tree_row_fields_get(row, column, &d, &c1, NULL); XPUSHs(sv_2mortal(newSVnv(d))); @@ -4857,31 +4834,16 @@ ALIAS: FirstChildGet=1 -int -etk_tree_row_height_get(tree) - Etk_Tree * tree - ALIAS: - HeightGet=1 - -void -etk_tree_row_height_set(tree, row_height) - Etk_Tree * tree - int row_height - ALIAS: - HeightSet=1 - Etk_Tree_Row * -etk_tree_row_last_child_get(row, walking_through_hierarchy, include_collapsed_children) +etk_tree_row_last_child_get(row) Etk_Tree_Row * row - Etk_Bool walking_through_hierarchy - Etk_Bool include_collapsed_children ALIAS: LastChildGet=1 void -etk_tree_row_scroll_to(row, center_the_row) +etk_tree_row_scroll_to(row, center) Etk_Tree_Row * row - Etk_Bool center_the_row + Etk_Bool center ALIAS: ScrollTo=1 @@ -4897,6 +4859,37 @@ ALIAS: Unselect=1 +Etk_Bool +etk_tree_row_is_selected(row) + Etk_Tree_Row * row + ALIAS: + IsSelected=1 + +Etk_Tree * +etk_tree_row_tree_get(row) + Etk_Tree_Row * row + ALIAS: + TreeGet=1 + +Etk_Tree_Row * +etk_tree_row_parent_get(row) + Etk_Tree_Row * row + ALIAS: + ParentGet=1 + +Etk_Tree_Row * +etk_tree_row_walk_prev(row, include_folded) + Etk_Tree_Row * row + Etk_Bool include_folded + ALIAS: + WalkPrev=1 + +Etk_Tree_Row * +etk_tree_row_walk_next(row, include_folded) + Etk_Tree_Row * row + Etk_Bool include_folded + ALIAS: + WalkNext=1 MODULE = Etk::VBox PACKAGE = Etk::VBox PREFIX = etk_vbox_ =================================================================== RCS file: /cvs/e/e17/libs/etk-perl/EtkSignals.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- EtkSignals.c 4 Sep 2006 19:39:26 -0000 1.5 +++ EtkSignals.c 21 Jan 2007 01:12:44 -0000 1.6 @@ -3,7 +3,7 @@ -SV * GetSignalEvent(Etk_Object * object, void * value, Callback_Signal_Data * cbd) { +SV * GetSignalEvent_POINTER(Etk_Object * object, void * value, Callback_Signal_Data * cbd) { HV *event_hv; SV *event_rv; @@ -54,4 +54,15 @@ } +void GetSignalEvent_POINTER_POINTER(Etk_Object * object, void * val1, void * val2, Callback_Signal_Data * cbd, SV **obj, SV **event) { + + if(!strcmp(cbd->signal_name, "row_clicked")) + { + Etk_Tree_Row * row = val1; + Etk_Event_Key_Up *key_event = val2; + *obj = newSVObj(row, getClass("Etk_Tree_Row")); + *event = newSVEventKeyUp(key_event); + } + +} =================================================================== RCS file: /cvs/e/e17/libs/etk-perl/EtkSignals.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- EtkSignals.h 9 Sep 2006 10:16:29 -0000 1.2 +++ EtkSignals.h 21 Jan 2007 01:12:44 -0000 1.3 @@ -54,7 +54,8 @@ -SV * GetSignalEvent(Etk_Object * object, void * value, Callback_Signal_Data * cbd); +SV * GetSignalEvent_POINTER(Etk_Object * object, void * value, Callback_Signal_Data * cbd); +void GetSignalEvent_POINTER_POINTER(Etk_Object * object, void * val1, void * val2, Callback_Signal_Data * cbd, SV ** obj, SV ** event); #endif =================================================================== RCS file: /cvs/e/e17/libs/etk-perl/EtkTypes.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- EtkTypes.c 9 Dec 2006 14:54:12 -0000 1.19 +++ EtkTypes.c 21 Jan 2007 01:12:44 -0000 1.20 @@ -52,6 +52,9 @@ sv_bless(result, gv_stashpv(classname, FALSE)); SvREFCNT_dec(h); +#ifdef DEBUG + printf("\t>> Object (%p)\n", result); +#endif return result; } =================================================================== RCS file: /cvs/e/e17/libs/etk-perl/TODO,v retrieving revision 1.22 retrieving revision 1.23 diff -u -3 -r1.22 -r1.23 --- TODO 14 Jan 2007 21:10:43 -0000 1.22 +++ TODO 21 Jan 2007 01:12:44 -0000 1.23 @@ -1,4 +1,5 @@ TODO: + - Fix Etk_Tree column models - callback system needs to convert event structs to perl equivalents - perldoc everything - complete Tests ------------------------------------------------------------------------- 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