This PR improves the widget rendering logic, the create_viewer and the render_viewer method now work independently. There are 2 scenarios:
If create_viewer is called before render_viewer, the create_viewer will create empty outputs, and render_viewer will fill these outputs with the real widget.
If render_viewer is called before create_viewer, the render_viewer will create the real widgets, and create_viewer will create outputs filled with widgets.
This PR improves the widget rendering logic, the
create_viewer
and therender_viewer
method now work independently. There are 2 scenarios:create_viewer
is called beforerender_viewer
, thecreate_viewer
will create empty outputs, andrender_viewer
will fill these outputs with the real widget.render_viewer
is called beforecreate_viewer
, therender_viewer
will create the real widgets, andcreate_viewer
will create outputs filled with widgets.