I don't get why theme_table forces me to set so many defaults myself. Why can't it have sensible empty defaults for these things itself?!?
For example, typically (at least in basic development), I have a bunch of rows which I just want to stick out there, but I don't want to be creating HTML myself with
<tr><td> etc. so I just want to call theme_table and have that do everything for me.
A concrete example, I want to output a bunch of stats. I don't mind telling the theme_table function the heading values but the rest of the stuff I just don't care for. Nonetheless it seems I am forced to write code like:
$table['header'] = array('wins', 'draws', 'losses',
'rating', 'rgames', 'rchange');
$table['attributes'] = array(); // I don't care, but I'm forced to define this
$table['caption'] = array(); // I don't care about this either
$table['colgroups'] = array(); // I just don't give a **** about this either
$table['sticky'] = ""; // Nope, don't care
$table['empty'] = "The message to display in an extra row if table does not have any rows."; // Look, I just don't care about this
$table['rows'] = $stats; // OK, finally some data which I want