To find out if the widget has been mapped to the screen, use the ismapped method:
if ($widget->ismapped)
  # Do something
} else {
  # map the widget
}
The ismapped method returns 1 if the widget is currently mapped to the screen and 0 if it is not.
Copyright © 2002 O'Reilly & Associates. All rights reserved.