rewrite SceneWidget and LayerWidget