*/
EAPI Eina_Bool edje_edit_part_item_position_set(Evas_Object *obj, const char *part, const char *item_name, unsigned short col, unsigned short row);
+/** Retrieves the how many columns and rows will span for use by item.
+ *
+ * @param obj object being edited.
+ * @param part part that contain item.
+ * @param item the name of the item of part.
+ * @param col Pointer to an unsigned char in which to store the columns count.
+ * @param row Pointer to an unsigned char in which to store the rows count.
+ *
+ * @since 1.11
+ */
+EAPI void edje_edit_part_item_span_get(Evas_Object *obj, const char *part, const char *item, unsigned char *col, unsigned char *row);
+
+/** Set the count of columns and rows, which this item will spans for use.
+ *
+ * @param obj object being edited.
+ * @param part part that contain item.
+ * @param item the name of the item to set new count of columns spans.
+ * @param col new count of the columns spans.
+ * @param row new count of the rows spans.
+ *
+ * @return @c EINA_TRUE if successful, @c EINA_FALSE otherwise.
+ * @since 1.11
+ */
+EAPI Eina_Bool edje_edit_part_item_span_set(Evas_Object *obj, const char *part, const char *item, unsigned char col, unsigned char row);
+
//@}
/******************************************************************************/
/************************** STATES API ************************************/
return EINA_TRUE;
}
+EAPI void
+edje_edit_part_item_span_get(Evas_Object *obj, const char *part,
+ const char *item_name, unsigned char *col,
+ unsigned char *row)
+{
+ Edje_Part *ep;
+ unsigned int i;
+ Edje_Pack_Element *item = NULL;
+ if ((!obj) || (!part) || (!item_name))
+ return;
+ GET_RP_OR_RETURN();
+ ep = rp->part;
+ for (i = 0; i < ep->items_count; ++i)
+ {
+ if ((ep->items[i]->name) && (!strcmp(ep->items[i]->name, item_name)))
+ {
+ item = ep->items[i];
+ break;
+ }
+ }
+ if (!item) return;
+ if (col) *col = item->colspan;
+ if (row) *row = item->rowspan;
+ return;
+}
+
+EAPI Eina_Bool
+edje_edit_part_item_span_set(Evas_Object *obj, const char *part,
+ const char *item_name, unsigned char col,
+ unsigned char row)
+{
+ Edje_Part *ep;
+ unsigned int i;
+ Edje_Pack_Element *item = NULL;
+ if ((!obj) || (!part) || (!item_name))
+ return EINA_FALSE;
+ GET_RP_OR_RETURN(EINA_FALSE);
+ ep = rp->part;
+ if ((rp->part->type != EDJE_PART_TYPE_BOX) &&
+ (rp->part->type != EDJE_PART_TYPE_TABLE))
+ return EINA_FALSE;
+ for (i = 0; i < ep->items_count; i++)
+ {
+ if ((ep->items[i]->name) && (!strcmp(ep->items[i]->name, item_name)))
+ {
+ item = ep->items[i];
+ break;
+ }
+ }
+ if (!item) return EINA_FALSE;
+ item->colspan = col;
+ item->rowspan = row;
+ return EINA_TRUE;
+}
+
/*********************/
/* PART STATES API */
/*********************/
if (edje_edit_part_type_get(obj, part) == EDJE_PART_TYPE_TABLE)
BUF_APPENDF(I7"position: %d %d;\n", item->col, item->row);
+ if ((item->colspan != 1) || (item->rowspan != 1))
+ BUF_APPENDF(I7"span: %d %d;\n", item->colspan, item->rowspan);
+
//TODO weight
//TODO options
- //TODO colspan
- //TODO rowspan
+ //TODO col
+ //TODO row
+
BUF_APPEND(I6"}\n");
}
BUF_APPEND(I5"}\n");