use of com.evolveum.midpoint.studio.ui.TreeTableColumnDefinition in project midpoint-studio by Evolveum.
the class AbstractOpTreePanel method initLayout.
private void initLayout() {
JBSplitter splitter = new OnePixelSplitter(false);
add(splitter, BorderLayout.CENTER);
List<TreeTableColumnDefinition<String, ?>> columns = new ArrayList<>();
columns.add(new TreeTableColumnDefinition<>("Item", 150, o -> null));
columns.add(new TreeTableColumnDefinition<>("Variable", 400, o -> null, new ExpansionSensitiveTableCellRenderer()));
this.variables = MidPointUtils.createTable2(new DefaultTreeTableModel(new DefaultMutableTreeTableNode(), Arrays.asList("Item", "Variable")), MidPointUtils.createTableColumnModel(columns), false);
this.variables.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
this.variables.addTreeSelectionListener(this::variablesSelectionChanged);
this.variables.addHighlighter(new AbstractHighlighter() {
@Override
protected Component doHighlight(Component component, ComponentAdapter adapter) {
int row = adapter.convertRowIndexToModel(adapter.row);
TreePath pathForRow = variables.getPathForRow(row);
Node node = (Node) pathForRow.getLastPathComponent();
if (adapter.isSelected()) {
component.setBackground(variables.getSelectionBackground());
} else if (node.getBackgroundColor() == null) {
component.setBackground(variables.getBackground());
} else {
component.setBackground(node.getBackgroundColor());
}
return component;
}
});
TableColumn column = this.variables.getColumnModel().getColumn(1);
column.setCellRenderer(new ExpansionSensitiveTableCellRenderer());
JComponent mainToolbar = initMainToolbar();
splitter.setFirstComponent(MidPointUtils.createBorderLayoutPanel(mainToolbar, new JBScrollPane(this.variables), null));
JPanel left = new BorderLayoutPanel();
splitter.setSecondComponent(left);
DefaultActionGroup group = new DefaultActionGroup();
variablesDisplayAs = new FormatComboboxAction() {
@Override
public void setFormat(Format format) {
super.setFormat(format);
variableDisplayAsChanged(format);
}
};
group.add(variablesDisplayAs);
variablesWrapText = new SimpleCheckboxAction("Wrap text") {
@Override
public void onStateChange() {
variablesValue.setLineWrap(isSelected());
variablesValue.invalidate();
}
};
group.add(variablesWrapText);
ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar("TraceViewVariablesToolbar", group, true);
toolbar.setTargetComponent(this);
left.add(toolbar.getComponent(), BorderLayout.NORTH);
variablesValue = new JBTextArea();
left.add(MidPointUtils.borderlessScrollPane(variablesValue), BorderLayout.CENTER);
}
use of com.evolveum.midpoint.studio.ui.TreeTableColumnDefinition in project midpoint-studio by Evolveum.
the class OpPerformancePanel method initLayout.
private void initLayout() {
JBSplitter split = new OnePixelSplitter(false);
List<TreeTableColumnDefinition<Map.Entry<PerformanceCategory, PerformanceCategoryInfo>, ?>> categoryColumns = new ArrayList<>();
categoryColumns.add(new TreeTableColumnDefinition<>("Category", 200, o -> o.getKey().getLabel()));
categoryColumns.add(new TreeTableColumnDefinition<>("Total #", 50, o -> o.getValue().getTotalCount()));
categoryColumns.add(new TreeTableColumnDefinition<>("Total time", 70, o -> formatTime(o.getValue().getTotalTime())));
categoryColumns.add(new TreeTableColumnDefinition<>("Own #", 50, o -> o.getValue().getOwnCount()));
categoryColumns.add(new TreeTableColumnDefinition<>("Own time", 70, o -> formatTime(o.getValue().getOwnTime())));
this.category = new JBTable(new ListTableModel(categoryColumns, new ArrayList<>()));
split.setFirstComponent(new JBScrollPane(category));
List<TreeTableColumnDefinition<SingleOperationPerformanceInformationType, ?>> operationColumns = new ArrayList<>();
operationColumns.add(new TreeTableColumnDefinition<>("Operation", 500, o -> o.getName()));
operationColumns.add(new TreeTableColumnDefinition<>("Count", 50, o -> o.getInvocationCount()));
operationColumns.add(new TreeTableColumnDefinition<>("Total time", 100, o -> formatTime(o.getTotalTime())));
operationColumns.add(new TreeTableColumnDefinition<>("Min", 50, o -> formatTime(o.getMinTime())));
operationColumns.add(new TreeTableColumnDefinition<>("Max", 50, o -> formatTime(o.getMaxTime())));
operationColumns.add(new TreeTableColumnDefinition<>("Avg", 50, o -> formatTime(o.getTotalTime() / o.getInvocationCount())));
this.operation = new JBTable(new ListTableModel<>(operationColumns, new ArrayList<>()));
split.setSecondComponent(new JBScrollPane(operation));
add(split, BorderLayout.CENTER);
}
use of com.evolveum.midpoint.studio.ui.TreeTableColumnDefinition in project midpoint-studio by Evolveum.
the class TraceLensContextPanel method initLayout.
private void initLayout() {
label = new JLabel(LABEL_DEFAULT_TEXT);
label.setBorder(JBUI.Borders.empty(5));
add(label, BorderLayout.NORTH);
List<TreeTableColumnDefinition> columns = new ArrayList<>();
columns.add(new TreeTableColumnDefinition<String, String>("Item", 200, o -> null));
columns.add(new TreeTableColumnDefinition<String, String>("Old", 100, o -> null));
columns.add(new TreeTableColumnDefinition<String, String>("Current", 100, o -> null));
columns.add(new TreeTableColumnDefinition<String, String>("New", 100, o -> null));
this.table = MidPointUtils.createTable(new DefaultTreeTableModel(new DefaultMutableTreeTableNode(), Arrays.asList("Item", "Old", "Current", "New")), null);
add(new JBScrollPane(table), BorderLayout.CENTER);
JComponent toolbar = initMainToolbar();
add(toolbar, BorderLayout.NORTH);
}
Aggregations