001package ca.bc.webarts.widgets.treetable;
002
003import java.awt.BorderLayout;
004import java.awt.Color;
005import java.awt.Component;
006import java.awt.Dimension;
007import java.awt.Point;
008import java.awt.Window;
009import java.awt.event.MouseEvent;
010import java.awt.event.WindowAdapter;
011import java.awt.event.WindowEvent;
012import java.util.ArrayList;
013import java.util.List;
014import java.util.logging.Logger;
015
016import javax.swing.JButton;
017import javax.swing.JComponent;
018import javax.swing.JFrame;
019import javax.swing.JLabel;
020import javax.swing.JPanel;
021import javax.swing.JScrollPane;
022import javax.swing.SwingUtilities;
023import javax.swing.table.TableModel;
024import javax.swing.tree.TreePath;
025
026import ca.bc.webarts.widgets.ColouredLabel;
027
028/*
029import org.jdesktop.application.Action;
030import org.jdesktop.swingx.JXPanel;
031import org.jdesktop.swingx.JXTreeTable;
032import org.jdesktop.swingx.decorator.AbstractHighlighter;
033import org.jdesktop.swingx.decorator.ColorHighlighter;
034import org.jdesktop.swingx.decorator.ComponentAdapter;
035import org.jdesktop.swingx.decorator.HighlightPredicate;
036import org.jdesktop.swingx.event.AbstractInputEventDispatcher;
037import org.jdesktop.swingx.renderer.DefaultTableRenderer;
038import org.jdesktop.swingx.renderer.DefaultTreeRenderer;
039import org.jdesktop.swingx.renderer.IconValue;
040import org.jdesktop.swingx.renderer.StringValue;
041import org.jdesktop.swingx.renderer.StringValues;
042import org.jdesktop.swingx.table.ColumnFactory;
043import org.jdesktop.swingx.table.TableColumnExt;
044import org.jdesktop.swingx.treetable.TreeTableModel;
045*/
046import org.jdesktop.swingx.JXTreeTable;
047import org.jdesktop.swingx.treetable.FileSystemModel;
048import org.jdesktop.swingx.treetable.TreeTableModel;
049
050/**
051 * A test demo app for the {@code JXTreeTable}.
052 *
053 * @author Tom Gutwin
054 */
055public class TomsTreeTableDemo extends JPanel
056{
057  ca.bc.webarts.tools.Log log_ = ca.bc.webarts.tools.Log.createLog( ca.bc.webarts.tools.Log.DEBUG );
058
059  private JXTreeTable treeTable;
060  private TreeTableModel ttm;
061  private boolean initialized;
062  private JButton refreshButton;
063  private JButton expandButton;
064  private JButton collapseButton;
065
066
067  public TomsTreeTableDemo()
068  {
069    super( new BorderLayout() );
070    log_ = ca.bc.webarts.tools.Log.createLog( ca.bc.webarts.tools.Log.DEBUG );
071
072    //add( tt, BorderLayout.CENTER );
073    add(new ColouredLabel(Color.BLUE.darker(),Color.cyan.brighter(),"TreeTable Panel"),BorderLayout.PAGE_START);
074
075    initializeWithData(getSampleData());
076    initialized=true;
077    log_.debug("TreeTableDemo Initialized");
078  }
079
080
081  public static void main( String[] args )
082  {
083    JFrame f = new JFrame( "TomsTreeTableDemo Frame" );
084    TomsTreeTableDemo p = new TomsTreeTableDemo();
085
086    f.addWindowListener ( new WindowAdapter()
087                          {
088                            public void windowClosing( WindowEvent e )
089                            {
090                              System.exit(0 );
091                            }
092                          }
093                        );
094    f.getContentPane().add( p );
095    f.pack();
096    // KiwiUtils.centerWindow(appFrame_);
097    f.toFront();
098    f.setVisible( true );
099    f.repaint();
100  } //main
101
102
103  public static StringBuilder getSampleData()
104  {
105    StringBuilder sb = new StringBuilder();
106
107    return sb;
108  }
109
110
111  public void initializeWithData(StringBuilder sb)
112  {
113    ttm = new FileSystemModel(new java.io.File(ca.bc.webarts.widgets.Util.USERHOME));
114    treeTable = new JXTreeTable(ttm);
115    JScrollPane     scrollpane = new JScrollPane(treeTable);
116    add(scrollpane, BorderLayout.CENTER);
117  }
118}
119