001/* 002 * Created on 11.01.2011 003 * 004 */ 005package org.jdesktop.swingx.treetable; 006 007 008/** 009 * Interface which guarantees access to a TreeTableModel. It is implemented by 010 * the internal TreeTableModelAdapter of JXTreeTable to allow direct access to 011 * the underlying TreeTableModel from the adapter. 012 * <p> 013 * 014 * That's useful f.i. when trying to configure TableColumnExt in a 015 * ColumnFactory, like in 016 * 017 * <pre> 018 * <code> 019 * JXTreeTable table = new JXTreeTable(); 020 * ColumnFactory factory = new ColumnFactory() { 021 * 022 * @Override 023 * public void configureTableColumn(TableModel model, 024 * TableColumnExt columnExt) { 025 * super.configureTableColumn(model, columnExt); 026 * if (model instanceof TreeTableModelProvider) { 027 * TreeTableModel treeTableModel = ((TreeTableModelProvider) model).getTreeTableModel(); 028 * if (treeTableModel.getHierarchicalColumn() == columnExt.getModelIndex()) { 029 * columnExt.setTitle("Hierarchical: " + columnExt.getTitle()); 030 * } 031 * } 032 * } 033 * }; 034 * table.setColumnFactory(factory); 035 * table.setTreeTableModel(new FileSystemModel()); 036 * 037 * </code> 038 * </pre> 039 * 040 * @author Jeanette Winzenburg, Berlin 041 */ 042public interface TreeTableModelProvider { 043 044 /** 045 * Returns a TreeTableModel, guaranteed to be not null. 046 * 047 * @return a TreeTableModel, guaranteed to be not null. 048 */ 049 TreeTableModel getTreeTableModel(); 050 051}