19 package org.sleuthkit.autopsy.casemodule.multiusercasesbrowser;
21 import java.util.HashMap;
22 import java.util.List;
24 import javax.swing.ListSelectionModel;
25 import javax.swing.event.ListSelectionListener;
26 import org.netbeans.swing.outline.DefaultOutlineModel;
27 import org.netbeans.swing.outline.Outline;
28 import org.openide.explorer.ExplorerManager;
29 import org.openide.util.NbBundle;
30 import org.openide.explorer.view.OutlineView;
42 @SuppressWarnings(
"PMD.SingularField")
45 private static final long serialVersionUID = 1L;
63 this.explorerManager = explorerManager;
64 this.customizer = customizer;
66 outlineView =
new org.openide.explorer.view.OutlineView();
67 outline = this.outlineView.getOutline();
68 configureOutlineView();
69 caseTableScrollPane.add(outlineView);
70 caseTableScrollPane.setViewportView(outlineView);
71 this.setVisible(
true);
76 return explorerManager;
86 Map<Column, SortColumn> sortColumns =
new HashMap<>();
88 sortColumns.put(sortColumn.column(), sortColumn);
90 ((DefaultOutlineModel) outline.getOutlineModel()).setNodesColumnLabel(
Column.
DISPLAY_NAME.getDisplayName());
95 List<Column> sheetProperties = customizer.
getColumns();
96 for (
int index = 0; index < sheetProperties.size(); ++index) {
97 Column property = sheetProperties.get(index);
99 outlineView.addPropertyColumn(propertyName, propertyName, propertyName);
100 if (sortColumns.containsKey(property)) {
101 SortColumn sortColumn = sortColumns.get(property);
109 outline.setRootVisible(
false);
110 outline.setSelectionMode(customizer.
allowMultiSelect() ? ListSelectionModel.MULTIPLE_INTERVAL_SELECTION : ListSelectionModel.SINGLE_SELECTION);
119 outline.getSelectionModel().addListSelectionListener(listener);
127 "MultiUserCasesBrowserPanel.waitNode.message=Please Wait..."
130 explorerManager.setRootContext(
new MultiUserCasesRootNode(customizer));
138 @SuppressWarnings(
"unchecked")
140 private
void initComponents() {
142 caseTableScrollPane =
new javax.swing.JScrollPane();
144 setMinimumSize(
new java.awt.Dimension(0, 5));
145 setPreferredSize(
new java.awt.Dimension(5, 5));
146 setLayout(
new java.awt.BorderLayout());
148 caseTableScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
149 caseTableScrollPane.setMinimumSize(
new java.awt.Dimension(0, 5));
150 caseTableScrollPane.setOpaque(
false);
151 caseTableScrollPane.setPreferredSize(
new java.awt.Dimension(500, 500));
152 add(caseTableScrollPane, java.awt.BorderLayout.CENTER);
List< SortColumn > getSortColumns()
ExplorerManager getExplorerManager()
boolean allowMultiSelect()
final MultiUserCaseBrowserCustomizer customizer
final OutlineView outlineView
void configureOutlineView()
final ExplorerManager explorerManager
final boolean sortAscending
javax.swing.JScrollPane caseTableScrollPane
MultiUserCasesBrowserPanel(ExplorerManager explorerManager, MultiUserCaseBrowserCustomizer customizer)
void addListSelectionListener(ListSelectionListener listener)
List< Column > getColumns()