19 package org.sleuthkit.autopsy.discovery.ui;
21 import java.util.ArrayList;
22 import java.util.List;
30 final class ImageFilterPanel
extends AbstractFiltersPanel {
32 private static final long serialVersionUID = 1L;
33 private static final SearchData.
Type TYPE = SearchData.
Type.IMAGE;
38 @ThreadConfined(type = ThreadConfined.ThreadType.AWT)
42 SizeFilterPanel sizeFilterPanel =
new SizeFilterPanel(TYPE);
43 List<SearchData.FileSize> defaultSizes =
new ArrayList<>();
44 defaultSizes.add(SearchData.FileSize.LARGE_IMAGE);
45 defaultSizes.add(SearchData.FileSize.XLARGE_IMAGE);
46 defaultSizes.add(SearchData.FileSize.XXLARGE_IMAGE);
47 addFilter(sizeFilterPanel,
true, defaultSizes, 0);
48 addFilter(
new DataSourceFilterPanel(),
false, null, 0);
49 List<SearchData.Frequency> defaultFrequencies =
new ArrayList<>();
50 if (!CentralRepository.isEnabled()) {
51 defaultFrequencies.add(SearchData.Frequency.UNKNOWN);
53 defaultFrequencies.add(SearchData.Frequency.RARE);
54 defaultFrequencies.add(SearchData.Frequency.UNIQUE);
55 defaultFrequencies.add(SearchData.Frequency.COMMON);
57 addFilter(
new PastOccurrencesFilterPanel(TYPE),
true, defaultFrequencies, 0);
58 addFilter(
new UserCreatedFilterPanel(),
false, null, 0);
59 addFilter(
new HashSetFilterPanel(),
false, null, 1);
60 addFilter(
new InterestingItemsFilterPanel(),
false, null, 1);
61 addFilter(
new ObjectDetectedFilterPanel(),
false, null, 1);
62 addFilter(
new ParentFolderFilterPanel(),
false, null, 1);
63 addPanelsToScrollPane(imageFiltersSplitPane);
72 @SuppressWarnings(
"unchecked")
74 private
void initComponents() {
76 javax.swing.JScrollPane imageFiltersScrollPane =
new javax.swing.JScrollPane();
77 javax.swing.JPanel imageFiltersPanel =
new javax.swing.JPanel();
78 imageFiltersSplitPane =
new javax.swing.JSplitPane();
80 setLayout(
new java.awt.BorderLayout());
82 imageFiltersSplitPane.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(ImageFilterPanel.class,
"ImageFilterPanel.imageFiltersSplitPane.border.title")));
83 imageFiltersSplitPane.setResizeWeight(0.5);
84 imageFiltersSplitPane.setToolTipText(
org.openide.util.NbBundle.getMessage(ImageFilterPanel.class,
"ImageFilterPanel.imageFiltersSplitPane.toolTipText"));
86 javax.swing.GroupLayout imageFiltersPanelLayout =
new javax.swing.GroupLayout(imageFiltersPanel);
87 imageFiltersPanel.setLayout(imageFiltersPanelLayout);
88 imageFiltersPanelLayout.setHorizontalGroup(
89 imageFiltersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
90 .addGroup(imageFiltersPanelLayout.createSequentialGroup()
92 .addComponent(imageFiltersSplitPane)
95 imageFiltersPanelLayout.setVerticalGroup(
96 imageFiltersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
97 .addGroup(imageFiltersPanelLayout.createSequentialGroup()
99 .addComponent(imageFiltersSplitPane)
103 imageFiltersScrollPane.setViewportView(imageFiltersPanel);
105 add(imageFiltersScrollPane, java.awt.BorderLayout.CENTER);
109 SearchData.Type getType() {
114 private javax.swing.JSplitPane imageFiltersSplitPane;
Type(int value, String displayName, Collection< String > mediaTypes, Collection< BlackboardArtifact.ARTIFACT_TYPE > artifactTypes)