Enlightenment CVS committal Author : leviathan Project : e17 Module : proto
Dir : e17/proto/etk-perl Modified Files: Etk.xs EtkTypes.c TODO Log Message: - better handling of tree fields =================================================================== RCS file: /cvs/e/e17/proto/etk-perl/Etk.xs,v retrieving revision 1.44 retrieving revision 1.45 diff -u -3 -r1.44 -r1.45 --- Etk.xs 19 Aug 2006 08:27:35 -0000 1.44 +++ Etk.xs 19 Aug 2006 10:42:19 -0000 1.45 @@ -19,11 +19,13 @@ #define mINT 1 #define mDOUBLE 2 -#define mICONTEXT 3 -#define mIMAGE 4 +#define mICONTEXTF 3 +#define mIMAGEF 4 #define mCHECKBOX 5 #define mPROGRESSBAR 6 #define mTEXT 7 +#define mICONTEXTE 8 +#define mIMAGEE 9 static void notification_callback(Etk_Object * object, const char * property_name, void * data) @@ -395,7 +397,7 @@ Shutdown=1 CODE: etk_shutdown(); - FreeObjectCache(); + //FreeObjectCache(); MODULE = Etk::Alignment PACKAGE = Etk::Alignment PREFIX = etk_alignment_ @@ -2772,12 +2774,6 @@ else etk_signal_disconnect(signal_name, obj, ETK_CALLBACK(callback_VOID__VOID)); -void -DESTROY(object) - Etk_Object * object - CODE: - FreeEtkObject(object); - MODULE = Etk::Paned PACKAGE = Etk::Paned PREFIX = etk_paned_ @@ -3808,8 +3804,6 @@ etk_tree_nth_col_get(tree, nth) Etk_Tree * tree int nth - ALIAS: - NthColGet=1 int etk_tree_num_cols_get(tree) @@ -3902,8 +3896,6 @@ char * title SV * model int width - ALIAS: - ColNew=1 CODE: Etk_Tree_Model * modeldata; Etk_Tree_Col * col; @@ -4144,9 +4136,15 @@ 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); ret = newSVEtkTreeModelPtr(model); - hv_store( (HV*)SvRV(ret), "_model", 6, newSViv(mICONTEXT), 0); + hv_store( (HV*)SvRV(ret), "_model", 6, mod, 0); XPUSHs(sv_2mortal(ret)); @@ -4160,9 +4158,14 @@ 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 = newSVEtkTreeModelPtr(model); - hv_store( (HV*)SvRV(ret), "_model", 6, newSViv(mIMAGE), 0); + hv_store( (HV*)SvRV(ret), "_model", 6, mod, 0); XPUSHs(sv_2mortal(ret)); MODULE = Etk::Tree::Model::Int PACKAGE = Etk::Tree::Model::Int PREFIX = etk_tree_model_int_ @@ -4275,19 +4278,17 @@ case mDOUBLE: etk_tree_row_fields_set(row, column, SvNV(ST(2)), NULL); break; - case mICONTEXT: - if (items == 3) - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), NULL); - else if (items == 4) - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), SvPV_nolen(ST(3)), NULL); - else - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), SvPV_nolen(ST(3)), SvPV_nolen(ST(4)), NULL); + case mICONTEXTF: + etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), SvPV_nolen(ST(3)), NULL); break; - case mIMAGE: - if (items == 3) - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), NULL); - else - etk_tree_row_fields_set(row, column, SvPV_nolen(ST(2)), SvPV_nolen(ST(3)), NULL); + 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); @@ -4332,16 +4333,25 @@ etk_tree_row_fields_get(row, column, &d, NULL); XPUSHs(sv_2mortal(newSVnv(d))); break; - case mICONTEXT: + case mICONTEXTE: etk_tree_row_fields_get(row, column, &c1, &c2, &c3, NULL); XPUSHs(sv_2mortal(newSVpv(c1, strlen(c1)))); - if (c2) XPUSHs(sv_2mortal(newSVpv(c2, strlen(c2)))); - if (c3) XPUSHs(sv_2mortal(newSVpv(c3, strlen(c3)))); + 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: + etk_tree_row_fields_get(row, column, &c1, NULL); + XPUSHs(sv_2mortal(newSVpv(c1, strlen(c1)))); break; - case mIMAGE: + case mIMAGEE: etk_tree_row_fields_get(row, column, &c1, &c2, NULL); XPUSHs(sv_2mortal(newSVpv(c1, strlen(c1)))); - if (c2) XPUSHs(sv_2mortal(newSVpv(c2, strlen(c2)))); + XPUSHs(sv_2mortal(newSVpv(c2, strlen(c2)))); break; case mPROGRESSBAR: etk_tree_row_fields_get(row, column, &d, &c1, NULL); =================================================================== RCS file: /cvs/e/e17/proto/etk-perl/EtkTypes.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- EtkTypes.c 16 Aug 2006 20:21:56 -0000 1.8 +++ EtkTypes.c 19 Aug 2006 10:42:19 -0000 1.9 @@ -1,6 +1,7 @@ #include "EtkTypes.h" +#if 0 static HV * ObjectCache = NULL; static void SetEtkObject(SV * perl_object, Etk_Object * object) @@ -86,6 +87,8 @@ ObjectCache = NULL; } +#endif + void * SvObj(SV *o, char * classname) { #ifdef DEBUG @@ -141,7 +144,7 @@ void __etk_perl_init() { - ObjectCache = newHV(); +// ObjectCache = newHV(); #define __(A, B)\ av_push(get_av("Etk::"A"::ISA", TRUE), newSVpv("Etk::"B, strlen("Etk::"B))); =================================================================== RCS file: /cvs/e/e17/proto/etk-perl/TODO,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- TODO 16 Aug 2006 20:21:56 -0000 1.15 +++ TODO 19 Aug 2006 10:42:19 -0000 1.16 @@ -6,16 +6,14 @@ - Check for memory usage (I'm not sure if we're leaking or not, need to do some tests for that) - Fix Combobox append functions (waiting for some functionality in etk) - - Fix Tree models BUGS: - make test is defining PERL_DL_NONLAZY=1 for some reason and fails to load the library, for now you can run: $ perl -MExtUtils::Command::MM -e "test_harness(0, 'blib/lib', 'blib/arch')" t/Etk/*.t - - Cache is still all over the place - Pending: -etk_canvas.h + -dnd ------------------------------------------------------------------------- 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 enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs