...
..
.
// Tree
m_tree = new Tree(sashForm, SWT.BORDER | SWT.SINGLE);
m_tree.addTreeListener(new TreeListener()
{
// setzen des Images, abhaengig ob expanded oder collapsed.
public void treeCollapsed(TreeEvent e)
{
chooseImage((TreeItem)e.item);
}
public void treeExpanded(TreeEvent e)
{
chooseImage((TreeItem)e.item);
}
});
m_tree.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected(SelectionEvent e)
{
if (e.item instanceof TreeItem)
{
Object o = ((TreeItem)e.item).getData();
if ((o != null) && (o instanceof Section))
{
SectionEntry sectionEntry;
TableItem tableItem;
Vector sectionEntryVector = ((Section)o).getSectionEntries();
if (sectionEntryVector.size() > 0)
{
m_table.setRedraw(false); // koennte es damit zu tun haben?
m_table.removeAll();
for (Iterator iter = sectionEntryVector.iterator(); iter.hasNext();)
{
sectionEntry = (SectionEntry)iter.next();
tableItem = new TableItem(m_table, SWT.LEFT);
tableItem.setData(sectionEntry);
tableItem.setText(COL_NAME, sectionEntry.getName());
tableItem.setText(
COL_TYPE,
sectionEntry.getValue().getValueType().getStringValue());
tableItem.setText(
COL_VALUE,
sectionEntry.getValue().valueToString());
}
TableColumn[] cols = m_table.getColumns();
for (int i = 0; i < cols.length; i++)
{
cols[i].pack();
}
m_table.setRedraw(true); // koennte es damit zu tun haben?
}
}
}
}
});
TreeItem jiniFileItem = new TreeItem(m_tree, SWT.NONE); // Wurzel des Trees
jiniFileItem.setImage(m_shell.getImage());
jiniFileItem.setText("...");
m_tree.setRedraw(false);
createFirstLevelSectionItems(jiniFileItem); // anhaengen von TreeItems an die Wurzel (werden aus Datei gelesen)
m_tree.setRedraw(true);
m_tree.setSelection(new TreeItem[] { jiniFileItem });
jiniFileItem.setExpanded(true);
...
..
.