use of com.evolveum.midpoint.studio.ui.trace.mainTree.model.AbstractOpTreeTableNode in project midpoint-studio by Evolveum.
the class OpTreePanel method initMain.
private JComponent initMain() {
for (TraceTreeViewColumn column : TraceTreeViewColumn.values()) {
columnDefinitions.add(new TreeTableColumnDefinition<>(column));
}
opTreeTableModel = new OpTreeTableModel(columnDefinitions, rootOpNode);
traceTreeTable = MidPointUtils.createTable2(opTreeTableModel, MidPointUtils.createTableColumnModel(columnDefinitions), false);
traceTreeTable.addHighlighter(new AbstractHighlighter() {
@Override
protected Component doHighlight(Component component, ComponentAdapter adapter) {
int row = adapter.convertRowIndexToModel(adapter.row);
TreePath pathForRow = traceTreeTable.getPathForRow(row);
AbstractOpTreeTableNode node = (AbstractOpTreeTableNode) pathForRow.getLastPathComponent();
OpNode opNode = node.getUserObject();
if (opNode != null) {
// fixme hack
AbstractOpNodePresentation<?> presentation = (AbstractOpNodePresentation<?>) opNode.getPresentation();
if (adapter.isSelected()) {
component.setBackground(traceTreeTable.getSelectionBackground());
} else {
Color backgroundColor = presentation.getBackgroundColor();
if (backgroundColor != null) {
component.setBackground(backgroundColor);
} else {
component.setBackground(traceTreeTable.getBackground());
}
}
}
return component;
}
});
traceTreeTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
traceTreeTable.addTreeSelectionListener(this::traceTreeTableSelectionChanged);
JPanel panel = new BorderLayoutPanel();
JComponent toolbar = initMainToolbar();
panel.add(toolbar, BorderLayout.NORTH);
panel.add(new JBScrollPane(traceTreeTable), BorderLayout.CENTER);
return panel;
}
use of com.evolveum.midpoint.studio.ui.trace.mainTree.model.AbstractOpTreeTableNode in project midpoint-studio by Evolveum.
the class OpTreePanel method setChildrenVisible.
private void setChildrenVisible(boolean deep) {
List<TreePath> selectedPaths = getSelectedPaths();
for (TreePath selectedPath : selectedPaths) {
AbstractOpTreeTableNode selectedTreeNode = (AbstractOpTreeTableNode) selectedPath.getLastPathComponent();
OpNode selectedOpNode = selectedTreeNode.getUserObject();
assert selectedOpNode != null;
for (OpNode child : selectedOpNode.getChildren()) {
setNodeVisible(child, true, deep);
}
}
updateLinksAndRefresh(selectedPaths);
}
use of com.evolveum.midpoint.studio.ui.trace.mainTree.model.AbstractOpTreeTableNode in project midpoint-studio by Evolveum.
the class OpTreePanel method selectedTraceNodeChange.
public void selectedTraceNodeChange(TreePath path) {
if (path != null) {
AbstractOpTreeTableNode node = (AbstractOpTreeTableNode) path.getLastPathComponent();
notifier.selectedTraceNodeChange(node != null ? node.getUserObject() : null);
} else {
notifier.selectedTraceNodeChange(null);
}
}
use of com.evolveum.midpoint.studio.ui.trace.mainTree.model.AbstractOpTreeTableNode in project midpoint-studio by Evolveum.
the class OpTreePanel method hideSelected.
private void hideSelected(boolean deep) {
List<TreePath> selectedPaths = getSelectedPaths();
for (TreePath selectedPath : selectedPaths) {
AbstractOpTreeTableNode selectedTreeNode = (AbstractOpTreeTableNode) selectedPath.getLastPathComponent();
OpNode selectedOpNode = selectedTreeNode.getUserObject();
assert selectedOpNode != null;
setNodeVisible(selectedOpNode, false, deep);
}
updateLinksAndRefresh(getParentPaths(selectedPaths));
}
Aggregations