001package kiwi.ui.propeditor;
002
003import java.awt.*;
004import java.util.*;
005import javax.swing.*;
006
007import kiwi.ui.*;
008import kiwi.ui.model.*;
009
010
011/**
012 *
013 */
014
015public class PropertyEditor extends KPanel
016  {
017  private KTreeModel model;
018  private JTree tree;
019  private KTreeModelTreeAdapter adapter;
020  private PropertyEditorFactory factory
021    = DefaultPropertyEditorFactory.getInstance();
022  private Hashtable editors = new Hashtable();
023  private PropertyCellEditor cellEditor;
024  
025  public PropertyEditor()
026    {
027    setLayout(new BorderLayout(3, 3));
028
029    tree = new JTree();
030    tree.setRowHeight(18);
031    tree.setRootVisible(false);
032    tree.setEditable(true);
033
034    cellEditor = new PropertyCellEditor(factory);
035    
036    tree.setCellRenderer(cellEditor);
037    tree.setCellEditor(cellEditor);
038
039    KScrollPane sp = new KScrollPane(tree);
040    add("Center", sp);
041
042    adapter = new KTreeModelTreeAdapter(tree);
043    tree.setModel(adapter);    
044    }
045
046  public void setEditorFactory(PropertyEditorFactory factory)
047    {
048    cellEditor.setEditorFactory(factory);
049    }
050
051  public PropertyEditorFactory getEditorFactory()
052    {
053    return(factory);
054    }
055
056  public void setModel(KTreeModel model)
057    {
058    this.model = model;
059    adapter.setTreeModel(model);
060
061//    repaint();
062    }
063
064  public KTreeModel getModel()
065    {
066    return(model);
067    }
068
069  /*
070   */
071  
072
073  /*
074   */
075
076
077  }
078
079/* end of source file */