text3D widget implementation