Fix issues with column registration and subclasses.

Review Request #5425 — Created Feb. 7, 2014 and submitted — Latest diff uploaded

Information

Djblets
master

Reviewers

The column registration had a nasty bug when used with subclasses of
subclasses of DataGrid.

If a subclass was being used as a normal datagrid, rendered on a page,
it would populate its registry of columns. If a subclass of that was
then used, it would inherit the registry, ignoring any custom columns
that it may itself provide.

Instead of storing the column registry on the datagrid itself, we now
have a map of classes to columns. We can then reference those registries
by the specific class we care about, instead of inheriting registry from
parent classes.

Loaded the All Review Requests page on Review Board, and then loaded the
Dashboard. Both had their own lists of available columns, instead of the Dashboard
inheriting the one on the All Review Request page.

Unit tests pass.