ComponentAdapter: total confusion about coordinate systems :-(
Currently I'm trying to enable decorator support in JXList/JXTree which
requires to actually implement the corresponding xxComponentAdapters.
Doing so I ran into seemingly contradictory implementation vs. api doc.
To summarize: basically there are two groups of methods
* Group A - having two coordinate parameters
(xx == getValue/setValue/isCellEditable)
Judging from the implementations these parameteres seem to be
model-coordinates: tableComponentAdapter messages the model with these
* Group B - without coordinate parameters which act on the (public -
arrgghh!) fields row/column
(yy == hasFocus/isLeaf/isExpanded/getValue)
The public fields are uncommented - judging from concrete
implementations (mostly TableComponentAdapter) and comments scattered
through swingx I assume they are in view-coordinates.
There's a convenience method - which (officially undocumented - there's
a code comment, though) expects view-coordinates
<br /> getFilteredValueAt(row, column).<br />
Assuming that some filter is active, that is:
<br /> adapter.getValueAt(...) != adapter.getFilteredValueAt(...)<br />
I would expect:
<br /> adapter.row = viewRow;<br /> adapter.column = viewColumn;<br /> adapter.getValue() == adapter.getFilteredValueAt(viewRow, viewColumn)<br />
And here's the catch - from getValue api doc (and it's implemented to
the letter of the doc):
"Returns the value of the cell identified by this adapter by invoking
getValueAt(int, int)} passing in the row and column values of this adapter"
Messaging the method requiring model-coordinates with the adapter's
view-coordinates? I would expect quite the contrary: call
getFilteredValueAt(adapter.row, adapter.column)... maybe I severly