Buttonclass is a boopsi custom gadget which looks like a standard gadtools button gadget. The buttonclass supports a couple of things gadtools does not, the foreground and background color of the gadget can be changed, and the gadget can be put into the selected state so the gadget looks depressed. This example code by Douglas Keller.