A disabled, or insensitive, widget does not respond to input and has a different visual appearance in order to indicate such state. To enable or disable a widget:

<?php $button->set_sensitive($state); ?>
where $state is TRUE or FALSE. If the widget is enabled, but its parent is not, then it is considered disabled as well. To test a widget's state:

<?php
  $state 
$button->sensitive();
  
$state $button->is_sensitive();
?>
The first method tests just the widget itself, while the second one takes into account its parent's state as well.