IIIMCF has the following predefined components by default. Users can use these components by making them parental components of user components.
The root component processes all of the incoming events. In IIIMCF, it
can be regarded as user's top level program (i.e. the program not invoked
from component interface) itself because the top level program can receive
all events by iiimcf_get_next_event
, and dispatch any
of them arbitrarily.
This component processes only UI related events. If it receives any events associated with preedit, lookup-choice, and status, it dispatches them to all child components; otherwise, simply ignore them and return IIIMF_STATUS_COMPONENT_INDIFFERENT.
This component processes only preedit events. If it receives any events associated with preedit, it dispatches them to all child components; otherwise, simply ignore them and return IIIMF_STATUS_COMPONENT_INDIFFERENT.
This component processes only preedit events. If it receives any events associated with lookup choice, it dispatches them to all child components; otherwise, simply ignore them and return IIIMF_STATUS_COMPONENT_INDIFFERENT.
This component processes only preedit events. If it receives any events associated with status, it dispatches them to all child components; otherwise, simply ignore them and return IIIMF_STATUS_COMPONENT_INDIFFERENT.
This component processes only forwarded events. If it receives any events forwarded by IM service provider(s), e.g. key event, trigger-notify event, or something like, it dispatches them to all child components; otherwise, simply ignore them and return IIIMF_STATUS_COMPONENT_INDIFFERENT.
This component processes only forwarded key events. If it receives those events, it dispatches them to all child components; otherwise, simply ignore them and return IIIMF_STATUS_COMPONENT_INDIFFERENT.
This component processes only trigger notify events. If it receives those events, it dispatches them to all child components; otherwise, simply ignore them and return IIIMF_STATUS_COMPONENT_INDIFFERENT.
This component processes only AUX related events. If it receives IIIMCF_EVENT_TYPE_AUX_DRAW events, it dispatches them to all child components; otherwise, simply ignore them and return IIIMF_STATUS_COMPONENT_INDIFFERENT.
Notice that "org.OpenI18N.IIIMCF" is reserved component domain name by IIIMCF. You MUST NOT use it for your own components' domain name.
The following figure illustrates the default component hierarchy.