use of com.evolveum.midpoint.schema.traces.OpNode in project midpoint-studio by Evolveum.
the class OpDetailsTreePanel method updateModel.
@Override
void updateModel(OpNode node) {
super.updateModel(node);
Node result;
Node trace;
if (node != null) {
result = new ResultNode(node);
trace = createTraceNodeTreatingExceptions(node);
} else {
result = TextNode.create("Result", "", null);
trace = TextNode.create("Trace", "", null);
}
DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode();
root.add(result);
root.add(trace);
updateTreeModel(root);
applySelection(null);
}
use of com.evolveum.midpoint.schema.traces.OpNode in project midpoint-studio by Evolveum.
the class OpOverviewTreePanel method updateModel.
@Override
void updateModel(OpNode node) {
super.updateModel(node);
ViewingState initialState = new ViewingState();
DefaultMutableTreeTableNode root = new DefaultMutableTreeTableNode();
if (node != null) {
root.add(new TextNode("Operation", node.getLabel()));
if (node.getType() != null) {
try {
// noinspection unchecked
((AbstractOpNodePresentation<OpNode>) node.getPresentation()).getOverviewProvider().provideOverview(node, root, initialState);
} catch (SchemaException e) {
TextNode.create("Couldn't provide overview", e.getMessage(), root);
}
}
}
updateTreeModel(root);
setViewingState(initialState);
}
use of com.evolveum.midpoint.schema.traces.OpNode 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.schema.traces.OpNode 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.schema.traces.OpNode in project midpoint-studio by Evolveum.
the class OpTreeTableModel method updateParentChildLinks.
private void updateParentChildLinks(AbstractOpTreeTableNode node) {
for (OpNode visibleChild : node.getUserObject().getVisibleChildren()) {
RegularOpTreeTableNode visibleTreeTableChild = convertedNodeMap.get(visibleChild);
node.addChild(visibleTreeTableChild);
updateParentChildLinks(visibleTreeTableChild);
}
}
Aggregations