Add GROUP Parts to edje.
authorrephorm <rephorm>
Sun, 27 May 2007 05:28:07 +0000 (05:28 +0000)
committerrephorm <rephorm@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 27 May 2007 05:28:07 +0000 (05:28 +0000)
commitd4a055585b0f7b8d46f5507db6089bc0a431cde3
treee5a0a09a8aafb892a7808e04403834e4c666aeae
parente954849ee1553354dfacae9c07021fc92df6e0e5
Add GROUP Parts to edje.

These can be used to automatically swallow in another group from the same file.

Parts within child groups can be referred to by a ':' separated 'full path' of
part names. Any API functions that take a part name will now accept a full path
also.

Signals emitted by child objects will be repeated up to the parents with the
source changed to be the path relative to the receiving object.  E.g in the
example below, a mouse moving over the lower light green rectangle would result
in the parent object recieving a "mouse,move" signal with source "bot:inner".

**** NEW RESTRICTION ****  part names should no longer include a ':' character.
This is not yet enforced by edje_cc, but will cause the part to be inaccessible
from the API.

Example EDC:

collections {
  group {
    name: "parent";
    parts {
      part {
        name: "top";
        type: GROUP;
        source: "child";
        description {
          state: "default" 0.0;
          rel2.relative: 1 0.5;
        }
      }
      part {
        name: "bot";
        type: GROUP;
        source: "child";
        description {
          state: "default" 0.0;
          rel1.relative: 0 0.5;
        }
      }
    }
  }
  group {
    name: "child";
    parts {
      part {
        name: "base";
        type: RECT;
        description {
          state: "default" 0.0;
          color: 160 208 8 255;
        }
      }
      part {
        name: "inner";
        type: RECT;
        description {
          state: "default" 0.0;
          rel1.offset: 10 10;
          rel2.offset: -11 -11;
          color: 210 228 76 255;
        }
      }
    }
  }
}

SVN revision: 30087
legacy/edje/src/bin/edje_cc_handlers.c
legacy/edje/src/lib/Edje.h
legacy/edje/src/lib/edje_calc.c
legacy/edje/src/lib/edje_data.c
legacy/edje/src/lib/edje_load.c
legacy/edje/src/lib/edje_main.c
legacy/edje/src/lib/edje_message_queue.c
legacy/edje/src/lib/edje_private.h
legacy/edje/src/lib/edje_program.c
legacy/edje/src/lib/edje_util.c