java.fedora.utilities.policyEditor.TreeTableModelAdapter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fcrepo-client Show documentation
Show all versions of fcrepo-client Show documentation
The Fedora Client is a Java Library that allows API access to a Fedora Repository. The client is typically one part of a full Fedora installation.
The newest version!
/*
* -----------------------------------------------------------------------------
*
* License and Copyright: The contents of this file are subject to the
* Apache License, Version 2.0 (the "License"); you may not use
* this file except in compliance with the License. You may obtain a copy of
* the License at
* http://www.fedora-commons.org/licenses.
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
*
* The entire file consists of original code.
* Copyright © 2008 Fedora Commons, Inc.
*
Copyright © 2002-2007 The Rector and Visitors of the University of
* Virginia and Cornell University
* All rights reserved.
*
* -----------------------------------------------------------------------------
*/
/*
*/
package fedora.utilities.policyEditor;
import javax.swing.table.AbstractTableModel;
import javax.swing.JTree;
import javax.swing.tree.TreePath;
import javax.swing.event.TreeExpansionEvent;
import javax.swing.event.TreeExpansionListener;
/**
*/
public class TreeTableModelAdapter extends AbstractTableModel
{
private static final long serialVersionUID = 1L;
JTree tree;
TreeTableModel treeTableModel;
public TreeTableModelAdapter(TreeTableModel treeTableModel, JTree tree)
{
this.tree = tree;
this.treeTableModel = treeTableModel;
tree.addTreeExpansionListener(new TreeExpansionListener()
{
// Don't use fireTableRowsInserted() here;
// the selection model would get updated twice.
public void treeExpanded(TreeExpansionEvent event)
{
fireTableDataChanged();
}
public void treeCollapsed(TreeExpansionEvent event)
{
fireTableDataChanged();
}
});
}
// Wrappers, implementing TableModel interface.
public int getColumnCount()
{
return treeTableModel.getColumnCount();
}
public String getColumnName(int column)
{
return treeTableModel.getColumnName(column);
}
public Class getColumnClass(int column)
{
return treeTableModel.getColumnClass(column);
}
public int getRowCount()
{
return tree.getRowCount();
}
protected Object nodeForRow(int row)
{
TreePath treePath = tree.getPathForRow(row);
return treePath.getLastPathComponent();
}
public Object getValueAt(int row, int column)
{
return treeTableModel.getValueAt(nodeForRow(row), column);
}
public boolean isCellEditable(int row, int column)
{
return treeTableModel.isCellEditable(nodeForRow(row), column);
}
public void setValueAt(Object value, int row, int column)
{
treeTableModel.setValueAt(value, nodeForRow(row), column);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy