diff options
author | David Walter Seikel | 2012-04-22 09:19:23 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-04-22 09:19:23 +1000 |
commit | c963d75dfdeec11f82e79e727062fbf89afa2c04 (patch) | |
tree | 895633dbf641110be46f117c29890c49b3ffc0bd /libraries/edje/src/lib/edje_util.c | |
parent | Adding the new extantz viewer and grid manager. (diff) | |
download | SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.zip SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.tar.gz SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.tar.bz2 SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.tar.xz |
Update EFL to latest beta.
Diffstat (limited to '')
-rw-r--r-- | libraries/edje/src/lib/edje_util.c | 546 |
1 files changed, 479 insertions, 67 deletions
diff --git a/libraries/edje/src/lib/edje_util.c b/libraries/edje/src/lib/edje_util.c index 2205ba3..4ce22b5 100644 --- a/libraries/edje/src/lib/edje_util.c +++ b/libraries/edje/src/lib/edje_util.c | |||
@@ -905,7 +905,7 @@ edje_object_part_exists(const Evas_Object *obj, const char *part) | |||
905 | 905 | ||
906 | ed = _edje_fetch(obj); | 906 | ed = _edje_fetch(obj); |
907 | if ((!ed) || (!part)) return EINA_FALSE; | 907 | if ((!ed) || (!part)) return EINA_FALSE; |
908 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 908 | rp = _edje_real_part_recursive_get(ed, part); |
909 | if (!rp) return EINA_FALSE; | 909 | if (!rp) return EINA_FALSE; |
910 | return EINA_TRUE; | 910 | return EINA_TRUE; |
911 | } | 911 | } |
@@ -922,7 +922,7 @@ edje_object_part_object_get(const Evas_Object *obj, const char *part) | |||
922 | /* Need to recalc before providing the object. */ | 922 | /* Need to recalc before providing the object. */ |
923 | _edje_recalc_do(ed); | 923 | _edje_recalc_do(ed); |
924 | 924 | ||
925 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 925 | rp = _edje_real_part_recursive_get(ed, part); |
926 | if (!rp) return NULL; | 926 | if (!rp) return NULL; |
927 | return rp->object; | 927 | return rp->object; |
928 | } | 928 | } |
@@ -946,7 +946,7 @@ edje_object_part_geometry_get(const Evas_Object *obj, const char *part, Evas_Coo | |||
946 | /* Need to recalc before providing the object. */ | 946 | /* Need to recalc before providing the object. */ |
947 | _edje_recalc_do(ed); | 947 | _edje_recalc_do(ed); |
948 | 948 | ||
949 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 949 | rp = _edje_real_part_recursive_get(ed, part); |
950 | if (!rp) | 950 | if (!rp) |
951 | { | 951 | { |
952 | if (x) *x = 0; | 952 | if (x) *x = 0; |
@@ -1014,6 +1014,7 @@ _edje_object_part_text_raw_set(Evas_Object *obj, Edje_Real_Part *rp, const char | |||
1014 | if (text) rp->text.text = eina_stringshare_add(text); | 1014 | if (text) rp->text.text = eina_stringshare_add(text); |
1015 | rp->edje->dirty = 1; | 1015 | rp->edje->dirty = 1; |
1016 | rp->edje->recalc_call = 1; | 1016 | rp->edje->recalc_call = 1; |
1017 | rp->edje->recalc_hints = 1; | ||
1017 | #ifdef EDJE_CALC_CACHE | 1018 | #ifdef EDJE_CALC_CACHE |
1018 | rp->invalidate = 1; | 1019 | rp->invalidate = 1; |
1019 | #endif | 1020 | #endif |
@@ -1058,6 +1059,63 @@ _edje_object_part_text_raw_append(Evas_Object *obj, Edje_Real_Part *rp, const ch | |||
1058 | return EINA_TRUE; | 1059 | return EINA_TRUE; |
1059 | } | 1060 | } |
1060 | 1061 | ||
1062 | EAPI void | ||
1063 | edje_object_part_text_style_user_push(Evas_Object *obj, const char *part, | ||
1064 | const char *style) | ||
1065 | { | ||
1066 | Edje *ed; | ||
1067 | Edje_Real_Part *rp; | ||
1068 | Evas_Textblock_Style *ts; | ||
1069 | |||
1070 | ed = _edje_fetch(obj); | ||
1071 | if ((!ed) || (!part) || (!style)) return; | ||
1072 | rp = _edje_real_part_recursive_get(ed, part); | ||
1073 | if (!rp) return; | ||
1074 | if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return; | ||
1075 | |||
1076 | ts = evas_textblock_style_new(); | ||
1077 | evas_textblock_style_set(ts, style); | ||
1078 | evas_object_textblock_style_user_push(rp->object, ts); | ||
1079 | evas_textblock_style_free(ts); | ||
1080 | ed->recalc_hints = 1; | ||
1081 | } | ||
1082 | |||
1083 | EAPI void | ||
1084 | edje_object_part_text_style_user_pop(Evas_Object *obj, const char *part) | ||
1085 | { | ||
1086 | Edje *ed; | ||
1087 | Edje_Real_Part *rp; | ||
1088 | |||
1089 | ed = _edje_fetch(obj); | ||
1090 | if ((!ed) || (!part)) return; | ||
1091 | rp = _edje_real_part_recursive_get(ed, part); | ||
1092 | if (!rp) return; | ||
1093 | if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return; | ||
1094 | |||
1095 | evas_object_textblock_style_user_pop(rp->object); | ||
1096 | ed->recalc_hints = 1; | ||
1097 | } | ||
1098 | |||
1099 | EAPI const char * | ||
1100 | edje_object_part_text_style_user_peek(const Evas_Object *obj, const char *part) | ||
1101 | { | ||
1102 | Edje *ed; | ||
1103 | Edje_Real_Part *rp; | ||
1104 | const Evas_Textblock_Style *ts; | ||
1105 | |||
1106 | ed = _edje_fetch(obj); | ||
1107 | if ((!ed) || (!part)) return NULL; | ||
1108 | rp = _edje_real_part_recursive_get(ed, part); | ||
1109 | if (!rp) return NULL; | ||
1110 | if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) return NULL; | ||
1111 | |||
1112 | ts = evas_object_textblock_style_user_peek(rp->object); | ||
1113 | if (ts) | ||
1114 | return evas_textblock_style_get(ts); | ||
1115 | else | ||
1116 | return NULL; | ||
1117 | } | ||
1118 | |||
1061 | EAPI Eina_Bool | 1119 | EAPI Eina_Bool |
1062 | edje_object_part_text_set(Evas_Object *obj, const char *part, const char *text) | 1120 | edje_object_part_text_set(Evas_Object *obj, const char *part, const char *text) |
1063 | { | 1121 | { |
@@ -1066,7 +1124,7 @@ edje_object_part_text_set(Evas_Object *obj, const char *part, const char *text) | |||
1066 | 1124 | ||
1067 | ed = _edje_fetch(obj); | 1125 | ed = _edje_fetch(obj); |
1068 | if ((!ed) || (!part)) return EINA_FALSE; | 1126 | if ((!ed) || (!part)) return EINA_FALSE; |
1069 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1127 | rp = _edje_real_part_recursive_get(ed, part); |
1070 | if (!rp) return EINA_FALSE; | 1128 | if (!rp) return EINA_FALSE; |
1071 | if ((rp->part->type != EDJE_PART_TYPE_TEXT) && | 1129 | if ((rp->part->type != EDJE_PART_TYPE_TEXT) && |
1072 | (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return EINA_FALSE; | 1130 | (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return EINA_FALSE; |
@@ -1085,7 +1143,7 @@ edje_object_part_text_get(const Evas_Object *obj, const char *part) | |||
1085 | /* Need to recalc before providing the object. */ | 1143 | /* Need to recalc before providing the object. */ |
1086 | _edje_recalc_do(ed); | 1144 | _edje_recalc_do(ed); |
1087 | 1145 | ||
1088 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1146 | rp = _edje_real_part_recursive_get(ed, part); |
1089 | if (!rp) return NULL; | 1147 | if (!rp) return NULL; |
1090 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1148 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1091 | return _edje_entry_text_get(rp); | 1149 | return _edje_entry_text_get(rp); |
@@ -1241,7 +1299,7 @@ edje_object_part_text_unescaped_get(const Evas_Object *obj, const char *part) | |||
1241 | /* Need to recalc before providing the object. */ | 1299 | /* Need to recalc before providing the object. */ |
1242 | _edje_recalc_do(ed); | 1300 | _edje_recalc_do(ed); |
1243 | 1301 | ||
1244 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1302 | rp = _edje_real_part_recursive_get(ed, part); |
1245 | if (!rp) return NULL; | 1303 | if (!rp) return NULL; |
1246 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1304 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1247 | { | 1305 | { |
@@ -1268,7 +1326,7 @@ edje_object_part_text_selection_get(const Evas_Object *obj, const char *part) | |||
1268 | 1326 | ||
1269 | ed = _edje_fetch(obj); | 1327 | ed = _edje_fetch(obj); |
1270 | if ((!ed) || (!part)) return NULL; | 1328 | if ((!ed) || (!part)) return NULL; |
1271 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1329 | rp = _edje_real_part_recursive_get(ed, part); |
1272 | if (!rp) return NULL; | 1330 | if (!rp) return NULL; |
1273 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1331 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1274 | return _edje_entry_selection_get(rp); | 1332 | return _edje_entry_selection_get(rp); |
@@ -1283,7 +1341,7 @@ edje_object_part_text_select_none(const Evas_Object *obj, const char *part) | |||
1283 | 1341 | ||
1284 | ed = _edje_fetch(obj); | 1342 | ed = _edje_fetch(obj); |
1285 | if ((!ed) || (!part)) return; | 1343 | if ((!ed) || (!part)) return; |
1286 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1344 | rp = _edje_real_part_recursive_get(ed, part); |
1287 | if (!rp) return; | 1345 | if (!rp) return; |
1288 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1346 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1289 | _edje_entry_select_none(rp); | 1347 | _edje_entry_select_none(rp); |
@@ -1297,7 +1355,7 @@ edje_object_part_text_select_all(const Evas_Object *obj, const char *part) | |||
1297 | 1355 | ||
1298 | ed = _edje_fetch(obj); | 1356 | ed = _edje_fetch(obj); |
1299 | if ((!ed) || (!part)) return; | 1357 | if ((!ed) || (!part)) return; |
1300 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1358 | rp = _edje_real_part_recursive_get(ed, part); |
1301 | if (!rp) return; | 1359 | if (!rp) return; |
1302 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1360 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1303 | _edje_entry_select_all(rp); | 1361 | _edje_entry_select_all(rp); |
@@ -1311,13 +1369,14 @@ edje_object_part_text_insert(Evas_Object *obj, const char *part, const char *tex | |||
1311 | 1369 | ||
1312 | ed = _edje_fetch(obj); | 1370 | ed = _edje_fetch(obj); |
1313 | if ((!ed) || (!part)) return; | 1371 | if ((!ed) || (!part)) return; |
1314 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1372 | rp = _edje_real_part_recursive_get(ed, part); |
1315 | if (!rp) return; | 1373 | if (!rp) return; |
1316 | if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return; | 1374 | if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return; |
1317 | if (rp->part->entry_mode <= EDJE_ENTRY_EDIT_MODE_NONE) return; | 1375 | if (rp->part->entry_mode <= EDJE_ENTRY_EDIT_MODE_NONE) return; |
1318 | _edje_entry_text_markup_insert(rp, text); | 1376 | _edje_entry_text_markup_insert(rp, text); |
1319 | rp->edje->dirty = 1; | 1377 | rp->edje->dirty = 1; |
1320 | rp->edje->recalc_call = 1; | 1378 | rp->edje->recalc_call = 1; |
1379 | rp->edje->recalc_hints = 1; | ||
1321 | #ifdef EDJE_CALC_CACHE | 1380 | #ifdef EDJE_CALC_CACHE |
1322 | rp->invalidate = 1; | 1381 | rp->invalidate = 1; |
1323 | #endif | 1382 | #endif |
@@ -1334,12 +1393,13 @@ edje_object_part_text_append(Evas_Object *obj, const char *part, const char *tex | |||
1334 | 1393 | ||
1335 | ed = _edje_fetch(obj); | 1394 | ed = _edje_fetch(obj); |
1336 | if ((!ed) || (!part)) return; | 1395 | if ((!ed) || (!part)) return; |
1337 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1396 | rp = _edje_real_part_recursive_get(ed, part); |
1338 | if (!rp) return; | 1397 | if (!rp) return; |
1339 | if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return; | 1398 | if ((rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) return; |
1340 | _edje_object_part_text_raw_append(obj, rp, part, text); | 1399 | _edje_object_part_text_raw_append(obj, rp, part, text); |
1341 | rp->edje->dirty = 1; | 1400 | rp->edje->dirty = 1; |
1342 | rp->edje->recalc_call = 1; | 1401 | rp->edje->recalc_call = 1; |
1402 | rp->edje->recalc_hints = 1; | ||
1343 | #ifdef EDJE_CALC_CACHE | 1403 | #ifdef EDJE_CALC_CACHE |
1344 | rp->invalidate = 1; | 1404 | rp->invalidate = 1; |
1345 | #endif | 1405 | #endif |
@@ -1356,7 +1416,7 @@ edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part) | |||
1356 | 1416 | ||
1357 | ed = _edje_fetch(obj); | 1417 | ed = _edje_fetch(obj); |
1358 | if ((!ed) || (!part)) return NULL; | 1418 | if ((!ed) || (!part)) return NULL; |
1359 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1419 | rp = _edje_real_part_recursive_get(ed, part); |
1360 | if (!rp) return NULL; | 1420 | if (!rp) return NULL; |
1361 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1421 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1362 | return _edje_entry_anchors_list(rp); | 1422 | return _edje_entry_anchors_list(rp); |
@@ -1371,7 +1431,7 @@ edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *pa | |||
1371 | 1431 | ||
1372 | ed = _edje_fetch(obj); | 1432 | ed = _edje_fetch(obj); |
1373 | if ((!ed) || (!part)) return NULL; | 1433 | if ((!ed) || (!part)) return NULL; |
1374 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1434 | rp = _edje_real_part_recursive_get(ed, part); |
1375 | if (!rp) return NULL; | 1435 | if (!rp) return NULL; |
1376 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1436 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1377 | return _edje_entry_anchor_geometry_get(rp, anchor); | 1437 | return _edje_entry_anchor_geometry_get(rp, anchor); |
@@ -1386,7 +1446,7 @@ edje_object_part_text_item_list_get(const Evas_Object *obj, const char *part) | |||
1386 | 1446 | ||
1387 | ed = _edje_fetch(obj); | 1447 | ed = _edje_fetch(obj); |
1388 | if ((!ed) || (!part)) return NULL; | 1448 | if ((!ed) || (!part)) return NULL; |
1389 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1449 | rp = _edje_real_part_recursive_get(ed, part); |
1390 | if (!rp) return NULL; | 1450 | if (!rp) return NULL; |
1391 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1451 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1392 | return _edje_entry_items_list(rp); | 1452 | return _edje_entry_items_list(rp); |
@@ -1401,7 +1461,7 @@ edje_object_part_text_item_geometry_get(const Evas_Object *obj, const char *part | |||
1401 | 1461 | ||
1402 | ed = _edje_fetch(obj); | 1462 | ed = _edje_fetch(obj); |
1403 | if ((!ed) || (!part)) return EINA_FALSE; | 1463 | if ((!ed) || (!part)) return EINA_FALSE; |
1404 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1464 | rp = _edje_real_part_recursive_get(ed, part); |
1405 | if (!rp) return EINA_FALSE; | 1465 | if (!rp) return EINA_FALSE; |
1406 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1466 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1407 | return _edje_entry_item_geometry_get(rp, item, cx, cy, cw, ch); | 1467 | return _edje_entry_item_geometry_get(rp, item, cx, cy, cw, ch); |
@@ -1420,7 +1480,7 @@ edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *pa | |||
1420 | if (w) *w = 0; | 1480 | if (w) *w = 0; |
1421 | if (h) *h = 0; | 1481 | if (h) *h = 0; |
1422 | if ((!ed) || (!part)) return; | 1482 | if ((!ed) || (!part)) return; |
1423 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1483 | rp = _edje_real_part_recursive_get(ed, part); |
1424 | if (!rp) return; | 1484 | if (!rp) return; |
1425 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1485 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1426 | { | 1486 | { |
@@ -1432,6 +1492,20 @@ edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *pa | |||
1432 | } | 1492 | } |
1433 | 1493 | ||
1434 | EAPI void | 1494 | EAPI void |
1495 | edje_object_part_text_user_insert(const Evas_Object *obj, const char *part, const char *text) | ||
1496 | { | ||
1497 | Edje *ed; | ||
1498 | Edje_Real_Part *rp; | ||
1499 | |||
1500 | ed = _edje_fetch(obj); | ||
1501 | if ((!ed) || (!part)) return; | ||
1502 | rp = _edje_real_part_recursive_get(ed, part); | ||
1503 | if (!rp) return; | ||
1504 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
1505 | _edje_entry_user_insert(rp, text); | ||
1506 | } | ||
1507 | |||
1508 | EAPI void | ||
1435 | edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part, Eina_Bool allow) | 1509 | edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part, Eina_Bool allow) |
1436 | { | 1510 | { |
1437 | Edje *ed; | 1511 | Edje *ed; |
@@ -1439,7 +1513,7 @@ edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part, | |||
1439 | 1513 | ||
1440 | ed = _edje_fetch(obj); | 1514 | ed = _edje_fetch(obj); |
1441 | if ((!ed) || (!part)) return; | 1515 | if ((!ed) || (!part)) return; |
1442 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1516 | rp = _edje_real_part_recursive_get(ed, part); |
1443 | if (!rp) return; | 1517 | if (!rp) return; |
1444 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1518 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1445 | _edje_entry_select_allow_set(rp, allow); | 1519 | _edje_entry_select_allow_set(rp, allow); |
@@ -1453,7 +1527,7 @@ edje_object_part_text_select_abort(const Evas_Object *obj, const char *part) | |||
1453 | 1527 | ||
1454 | ed = _edje_fetch(obj); | 1528 | ed = _edje_fetch(obj); |
1455 | if ((!ed) || (!part)) return; | 1529 | if ((!ed) || (!part)) return; |
1456 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1530 | rp = _edje_real_part_recursive_get(ed, part); |
1457 | if (!rp) return; | 1531 | if (!rp) return; |
1458 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1532 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1459 | _edje_entry_select_abort(rp); | 1533 | _edje_entry_select_abort(rp); |
@@ -1467,7 +1541,7 @@ edje_object_part_text_select_begin(const Evas_Object *obj, const char *part) | |||
1467 | 1541 | ||
1468 | ed = _edje_fetch(obj); | 1542 | ed = _edje_fetch(obj); |
1469 | if ((!ed) || (!part)) return; | 1543 | if ((!ed) || (!part)) return; |
1470 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1544 | rp = _edje_real_part_recursive_get(ed, part); |
1471 | if (!rp) return; | 1545 | if (!rp) return; |
1472 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1546 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1473 | _edje_entry_select_begin(rp); | 1547 | _edje_entry_select_begin(rp); |
@@ -1481,12 +1555,30 @@ edje_object_part_text_select_extend(const Evas_Object *obj, const char *part) | |||
1481 | 1555 | ||
1482 | ed = _edje_fetch(obj); | 1556 | ed = _edje_fetch(obj); |
1483 | if ((!ed) || (!part)) return; | 1557 | if ((!ed) || (!part)) return; |
1484 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1558 | rp = _edje_real_part_recursive_get(ed, part); |
1485 | if (!rp) return; | 1559 | if (!rp) return; |
1486 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1560 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1487 | _edje_entry_select_extend(rp); | 1561 | _edje_entry_select_extend(rp); |
1488 | } | 1562 | } |
1489 | 1563 | ||
1564 | EAPI void * | ||
1565 | edje_object_part_text_imf_context_get(const Evas_Object *obj, const char *part) | ||
1566 | { | ||
1567 | Edje *ed; | ||
1568 | Edje_Real_Part *rp; | ||
1569 | |||
1570 | ed = _edje_fetch(obj); | ||
1571 | if ((!ed) || (!part)) return NULL; | ||
1572 | |||
1573 | rp = _edje_real_part_recursive_get(ed, (char *)part); | ||
1574 | if (!rp) return NULL; | ||
1575 | |||
1576 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
1577 | return _edje_entry_imf_context_get(rp); | ||
1578 | else | ||
1579 | return NULL; | ||
1580 | } | ||
1581 | |||
1490 | EAPI Eina_Bool | 1582 | EAPI Eina_Bool |
1491 | edje_object_part_text_cursor_next(Evas_Object *obj, const char *part, Edje_Cursor cur) | 1583 | edje_object_part_text_cursor_next(Evas_Object *obj, const char *part, Edje_Cursor cur) |
1492 | { | 1584 | { |
@@ -1495,7 +1587,7 @@ edje_object_part_text_cursor_next(Evas_Object *obj, const char *part, Edje_Curso | |||
1495 | 1587 | ||
1496 | ed = _edje_fetch(obj); | 1588 | ed = _edje_fetch(obj); |
1497 | if ((!ed) || (!part)) return EINA_FALSE; | 1589 | if ((!ed) || (!part)) return EINA_FALSE; |
1498 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1590 | rp = _edje_real_part_recursive_get(ed, part); |
1499 | if (!rp) return EINA_FALSE; | 1591 | if (!rp) return EINA_FALSE; |
1500 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1592 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1501 | { | 1593 | { |
@@ -1512,7 +1604,7 @@ edje_object_part_text_cursor_prev(Evas_Object *obj, const char *part, Edje_Curso | |||
1512 | 1604 | ||
1513 | ed = _edje_fetch(obj); | 1605 | ed = _edje_fetch(obj); |
1514 | if ((!ed) || (!part)) return EINA_FALSE; | 1606 | if ((!ed) || (!part)) return EINA_FALSE; |
1515 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1607 | rp = _edje_real_part_recursive_get(ed, part); |
1516 | if (!rp) return EINA_FALSE; | 1608 | if (!rp) return EINA_FALSE; |
1517 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1609 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1518 | { | 1610 | { |
@@ -1529,7 +1621,7 @@ edje_object_part_text_cursor_up(Evas_Object *obj, const char *part, Edje_Cursor | |||
1529 | 1621 | ||
1530 | ed = _edje_fetch(obj); | 1622 | ed = _edje_fetch(obj); |
1531 | if ((!ed) || (!part)) return EINA_FALSE; | 1623 | if ((!ed) || (!part)) return EINA_FALSE; |
1532 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1624 | rp = _edje_real_part_recursive_get(ed, part); |
1533 | if (!rp) return EINA_FALSE; | 1625 | if (!rp) return EINA_FALSE; |
1534 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1626 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1535 | { | 1627 | { |
@@ -1546,7 +1638,7 @@ edje_object_part_text_cursor_down(Evas_Object *obj, const char *part, Edje_Curso | |||
1546 | 1638 | ||
1547 | ed = _edje_fetch(obj); | 1639 | ed = _edje_fetch(obj); |
1548 | if ((!ed) || (!part)) return EINA_FALSE; | 1640 | if ((!ed) || (!part)) return EINA_FALSE; |
1549 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1641 | rp = _edje_real_part_recursive_get(ed, part); |
1550 | if (!rp) return EINA_FALSE; | 1642 | if (!rp) return EINA_FALSE; |
1551 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1643 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1552 | { | 1644 | { |
@@ -1563,7 +1655,7 @@ edje_object_part_text_cursor_begin_set(Evas_Object *obj, const char *part, Edje_ | |||
1563 | 1655 | ||
1564 | ed = _edje_fetch(obj); | 1656 | ed = _edje_fetch(obj); |
1565 | if ((!ed) || (!part)) return; | 1657 | if ((!ed) || (!part)) return; |
1566 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1658 | rp = _edje_real_part_recursive_get(ed, part); |
1567 | if (!rp) return; | 1659 | if (!rp) return; |
1568 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1660 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1569 | { | 1661 | { |
@@ -1579,7 +1671,7 @@ edje_object_part_text_cursor_end_set(Evas_Object *obj, const char *part, Edje_Cu | |||
1579 | 1671 | ||
1580 | ed = _edje_fetch(obj); | 1672 | ed = _edje_fetch(obj); |
1581 | if ((!ed) || (!part)) return; | 1673 | if ((!ed) || (!part)) return; |
1582 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1674 | rp = _edje_real_part_recursive_get(ed, part); |
1583 | if (!rp) return; | 1675 | if (!rp) return; |
1584 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1676 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1585 | { | 1677 | { |
@@ -1595,7 +1687,7 @@ edje_object_part_text_cursor_copy(Evas_Object *obj, const char *part, Edje_Curso | |||
1595 | 1687 | ||
1596 | ed = _edje_fetch(obj); | 1688 | ed = _edje_fetch(obj); |
1597 | if ((!ed) || (!part)) return; | 1689 | if ((!ed) || (!part)) return; |
1598 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1690 | rp = _edje_real_part_recursive_get(ed, part); |
1599 | if (!rp) return; | 1691 | if (!rp) return; |
1600 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1692 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1601 | { | 1693 | { |
@@ -1611,7 +1703,7 @@ edje_object_part_text_cursor_line_begin_set(Evas_Object *obj, const char *part, | |||
1611 | 1703 | ||
1612 | ed = _edje_fetch(obj); | 1704 | ed = _edje_fetch(obj); |
1613 | if ((!ed) || (!part)) return; | 1705 | if ((!ed) || (!part)) return; |
1614 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1706 | rp = _edje_real_part_recursive_get(ed, part); |
1615 | if (!rp) return; | 1707 | if (!rp) return; |
1616 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1708 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1617 | { | 1709 | { |
@@ -1627,7 +1719,7 @@ edje_object_part_text_cursor_line_end_set(Evas_Object *obj, const char *part, Ed | |||
1627 | 1719 | ||
1628 | ed = _edje_fetch(obj); | 1720 | ed = _edje_fetch(obj); |
1629 | if ((!ed) || (!part)) return; | 1721 | if ((!ed) || (!part)) return; |
1630 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1722 | rp = _edje_real_part_recursive_get(ed, part); |
1631 | if (!rp) return; | 1723 | if (!rp) return; |
1632 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1724 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1633 | { | 1725 | { |
@@ -1644,7 +1736,7 @@ edje_object_part_text_cursor_coord_set(Evas_Object *obj, const char *part, | |||
1644 | 1736 | ||
1645 | ed = _edje_fetch(obj); | 1737 | ed = _edje_fetch(obj); |
1646 | if ((!ed) || (!part)) return EINA_FALSE; | 1738 | if ((!ed) || (!part)) return EINA_FALSE; |
1647 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1739 | rp = _edje_real_part_recursive_get(ed, part); |
1648 | if (!rp) return EINA_FALSE; | 1740 | if (!rp) return EINA_FALSE; |
1649 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1741 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1650 | { | 1742 | { |
@@ -1661,7 +1753,7 @@ edje_object_part_text_cursor_is_format_get(const Evas_Object *obj, const char *p | |||
1661 | 1753 | ||
1662 | ed = _edje_fetch(obj); | 1754 | ed = _edje_fetch(obj); |
1663 | if ((!ed) || (!part)) return EINA_FALSE; | 1755 | if ((!ed) || (!part)) return EINA_FALSE; |
1664 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1756 | rp = _edje_real_part_recursive_get(ed, part); |
1665 | if (!rp) return EINA_FALSE; | 1757 | if (!rp) return EINA_FALSE; |
1666 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1758 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1667 | { | 1759 | { |
@@ -1678,7 +1770,7 @@ edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const | |||
1678 | 1770 | ||
1679 | ed = _edje_fetch(obj); | 1771 | ed = _edje_fetch(obj); |
1680 | if ((!ed) || (!part)) return 0; | 1772 | if ((!ed) || (!part)) return 0; |
1681 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1773 | rp = _edje_real_part_recursive_get(ed, part); |
1682 | if (!rp) return 0; | 1774 | if (!rp) return 0; |
1683 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1775 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1684 | { | 1776 | { |
@@ -1738,7 +1830,7 @@ edje_object_part_text_cursor_pos_get(const Evas_Object *obj, const char *part, E | |||
1738 | } | 1830 | } |
1739 | 1831 | ||
1740 | EAPI void | 1832 | EAPI void |
1741 | edje_object_part_text_input_panel_layout_set(const Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout) | 1833 | edje_object_part_text_imf_context_reset(const Evas_Object *obj, const char *part) |
1742 | { | 1834 | { |
1743 | Edje *ed; | 1835 | Edje *ed; |
1744 | Edje_Real_Part *rp; | 1836 | Edje_Real_Part *rp; |
@@ -1749,7 +1841,23 @@ edje_object_part_text_input_panel_layout_set(const Evas_Object *obj, const char | |||
1749 | if (!rp) return; | 1841 | if (!rp) return; |
1750 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1842 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1751 | { | 1843 | { |
1752 | return _edje_entry_input_panel_layout_set(rp, layout); | 1844 | _edje_entry_imf_context_reset(rp); |
1845 | } | ||
1846 | } | ||
1847 | |||
1848 | EAPI void | ||
1849 | edje_object_part_text_input_panel_layout_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Layout layout) | ||
1850 | { | ||
1851 | Edje *ed; | ||
1852 | Edje_Real_Part *rp; | ||
1853 | |||
1854 | ed = _edje_fetch(obj); | ||
1855 | if ((!ed) || (!part)) return; | ||
1856 | rp = _edje_real_part_recursive_get(ed, part); | ||
1857 | if (!rp) return; | ||
1858 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
1859 | { | ||
1860 | _edje_entry_input_panel_layout_set(rp, layout); | ||
1753 | } | 1861 | } |
1754 | } | 1862 | } |
1755 | 1863 | ||
@@ -1771,14 +1879,14 @@ edje_object_part_text_input_panel_layout_get(const Evas_Object *obj, const char | |||
1771 | } | 1879 | } |
1772 | 1880 | ||
1773 | EAPI void | 1881 | EAPI void |
1774 | edje_object_part_text_autocapital_type_set(const Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type) | 1882 | edje_object_part_text_autocapital_type_set(Evas_Object *obj, const char *part, Edje_Text_Autocapital_Type autocapital_type) |
1775 | { | 1883 | { |
1776 | Edje *ed; | 1884 | Edje *ed; |
1777 | Edje_Real_Part *rp; | 1885 | Edje_Real_Part *rp; |
1778 | 1886 | ||
1779 | ed = _edje_fetch(obj); | 1887 | ed = _edje_fetch(obj); |
1780 | if ((!ed) || (!part)) return; | 1888 | if ((!ed) || (!part)) return; |
1781 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1889 | rp = _edje_real_part_recursive_get(ed, part); |
1782 | if (!rp) return; | 1890 | if (!rp) return; |
1783 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1891 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1784 | { | 1892 | { |
@@ -1794,7 +1902,7 @@ edje_object_part_text_autocapital_type_get(const Evas_Object *obj, const char *p | |||
1794 | 1902 | ||
1795 | ed = _edje_fetch(obj); | 1903 | ed = _edje_fetch(obj); |
1796 | if ((!ed) || (!part)) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE; | 1904 | if ((!ed) || (!part)) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE; |
1797 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 1905 | rp = _edje_real_part_recursive_get(ed, part); |
1798 | if (!rp) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE; | 1906 | if (!rp) return EDJE_TEXT_AUTOCAPITAL_TYPE_NONE; |
1799 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1907 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1800 | { | 1908 | { |
@@ -1804,7 +1912,40 @@ edje_object_part_text_autocapital_type_get(const Evas_Object *obj, const char *p | |||
1804 | } | 1912 | } |
1805 | 1913 | ||
1806 | EAPI void | 1914 | EAPI void |
1807 | edje_object_part_text_input_panel_enabled_set(const Evas_Object *obj, const char *part, Eina_Bool enabled) | 1915 | edje_object_part_text_prediction_allow_set(Evas_Object *obj, const char *part, Eina_Bool prediction) |
1916 | { | ||
1917 | Edje *ed; | ||
1918 | Edje_Real_Part *rp; | ||
1919 | |||
1920 | ed = _edje_fetch(obj); | ||
1921 | if ((!ed) || (!part)) return; | ||
1922 | rp = _edje_real_part_recursive_get(ed, part); | ||
1923 | if (!rp) return; | ||
1924 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
1925 | { | ||
1926 | _edje_entry_prediction_allow_set(rp, prediction); | ||
1927 | } | ||
1928 | } | ||
1929 | |||
1930 | EAPI Eina_Bool | ||
1931 | edje_object_part_text_prediction_allow_get(const Evas_Object *obj, const char *part) | ||
1932 | { | ||
1933 | Edje *ed; | ||
1934 | Edje_Real_Part *rp; | ||
1935 | |||
1936 | ed = _edje_fetch(obj); | ||
1937 | if ((!ed) || (!part)) return EINA_FALSE; | ||
1938 | rp = _edje_real_part_recursive_get(ed, part); | ||
1939 | if (!rp) return EINA_FALSE; | ||
1940 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
1941 | { | ||
1942 | return _edje_entry_prediction_allow_get(rp); | ||
1943 | } | ||
1944 | return EINA_FALSE; | ||
1945 | } | ||
1946 | |||
1947 | EAPI void | ||
1948 | edje_object_part_text_input_panel_enabled_set(Evas_Object *obj, const char *part, Eina_Bool enabled) | ||
1808 | { | 1949 | { |
1809 | Edje *ed; | 1950 | Edje *ed; |
1810 | Edje_Real_Part *rp; | 1951 | Edje_Real_Part *rp; |
@@ -1815,7 +1956,7 @@ edje_object_part_text_input_panel_enabled_set(const Evas_Object *obj, const char | |||
1815 | if (!rp) return; | 1956 | if (!rp) return; |
1816 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | 1957 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) |
1817 | { | 1958 | { |
1818 | return _edje_entry_input_panel_enabled_set(rp, enabled); | 1959 | _edje_entry_input_panel_enabled_set(rp, enabled); |
1819 | } | 1960 | } |
1820 | } | 1961 | } |
1821 | 1962 | ||
@@ -1837,6 +1978,165 @@ edje_object_part_text_input_panel_enabled_get(const Evas_Object *obj, const char | |||
1837 | } | 1978 | } |
1838 | 1979 | ||
1839 | EAPI void | 1980 | EAPI void |
1981 | edje_object_part_text_input_panel_show(const Evas_Object *obj, const char *part) | ||
1982 | { | ||
1983 | Edje *ed; | ||
1984 | Edje_Real_Part *rp; | ||
1985 | |||
1986 | ed = _edje_fetch(obj); | ||
1987 | if ((!ed) || (!part)) return; | ||
1988 | rp = _edje_real_part_recursive_get(ed, part); | ||
1989 | if (!rp) return; | ||
1990 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
1991 | _edje_entry_input_panel_show(rp); | ||
1992 | } | ||
1993 | |||
1994 | EAPI void | ||
1995 | edje_object_part_text_input_panel_hide(const Evas_Object *obj, const char *part) | ||
1996 | { | ||
1997 | Edje *ed; | ||
1998 | Edje_Real_Part *rp; | ||
1999 | |||
2000 | ed = _edje_fetch(obj); | ||
2001 | if ((!ed) || (!part)) return; | ||
2002 | rp = _edje_real_part_recursive_get(ed, part); | ||
2003 | if (!rp) return; | ||
2004 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
2005 | _edje_entry_input_panel_hide(rp); | ||
2006 | } | ||
2007 | |||
2008 | EAPI void | ||
2009 | edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Lang lang) | ||
2010 | { | ||
2011 | Edje *ed; | ||
2012 | Edje_Real_Part *rp; | ||
2013 | |||
2014 | ed = _edje_fetch(obj); | ||
2015 | if ((!ed) || (!part)) return; | ||
2016 | rp = _edje_real_part_recursive_get(ed, part); | ||
2017 | if (!rp) return; | ||
2018 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
2019 | { | ||
2020 | _edje_entry_input_panel_language_set(rp, lang); | ||
2021 | } | ||
2022 | } | ||
2023 | |||
2024 | EAPI Edje_Input_Panel_Lang | ||
2025 | edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const char *part) | ||
2026 | { | ||
2027 | Edje *ed; | ||
2028 | Edje_Real_Part *rp; | ||
2029 | |||
2030 | ed = _edje_fetch(obj); | ||
2031 | if ((!ed) || (!part)) return EDJE_INPUT_PANEL_LANG_AUTOMATIC; | ||
2032 | rp = _edje_real_part_recursive_get(ed, part); | ||
2033 | if (!rp) return EDJE_INPUT_PANEL_LANG_AUTOMATIC; | ||
2034 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
2035 | { | ||
2036 | return _edje_entry_input_panel_language_get(rp); | ||
2037 | } | ||
2038 | return EDJE_INPUT_PANEL_LANG_AUTOMATIC; | ||
2039 | } | ||
2040 | |||
2041 | EAPI void | ||
2042 | edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char *part, const void *data, int len) | ||
2043 | { | ||
2044 | Edje *ed; | ||
2045 | Edje_Real_Part *rp; | ||
2046 | |||
2047 | ed = _edje_fetch(obj); | ||
2048 | if ((!ed) || (!part)) return; | ||
2049 | rp = _edje_real_part_recursive_get(ed, part); | ||
2050 | if (!rp) return; | ||
2051 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
2052 | { | ||
2053 | _edje_entry_input_panel_imdata_set(rp, data, len); | ||
2054 | } | ||
2055 | } | ||
2056 | |||
2057 | EAPI void | ||
2058 | edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const char *part, void *data, int *len) | ||
2059 | { | ||
2060 | Edje *ed; | ||
2061 | Edje_Real_Part *rp; | ||
2062 | |||
2063 | ed = _edje_fetch(obj); | ||
2064 | if ((!ed) || (!part)) return; | ||
2065 | rp = _edje_real_part_recursive_get(ed, part); | ||
2066 | if (!rp) return; | ||
2067 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
2068 | { | ||
2069 | _edje_entry_input_panel_imdata_get(rp, data, len); | ||
2070 | } | ||
2071 | } | ||
2072 | |||
2073 | EAPI void | ||
2074 | edje_object_part_text_input_panel_return_key_type_set(Evas_Object *obj, const char *part, Edje_Input_Panel_Return_Key_Type return_key_type) | ||
2075 | { | ||
2076 | Edje *ed; | ||
2077 | Edje_Real_Part *rp; | ||
2078 | |||
2079 | ed = _edje_fetch(obj); | ||
2080 | if ((!ed) || (!part)) return; | ||
2081 | rp = _edje_real_part_recursive_get(ed, part); | ||
2082 | if (!rp) return; | ||
2083 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
2084 | { | ||
2085 | _edje_entry_input_panel_return_key_type_set(rp, return_key_type); | ||
2086 | } | ||
2087 | } | ||
2088 | |||
2089 | EAPI Edje_Input_Panel_Return_Key_Type | ||
2090 | edje_object_part_text_input_panel_return_key_type_get(const Evas_Object *obj, const char *part) | ||
2091 | { | ||
2092 | Edje *ed; | ||
2093 | Edje_Real_Part *rp; | ||
2094 | |||
2095 | ed = _edje_fetch(obj); | ||
2096 | if ((!ed) || (!part)) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT; | ||
2097 | rp = _edje_real_part_recursive_get(ed, part); | ||
2098 | if (!rp) return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT; | ||
2099 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
2100 | { | ||
2101 | return _edje_entry_input_panel_return_key_type_get(rp); | ||
2102 | } | ||
2103 | return EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT; | ||
2104 | } | ||
2105 | |||
2106 | EAPI void | ||
2107 | edje_object_part_text_input_panel_return_key_disabled_set(Evas_Object *obj, const char *part, Eina_Bool disabled) | ||
2108 | { | ||
2109 | Edje *ed; | ||
2110 | Edje_Real_Part *rp; | ||
2111 | |||
2112 | ed = _edje_fetch(obj); | ||
2113 | if ((!ed) || (!part)) return; | ||
2114 | rp = _edje_real_part_recursive_get(ed, part); | ||
2115 | if (!rp) return; | ||
2116 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
2117 | { | ||
2118 | _edje_entry_input_panel_return_key_disabled_set(rp, disabled); | ||
2119 | } | ||
2120 | } | ||
2121 | |||
2122 | EAPI Eina_Bool | ||
2123 | edje_object_part_text_input_panel_return_key_disabled_get(const Evas_Object *obj, const char *part) | ||
2124 | { | ||
2125 | Edje *ed; | ||
2126 | Edje_Real_Part *rp; | ||
2127 | |||
2128 | ed = _edje_fetch(obj); | ||
2129 | if ((!ed) || (!part)) return EINA_FALSE; | ||
2130 | rp = _edje_real_part_recursive_get(ed, part); | ||
2131 | if (!rp) return EINA_FALSE; | ||
2132 | if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) | ||
2133 | { | ||
2134 | return _edje_entry_input_panel_return_key_disabled_get(rp); | ||
2135 | } | ||
2136 | return EINA_FALSE; | ||
2137 | } | ||
2138 | |||
2139 | EAPI void | ||
1840 | edje_object_text_insert_filter_callback_add(Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data) | 2140 | edje_object_text_insert_filter_callback_add(Evas_Object *obj, const char *part, Edje_Text_Filter_Cb func, void *data) |
1841 | { | 2141 | { |
1842 | Edje *ed; | 2142 | Edje *ed; |
@@ -1901,6 +2201,71 @@ edje_object_text_insert_filter_callback_del_full(Evas_Object *obj, const char *p | |||
1901 | return NULL; | 2201 | return NULL; |
1902 | } | 2202 | } |
1903 | 2203 | ||
2204 | EAPI void | ||
2205 | edje_object_text_markup_filter_callback_add(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data) | ||
2206 | { | ||
2207 | Edje *ed; | ||
2208 | Edje_Markup_Filter_Callback *cb; | ||
2209 | |||
2210 | ed = _edje_fetch(obj); | ||
2211 | if ((!ed) || (!part)) return; | ||
2212 | cb = calloc(1, sizeof(Edje_Markup_Filter_Callback)); | ||
2213 | cb->part = eina_stringshare_add(part); | ||
2214 | cb->func = func; | ||
2215 | cb->data = (void *)data; | ||
2216 | ed->markup_filter_callbacks = | ||
2217 | eina_list_append(ed->markup_filter_callbacks, cb); | ||
2218 | } | ||
2219 | |||
2220 | EAPI void * | ||
2221 | edje_object_text_markup_filter_callback_del(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func) | ||
2222 | { | ||
2223 | Edje *ed; | ||
2224 | Edje_Markup_Filter_Callback *cb; | ||
2225 | Eina_List *l; | ||
2226 | |||
2227 | ed = _edje_fetch(obj); | ||
2228 | if ((!ed) || (!part)) return NULL; | ||
2229 | EINA_LIST_FOREACH(ed->markup_filter_callbacks, l, cb) | ||
2230 | { | ||
2231 | if ((!strcmp(cb->part, part)) && (cb->func == func)) | ||
2232 | { | ||
2233 | void *data = cb->data; | ||
2234 | ed->markup_filter_callbacks = | ||
2235 | eina_list_remove_list(ed->markup_filter_callbacks, l); | ||
2236 | eina_stringshare_del(cb->part); | ||
2237 | free(cb); | ||
2238 | return data; | ||
2239 | } | ||
2240 | } | ||
2241 | return NULL; | ||
2242 | } | ||
2243 | |||
2244 | EAPI void * | ||
2245 | edje_object_text_markup_filter_callback_del_full(Evas_Object *obj, const char *part, Edje_Markup_Filter_Cb func, void *data) | ||
2246 | { | ||
2247 | Edje *ed; | ||
2248 | Edje_Markup_Filter_Callback *cb; | ||
2249 | Eina_List *l; | ||
2250 | |||
2251 | ed = _edje_fetch(obj); | ||
2252 | if ((!ed) || (!part)) return NULL; | ||
2253 | EINA_LIST_FOREACH(ed->markup_filter_callbacks, l, cb) | ||
2254 | { | ||
2255 | if ((!strcmp(cb->part, part)) && (cb->func == func) && | ||
2256 | (cb->data == data)) | ||
2257 | { | ||
2258 | void *tmp = cb->data; | ||
2259 | ed->markup_filter_callbacks = | ||
2260 | eina_list_remove_list(ed->markup_filter_callbacks, l); | ||
2261 | eina_stringshare_del(cb->part); | ||
2262 | free(cb); | ||
2263 | return tmp; | ||
2264 | } | ||
2265 | } | ||
2266 | return NULL; | ||
2267 | } | ||
2268 | |||
1904 | EAPI Eina_Bool | 2269 | EAPI Eina_Bool |
1905 | edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_swallow) | 2270 | edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_swallow) |
1906 | { | 2271 | { |
@@ -1927,8 +2292,12 @@ edje_object_part_swallow(Evas_Object *obj, const char *part, Evas_Object *obj_sw | |||
1927 | edje_object_part_unswallow(rp->edje->obj, obj_swallow); | 2292 | edje_object_part_unswallow(rp->edje->obj, obj_swallow); |
1928 | } | 2293 | } |
1929 | 2294 | ||
1930 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 2295 | rp = _edje_real_part_recursive_get(ed, part); |
1931 | if (!rp) return EINA_FALSE; | 2296 | if (!rp) |
2297 | { | ||
2298 | DBG("cannot swallow part %s: part not exist!", part); | ||
2299 | return EINA_FALSE; | ||
2300 | } | ||
1932 | if (rp->part->type != EDJE_PART_TYPE_SWALLOW) | 2301 | if (rp->part->type != EDJE_PART_TYPE_SWALLOW) |
1933 | { | 2302 | { |
1934 | ERR("cannot swallow part %s: not swallow type!", rp->part->name); | 2303 | ERR("cannot swallow part %s: not swallow type!", rp->part->name); |
@@ -2261,7 +2630,7 @@ edje_object_part_swallow_get(const Evas_Object *obj, const char *part) | |||
2261 | /* Need to recalc before providing the object. */ | 2630 | /* Need to recalc before providing the object. */ |
2262 | _edje_recalc_do(ed); | 2631 | _edje_recalc_do(ed); |
2263 | 2632 | ||
2264 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 2633 | rp = _edje_real_part_recursive_get(ed, part); |
2265 | if (!rp) return NULL; | 2634 | if (!rp) return NULL; |
2266 | return rp->swallowed_object; | 2635 | return rp->swallowed_object; |
2267 | } | 2636 | } |
@@ -2353,8 +2722,8 @@ EAPI Eina_Bool | |||
2353 | edje_object_parts_extends_calc(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) | 2722 | edje_object_parts_extends_calc(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) |
2354 | { | 2723 | { |
2355 | Edje *ed; | 2724 | Edje *ed; |
2356 | Evas_Coord x1 = INT_MAX, y1 = INT_MAX; | 2725 | Evas_Coord xx1 = INT_MAX, yy1 = INT_MAX; |
2357 | Evas_Coord x2 = 0, y2 = 0; | 2726 | Evas_Coord xx2 = 0, yy2 = 0; |
2358 | unsigned int i; | 2727 | unsigned int i; |
2359 | 2728 | ||
2360 | ed = _edje_fetch(obj); | 2729 | ed = _edje_fetch(obj); |
@@ -2386,18 +2755,18 @@ edje_object_parts_extends_calc(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, E | |||
2386 | rpx2 = rpx1 + rp->w; | 2755 | rpx2 = rpx1 + rp->w; |
2387 | rpy2 = rpy1 + rp->h; | 2756 | rpy2 = rpy1 + rp->h; |
2388 | 2757 | ||
2389 | if (x1 > rpx1) x1 = rpx1; | 2758 | if (xx1 > rpx1) xx1 = rpx1; |
2390 | if (y1 > rpy1) y1 = rpy1; | 2759 | if (yy1 > rpy1) yy1 = rpy1; |
2391 | if (x2 < rpx2) x2 = rpx2; | 2760 | if (xx2 < rpx2) xx2 = rpx2; |
2392 | if (y2 < rpy2) y2 = rpy2; | 2761 | if (yy2 < rpy2) yy2 = rpy2; |
2393 | } | 2762 | } |
2394 | 2763 | ||
2395 | ed->calc_only = 0; | 2764 | ed->calc_only = 0; |
2396 | 2765 | ||
2397 | if (x) *x = x1; | 2766 | if (x) *x = xx1; |
2398 | if (y) *y = y1; | 2767 | if (y) *y = yy1; |
2399 | if (w) *w = x2 - x1; | 2768 | if (w) *w = xx2 - xx1; |
2400 | if (h) *h = y2 - y1; | 2769 | if (h) *h = yy2 - yy1; |
2401 | 2770 | ||
2402 | return EINA_TRUE; | 2771 | return EINA_TRUE; |
2403 | } | 2772 | } |
@@ -2448,6 +2817,7 @@ edje_object_size_min_restricted_calc(Evas_Object *obj, Evas_Coord *minw, Evas_Co | |||
2448 | maxh = 0; | 2817 | maxh = 0; |
2449 | } | 2818 | } |
2450 | pep = NULL; | 2819 | pep = NULL; |
2820 | has_non_fixed_tb = EINA_FALSE; | ||
2451 | for (i = 0; i < ed->table_parts_size; i++) | 2821 | for (i = 0; i < ed->table_parts_size; i++) |
2452 | { | 2822 | { |
2453 | Edje_Real_Part *ep; | 2823 | Edje_Real_Part *ep; |
@@ -2569,7 +2939,7 @@ edje_object_part_state_get(const Evas_Object *obj, const char *part, double *val | |||
2569 | /* Need to recalc before providing the object. */ | 2939 | /* Need to recalc before providing the object. */ |
2570 | _edje_recalc_do(ed); | 2940 | _edje_recalc_do(ed); |
2571 | 2941 | ||
2572 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 2942 | rp = _edje_real_part_recursive_get(ed, part); |
2573 | if (!rp) | 2943 | if (!rp) |
2574 | { | 2944 | { |
2575 | if (val_ret) *val_ret = 0; | 2945 | if (val_ret) *val_ret = 0; |
@@ -2609,7 +2979,7 @@ edje_object_part_drag_dir_get(const Evas_Object *obj, const char *part) | |||
2609 | /* Need to recalc before providing the object. */ | 2979 | /* Need to recalc before providing the object. */ |
2610 | _edje_recalc_do(ed); | 2980 | _edje_recalc_do(ed); |
2611 | 2981 | ||
2612 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 2982 | rp = _edje_real_part_recursive_get(ed, part); |
2613 | if (!rp) return EDJE_DRAG_DIR_NONE; | 2983 | if (!rp) return EDJE_DRAG_DIR_NONE; |
2614 | if ((rp->part->dragable.x) && (rp->part->dragable.y)) return EDJE_DRAG_DIR_XY; | 2984 | if ((rp->part->dragable.x) && (rp->part->dragable.y)) return EDJE_DRAG_DIR_XY; |
2615 | else if (rp->part->dragable.x) return EDJE_DRAG_DIR_X; | 2985 | else if (rp->part->dragable.x) return EDJE_DRAG_DIR_X; |
@@ -2625,7 +2995,7 @@ edje_object_part_drag_value_set(Evas_Object *obj, const char *part, double dx, d | |||
2625 | 2995 | ||
2626 | ed = _edje_fetch(obj); | 2996 | ed = _edje_fetch(obj); |
2627 | if ((!ed) || (!part)) return EINA_FALSE; | 2997 | if ((!ed) || (!part)) return EINA_FALSE; |
2628 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 2998 | rp = _edje_real_part_recursive_get(ed, part); |
2629 | if (!rp) return EINA_FALSE; | 2999 | if (!rp) return EINA_FALSE; |
2630 | if (!rp->drag) return EINA_FALSE; | 3000 | if (!rp->drag) return EINA_FALSE; |
2631 | if (rp->drag->down.count > 0) return EINA_FALSE; | 3001 | if (rp->drag->down.count > 0) return EINA_FALSE; |
@@ -2666,7 +3036,7 @@ edje_object_part_drag_value_get(const Evas_Object *obj, const char *part, double | |||
2666 | /* Need to recalc before providing the object. */ | 3036 | /* Need to recalc before providing the object. */ |
2667 | _edje_recalc_do(ed); | 3037 | _edje_recalc_do(ed); |
2668 | 3038 | ||
2669 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 3039 | rp = _edje_real_part_recursive_get(ed, part); |
2670 | if (!rp || !rp->drag) | 3040 | if (!rp || !rp->drag) |
2671 | { | 3041 | { |
2672 | if (dx) *dx = 0; | 3042 | if (dx) *dx = 0; |
@@ -2690,7 +3060,7 @@ edje_object_part_drag_size_set(Evas_Object *obj, const char *part, double dw, do | |||
2690 | 3060 | ||
2691 | ed = _edje_fetch(obj); | 3061 | ed = _edje_fetch(obj); |
2692 | if ((!ed) || (!part)) return EINA_FALSE; | 3062 | if ((!ed) || (!part)) return EINA_FALSE; |
2693 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 3063 | rp = _edje_real_part_recursive_get(ed, part); |
2694 | if (!rp) return EINA_FALSE; | 3064 | if (!rp) return EINA_FALSE; |
2695 | if (!rp->drag) return EINA_FALSE; | 3065 | if (!rp->drag) return EINA_FALSE; |
2696 | if (dw < 0.0) dw = 0.0; | 3066 | if (dw < 0.0) dw = 0.0; |
@@ -2726,7 +3096,7 @@ edje_object_part_drag_size_get(const Evas_Object *obj, const char *part, double | |||
2726 | /* Need to recalc before providing the object. */ | 3096 | /* Need to recalc before providing the object. */ |
2727 | _edje_recalc_do(ed); | 3097 | _edje_recalc_do(ed); |
2728 | 3098 | ||
2729 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 3099 | rp = _edje_real_part_recursive_get(ed, part); |
2730 | if (!rp || !rp->drag) | 3100 | if (!rp || !rp->drag) |
2731 | { | 3101 | { |
2732 | if (dw) *dw = 0; | 3102 | if (dw) *dw = 0; |
@@ -2746,7 +3116,7 @@ edje_object_part_drag_step_set(Evas_Object *obj, const char *part, double dx, do | |||
2746 | 3116 | ||
2747 | ed = _edje_fetch(obj); | 3117 | ed = _edje_fetch(obj); |
2748 | if ((!ed) || (!part)) return EINA_FALSE; | 3118 | if ((!ed) || (!part)) return EINA_FALSE; |
2749 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 3119 | rp = _edje_real_part_recursive_get(ed, part); |
2750 | if (!rp) return EINA_FALSE; | 3120 | if (!rp) return EINA_FALSE; |
2751 | if (!rp->drag) return EINA_FALSE; | 3121 | if (!rp->drag) return EINA_FALSE; |
2752 | if (dx < 0.0) dx = 0.0; | 3122 | if (dx < 0.0) dx = 0.0; |
@@ -2778,7 +3148,7 @@ edje_object_part_drag_step_get(const Evas_Object *obj, const char *part, double | |||
2778 | /* Need to recalc before providing the object. */ | 3148 | /* Need to recalc before providing the object. */ |
2779 | _edje_recalc_do(ed); | 3149 | _edje_recalc_do(ed); |
2780 | 3150 | ||
2781 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 3151 | rp = _edje_real_part_recursive_get(ed, part); |
2782 | if (!rp || !rp->drag) | 3152 | if (!rp || !rp->drag) |
2783 | { | 3153 | { |
2784 | if (dx) *dx = 0; | 3154 | if (dx) *dx = 0; |
@@ -2798,7 +3168,7 @@ edje_object_part_drag_page_set(Evas_Object *obj, const char *part, double dx, do | |||
2798 | 3168 | ||
2799 | ed = _edje_fetch(obj); | 3169 | ed = _edje_fetch(obj); |
2800 | if ((!ed) || (!part)) return EINA_FALSE; | 3170 | if ((!ed) || (!part)) return EINA_FALSE; |
2801 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 3171 | rp = _edje_real_part_recursive_get(ed, part); |
2802 | if (!rp) return EINA_FALSE; | 3172 | if (!rp) return EINA_FALSE; |
2803 | if (!rp->drag) return EINA_FALSE; | 3173 | if (!rp->drag) return EINA_FALSE; |
2804 | if (dx < 0.0) dx = 0.0; | 3174 | if (dx < 0.0) dx = 0.0; |
@@ -2830,7 +3200,7 @@ edje_object_part_drag_page_get(const Evas_Object *obj, const char *part, double | |||
2830 | /* Need to recalc before providing the object. */ | 3200 | /* Need to recalc before providing the object. */ |
2831 | _edje_recalc_do(ed); | 3201 | _edje_recalc_do(ed); |
2832 | 3202 | ||
2833 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 3203 | rp = _edje_real_part_recursive_get(ed, part); |
2834 | if (!rp || !rp->drag) | 3204 | if (!rp || !rp->drag) |
2835 | { | 3205 | { |
2836 | if (dx) *dx = 0; | 3206 | if (dx) *dx = 0; |
@@ -2851,7 +3221,7 @@ edje_object_part_drag_step(Evas_Object *obj, const char *part, double dx, double | |||
2851 | 3221 | ||
2852 | ed = _edje_fetch(obj); | 3222 | ed = _edje_fetch(obj); |
2853 | if ((!ed) || (!part)) return EINA_FALSE; | 3223 | if ((!ed) || (!part)) return EINA_FALSE; |
2854 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 3224 | rp = _edje_real_part_recursive_get(ed, part); |
2855 | if (!rp) return EINA_FALSE; | 3225 | if (!rp) return EINA_FALSE; |
2856 | if (!rp->drag) return EINA_FALSE; | 3226 | if (!rp->drag) return EINA_FALSE; |
2857 | if (rp->drag->down.count > 0) return EINA_FALSE; | 3227 | if (rp->drag->down.count > 0) return EINA_FALSE; |
@@ -2881,7 +3251,7 @@ edje_object_part_drag_page(Evas_Object *obj, const char *part, double dx, double | |||
2881 | 3251 | ||
2882 | ed = _edje_fetch(obj); | 3252 | ed = _edje_fetch(obj); |
2883 | if ((!ed) || (!part)) return EINA_FALSE; | 3253 | if ((!ed) || (!part)) return EINA_FALSE; |
2884 | rp = _edje_real_part_recursive_get(ed, (char *)part); | 3254 | rp = _edje_real_part_recursive_get(ed, part); |
2885 | if (!rp) return EINA_FALSE; | 3255 | if (!rp) return EINA_FALSE; |
2886 | if (!rp->drag) return EINA_FALSE; | 3256 | if (!rp->drag) return EINA_FALSE; |
2887 | if (rp->drag->down.count > 0) return EINA_FALSE; | 3257 | if (rp->drag->down.count > 0) return EINA_FALSE; |
@@ -3557,9 +3927,21 @@ edje_object_preload(Evas_Object *obj, Eina_Bool cancel) | |||
3557 | else if (ep->type == EDJE_PART_TYPE_GROUP) | 3927 | else if (ep->type == EDJE_PART_TYPE_GROUP) |
3558 | { | 3928 | { |
3559 | if (rp->swallowed_object) { | 3929 | if (rp->swallowed_object) { |
3560 | edje_object_signal_callback_del(rp->swallowed_object, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE, _edje_object_signal_preload_cb); | 3930 | char *tmp; |
3561 | edje_object_signal_callback_add(rp->swallowed_object, EDJE_PRELOAD_EMISSION, EDJE_PRELOAD_SOURCE, _edje_object_signal_preload_cb, ed); | 3931 | |
3562 | edje_object_preload(rp->swallowed_object, cancel); | 3932 | if (rp->part->name) |
3933 | { | ||
3934 | tmp = alloca(strlen(rp->part->name) + 2); | ||
3935 | sprintf(tmp, "%s:", rp->part->name); | ||
3936 | |||
3937 | edje_object_signal_callback_del(obj, EDJE_PRELOAD_EMISSION, tmp, _edje_object_signal_preload_cb); | ||
3938 | edje_object_signal_callback_add(obj, EDJE_PRELOAD_EMISSION, tmp, _edje_object_signal_preload_cb, ed); | ||
3939 | edje_object_preload(rp->swallowed_object, cancel); | ||
3940 | } | ||
3941 | else | ||
3942 | { | ||
3943 | ed->preload_count--; | ||
3944 | } | ||
3563 | 3945 | ||
3564 | count--; | 3946 | count--; |
3565 | } | 3947 | } |
@@ -3574,6 +3956,30 @@ edje_object_preload(Evas_Object *obj, Eina_Bool cancel) | |||
3574 | return EINA_TRUE; | 3956 | return EINA_TRUE; |
3575 | } | 3957 | } |
3576 | 3958 | ||
3959 | EAPI void | ||
3960 | edje_object_update_hints_set(Evas_Object *obj, Eina_Bool update) | ||
3961 | { | ||
3962 | Edje *ed; | ||
3963 | |||
3964 | ed = _edje_fetch(obj); | ||
3965 | if (!ed) return ; | ||
3966 | if (ed->update_hints == !!update) return ; | ||
3967 | |||
3968 | ed->update_hints = !!update; | ||
3969 | if (update) ed->recalc_hints = 1; | ||
3970 | } | ||
3971 | |||
3972 | EAPI Eina_Bool | ||
3973 | edje_object_update_hints_get(Evas_Object *obj) | ||
3974 | { | ||
3975 | Edje *ed; | ||
3976 | |||
3977 | ed = _edje_fetch(obj); | ||
3978 | if (!ed) return EINA_FALSE; | ||
3979 | |||
3980 | return ed->update_hints; | ||
3981 | } | ||
3982 | |||
3577 | Eina_Bool | 3983 | Eina_Bool |
3578 | _edje_real_part_table_pack(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan) | 3984 | _edje_real_part_table_pack(Edje_Real_Part *rp, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan) |
3579 | { | 3985 | { |
@@ -4037,9 +4443,11 @@ _edje_real_part_swallow_hints_update(Edje_Real_Part *rp) | |||
4037 | { | 4443 | { |
4038 | Evas_Coord w, h; | 4444 | Evas_Coord w, h; |
4039 | 4445 | ||
4446 | #if 0 | ||
4040 | edje_object_size_min_get(rp->swallowed_object, &w, &h); | 4447 | edje_object_size_min_get(rp->swallowed_object, &w, &h); |
4041 | rp->swallow_params.min.w = w; | 4448 | rp->swallow_params.min.w = w; |
4042 | rp->swallow_params.min.h = h; | 4449 | rp->swallow_params.min.h = h; |
4450 | #endif | ||
4043 | edje_object_size_max_get(rp->swallowed_object, &w, &h); | 4451 | edje_object_size_max_get(rp->swallowed_object, &w, &h); |
4044 | rp->swallow_params.max.w = w; | 4452 | rp->swallow_params.max.w = w; |
4045 | rp->swallow_params.max.h = h; | 4453 | rp->swallow_params.max.h = h; |
@@ -4050,8 +4458,10 @@ _edje_real_part_swallow_hints_update(Edje_Real_Part *rp) | |||
4050 | Evas_Coord w, h; | 4458 | Evas_Coord w, h; |
4051 | 4459 | ||
4052 | evas_object_geometry_get(rp->swallowed_object, NULL, NULL, &w, &h); | 4460 | evas_object_geometry_get(rp->swallowed_object, NULL, NULL, &w, &h); |
4461 | #if 0 | ||
4053 | rp->swallow_params.min.w = w; | 4462 | rp->swallow_params.min.w = w; |
4054 | rp->swallow_params.min.h = h; | 4463 | rp->swallow_params.min.h = h; |
4464 | #endif | ||
4055 | rp->swallow_params.max.w = w; | 4465 | rp->swallow_params.max.w = w; |
4056 | rp->swallow_params.max.h = h; | 4466 | rp->swallow_params.max.h = h; |
4057 | } | 4467 | } |
@@ -4127,6 +4537,7 @@ _edje_real_part_swallow(Edje_Real_Part *rp, | |||
4127 | _edje_real_part_swallow_hints_update(rp); | 4537 | _edje_real_part_swallow_hints_update(rp); |
4128 | rp->edje->dirty = 1; | 4538 | rp->edje->dirty = 1; |
4129 | rp->edje->recalc_call = 1; | 4539 | rp->edje->recalc_call = 1; |
4540 | rp->edje->recalc_hints = 1; | ||
4130 | _edje_recalc(rp->edje); | 4541 | _edje_recalc(rp->edje); |
4131 | return; | 4542 | return; |
4132 | } | 4543 | } |
@@ -4171,6 +4582,7 @@ _edje_real_part_swallow(Edje_Real_Part *rp, | |||
4171 | 4582 | ||
4172 | rp->edje->dirty = 1; | 4583 | rp->edje->dirty = 1; |
4173 | rp->edje->recalc_call = 1; | 4584 | rp->edje->recalc_call = 1; |
4585 | rp->edje->recalc_hints = 1; | ||
4174 | _edje_recalc(rp->edje); | 4586 | _edje_recalc(rp->edje); |
4175 | } | 4587 | } |
4176 | 4588 | ||