After creating the
input focus frame's implementation object,
customkeyfocus.C
uses it to create the custom widget's implementation object
and the public object, then
calls
x::w::create_focusframe_container
().
x::w::create_focusframe_container
()
constructs the public object for the input focus frame
implementation object, and puts the new custom widget into the
new input focus frame container.
customkeyfocus.C
concludes the process by calling the
original factory's created_internally
().
From the original factory's perspective, one new widget gets created. The widget is the focus frame container, and the focus frame container contains the real custom widget that gets created.