On Sat, 4 Jun 2011 18:40:48 +0200 (CEST) Vincent Torri <vto...@univ-evry.fr> said:
well it effectively makes a feature work that didnt work before and adds a new feature to match, so i consider it 1.1 material. > > > On Sat, 4 Jun 2011, Enlightenment SVN wrote: > > > Log: > > whover did table and box support forgot: > > is this considered as a bug fix or an addition of a feature ? (for > backport and changelog...) > > Vincent > > > > > 1. table to have min.h/v ability like box > > 2. to ACTUALLY implement box h/v (and well of course implement > > tableh/v too) > > > > this basically fixes this working at all and completes the feature to > > table too. > > > > > > > > Author: raster > > Date: 2011-06-04 08:58:02 -0700 (Sat, 04 Jun 2011) > > New Revision: 59960 > > Trac: http://trac.enlightenment.org/e/changeset/59960 > > > > Modified: > > trunk/edje/src/bin/edje_cc_handlers.c trunk/edje/src/lib/edje_calc.c > > trunk/edje/src/lib/edje_data.c trunk/edje/src/lib/edje_private.h > > > > Modified: trunk/edje/src/bin/edje_cc_handlers.c > > =================================================================== > > --- trunk/edje/src/bin/edje_cc_handlers.c 2011-06-04 11:15:14 UTC > > (rev 59959) +++ trunk/edje/src/bin/edje_cc_handlers.c 2011-06-04 > > 15:58:02 UTC (rev 59960) @@ -214,6 +214,7 @@ > > static void st_collections_group_parts_part_description_table_homogeneous > > (void); static void st_collections_group_parts_part_description_table_align > > (void); static void > > st_collections_group_parts_part_description_table_padding(void); +static > > void st_collections_group_parts_part_description_table_min(void); static > > void st_collections_group_parts_part_description_map_perspective(void); > > static void st_collections_group_parts_part_description_map_light(void); > > static void st_collections_group_parts_part_description_map_rotation_center > > (void); @@ -470,6 +471,7 @@ > > {"collections.group.parts.part.description.table.homogeneous", > > st_collections_group_parts_part_description_table_homogeneous}, > > {"collections.group.parts.part.description.table.align", > > st_collections_group_parts_part_description_table_align}, > > {"collections.group.parts.part.description.table.padding", > > st_collections_group_parts_part_description_table_padding}, > > + {"collections.group.parts.part.description.table.min", > > st_collections_group_parts_part_description_table_min}, > > {"collections.group.parts.part.description.map.perspective", > > st_collections_group_parts_part_description_map_perspective}, > > {"collections.group.parts.part.description.map.light", > > st_collections_group_parts_part_description_map_light}, > > {"collections.group.parts.part.description.map.rotation.center", > > st_collections_group_parts_part_description_map_rotation_center}, @@ > > -6106,6 +6108,7 @@ homogeneous: TABLE; padding: 0 2; align: 0.5 0.5; > > + min: 0 0; > > } > > .. > > } > > @@ -6143,6 +6146,16 @@ > > @effect > > Sets the space between cells in pixels. Defaults to 0 0. > > @endproperty > > + > > + @property > > + min > > + @parameters > > + [horizontal] [vertical] > > + @effect > > + When any of the parameters is enabled (1) it forces the minimum > > size of > > + the table to be equal to the minimum size of the items. The default > > + value is "0 0". > > + @endproperty > > */ > > static void st_collections_group_parts_part_description_table_homogeneous > > (void) { > > @@ -6225,7 +6238,33 @@ > > ed->table.padding.y = parse_int_range(1, 0, 0x7fffffff); > > } > > > > +static void > > +st_collections_group_parts_part_description_table_min(void) > > +{ > > + Edje_Part_Collection *pc; > > + Edje_Part *ep; > > + Edje_Part_Description_Table *ed; > > > > + check_arg_count(2); > > + > > + pc = eina_list_data_get(eina_list_last(edje_collections)); > > + ep = pc->parts[pc->parts_count - 1]; > > + > > + if (ep->type != EDJE_PART_TYPE_TABLE) > > + { > > + ERR("%s: Error. parse error %s:%i. " > > + "box attributes in non-TABLE part.", > > + progname, file_in, line - 1); > > + exit(-1); > > + } > > + > > + ed = (Edje_Part_Description_Table*) ep->default_desc; > > + if (ep->other.desc_count) ed = (Edje_Part_Description_Table*) > > ep->other.desc[ep->other.desc_count - 1]; + > > + ed->table.min.h = parse_bool(0); > > + ed->table.min.v = parse_bool(1); > > +} > > + > > /** > > @edcsection{description_map,Map state description sub blocks} > > */ > > > > Modified: trunk/edje/src/lib/edje_calc.c > > =================================================================== > > --- trunk/edje/src/lib/edje_calc.c 2011-06-04 11:15:14 UTC (rev > > 59959) +++ trunk/edje/src/lib/edje_calc.c 2011-06-04 15:58:02 UTC > > (rev 59960) @@ -1543,6 +1543,43 @@ > > _edje_part_recalc_single_textblock(sc, ed, ep, > > (Edje_Part_Description_Text*) chosen_desc, params, &minw, &minh, &maxw, > > &maxh); else if (ep->part->type == EDJE_PART_TYPE_TEXT) > > _edje_part_recalc_single_text(sc, ed, ep, (Edje_Part_Description_Text*) > > desc, (Edje_Part_Description_Text*) chosen_desc, params, &minw, &minh, > > &maxw, &maxh); + > > + if ((ep->part->type == EDJE_PART_TYPE_TABLE) && > > + (((((Edje_Part_Description_Table *)chosen_desc)->table.min.h) || > > + (((Edje_Part_Description_Table *)chosen_desc)->table.min.v)))) > > + { > > + Evas_Coord lminw = 0, lminh = 0; > > + > > + evas_object_smart_need_recalculate_set(ep->object, 1); > > + evas_object_smart_calculate(ep->object); > > + evas_object_size_hint_min_get(ep->object, &lminw, &lminh); > > + if (((Edje_Part_Description_Table *)chosen_desc)->table.min.h) > > + { > > + if (lminw > minw) minw = lminw; > > + } > > + if (((Edje_Part_Description_Table *)chosen_desc)->table.min.v) > > + { > > + if (lminh > minh) minh = lminh; > > + } > > + } > > + else if ((ep->part->type == EDJE_PART_TYPE_BOX) && > > + ((((Edje_Part_Description_Box *)chosen_desc)->box.min.h) || > > + (((Edje_Part_Description_Box *)chosen_desc)->box.min.v))) > > + { > > + Evas_Coord lminw = 0, lminh = 0; > > + > > + evas_object_smart_need_recalculate_set(ep->object, 1); > > + evas_object_smart_calculate(ep->object); > > + evas_object_size_hint_min_get(ep->object, &lminw, &lminh); > > + if (((Edje_Part_Description_Box *)chosen_desc)->box.min.h) > > + { > > + if (lminw > minw) minw = lminw; > > + } > > + if (((Edje_Part_Description_Box *)chosen_desc)->box.min.v) > > + { > > + if (lminh > minh) minh = lminh; > > + } > > + } > > > > /* remember what our size is BEFORE we go limit it */ > > params->req.x = params->x; > > > > Modified: trunk/edje/src/lib/edje_data.c > > =================================================================== > > --- trunk/edje/src/lib/edje_data.c 2011-06-04 11:15:14 UTC (rev > > 59959) +++ trunk/edje/src/lib/edje_data.c 2011-06-04 15:58:02 UTC > > (rev 59960) @@ -665,6 +665,8 @@ > > EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, > > Edje_Part_Description_Table, "table.align.y", table.align.y, EDJE_T_FLOAT); > > EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, > > Edje_Part_Description_Table, "table.padding.x", table.padding.x, > > EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC > > (_edje_edd_edje_part_description_table, Edje_Part_Description_Table, > > "table.padding.y", table.padding.y, EET_T_INT); > > + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, > > Edje_Part_Description_Table, "table.min.h", table.min.h, EET_T_UCHAR); > > + EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part_description_table, > > Edje_Part_Description_Table, "table.min.v", table.min.v, EET_T_UCHAR); > > > > EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, > > Edje_Part_Description_External); eddc.func.mem_free = mem_free_external; > > > > Modified: trunk/edje/src/lib/edje_private.h > > =================================================================== > > --- trunk/edje/src/lib/edje_private.h 2011-06-04 11:15:14 UTC (rev > > 59959) +++ trunk/edje/src/lib/edje_private.h 2011-06-04 15:58:02 UTC > > (rev 59960) @@ -887,7 +887,7 @@ > > int x, y; > > } padding; > > struct { > > - Eina_Bool h, v; > > + unsigned char h, v; > > } min; > > }; > > > > @@ -898,6 +898,9 @@ > > struct { > > int x, y; > > } padding; > > + struct { > > + unsigned char h, v; > > + } min; > > }; > > > > struct _Edje_Part_Description_Image > > > > > > ------------------------------------------------------------------------------ > > Simplify data backup and recovery for your virtual environment with vRanger. > > Installation's a snap, and flexible recovery options mean your data is safe, > > secure and there when you need it. Discover what all the cheering's about. > > Get your free trial download today. > > http://p.sf.net/sfu/quest-dev2dev2 > > _______________________________________________ > > enlightenment-svn mailing list > > enlightenment-...@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > > > > > > ------------------------------------------------------------------------------ > Simplify data backup and recovery for your virtual environment with vRanger. > Installation's a snap, and flexible recovery options mean your data is safe, > secure and there when you need it. Discover what all the cheering's about. > Get your free trial download today. > http://p.sf.net/sfu/quest-dev2dev2 > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel