MCPcopy Create free account
hub / github.com/GateNLP/gate-core / TreeTableModelAdapter

Class TreeTableModelAdapter

src/main/java/gate/swing/JTreeTable.java:282–359  ·  view source on GitHub ↗

A wrapper that reads a TreeTableModel and behaves as a TableModel

Source from the content-addressed store, hash-verified

280 * A wrapper that reads a TreeTableModel and behaves as a TableModel
281 */
282 class TreeTableModelAdapter extends AbstractTableModel{
283 public TreeTableModelAdapter(TreeTableModel treeTableModel) {
284 tree.addTreeExpansionListener(new TreeExpansionListener() {
285 // Don't use fireTableRowsInserted() here;
286 // the selection model would get updated twice.
287 @Override
288 public void treeExpanded(TreeExpansionEvent event) {
289 fireTableDataChanged();
290 }
291 @Override
292 public void treeCollapsed(TreeExpansionEvent event) {
293 fireTableDataChanged();
294 }
295 });
296 tree.getModel().addTreeModelListener(new TreeModelListener() {
297 @Override
298 public void treeNodesChanged(TreeModelEvent e) {
299 fireTableDataChanged();
300 }
301 @Override
302 public void treeNodesInserted(TreeModelEvent e) {
303 fireTableDataChanged();
304 }
305 @Override
306 public void treeNodesRemoved(TreeModelEvent e) {
307 fireTableDataChanged();
308 }
309 @Override
310 public void treeStructureChanged(TreeModelEvent e) {
311 fireTableDataChanged();
312 }
313 });
314 }
315
316 // Wrappers, implementing TableModel interface.
317 @Override
318 public int getColumnCount() {
319 return treeTableModel.getColumnCount();
320 }
321
322 @Override
323 public String getColumnName(int column) {
324 return treeTableModel.getColumnName(column);
325 }
326
327 @Override
328 public Class<?> getColumnClass(int column) {
329 if(column == 0) return TreeTableModel.class;
330 else return treeTableModel.getColumnClass(column);
331 }
332
333 @Override
334 public int getRowCount() {
335 return tree.getRowCount();
336 }
337
338 protected Object nodeForRow(int row) {
339 TreePath treePath = tree.getPathForRow(row);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected