19 package org.sleuthkit.autopsy.keywordsearch.multicase;
21 import java.awt.BorderLayout;
22 import java.awt.Component;
23 import org.openide.util.NbBundle.Messages;
24 import org.openide.windows.TopComponent;
25 import org.openide.windows.WindowManager;
26 import org.openide.windows.Mode;
28 @TopComponent.Description(
29 preferredID =
"MultiCaseKeywordSearchTopComponent",
30 persistenceType = TopComponent.PERSISTENCE_NEVER
32 @TopComponent.Registration(mode =
"multiCaseKeywordSearch", openAtStartup =
false)
34 "CTL_MultiCaseKeywordSearchTopComponentAction=Multi-case Keyword Search",
35 "CTL_MultiCaseKeywordSearchTopComponent=Multi-case Keyword Search"})
39 final class MultiCaseKeywordSearchTopComponent extends TopComponent {
41 public final static String PREFERRED_ID =
"MultiCaseKeywordSearchTopComponent";
42 private static final long serialVersionUID = 1L;
43 private static boolean topComponentInitialized =
false;
46 "MultiCaseKeywordSearchTopComponent.exceptionMessage.failedToCreatePanel=Failed to create Multi-case Keyword Search panel.",})
51 static void openTopComponent() {
52 final MultiCaseKeywordSearchTopComponent tc = (MultiCaseKeywordSearchTopComponent) WindowManager.getDefault().findTopComponent(PREFERRED_ID);
54 if (tc.isOpened() ==
false) {
55 topComponentInitialized =
true;
56 Mode mode = WindowManager.getDefault().findMode(
"multiCaseKeywordSearch");
70 static void closeTopComponent() {
71 if (topComponentInitialized) {
72 final TopComponent tc = WindowManager.getDefault().findTopComponent(PREFERRED_ID);
76 }
catch (Exception e) {
83 @Messages({
"MultiCaseKeywordSearchTopComponent.name.text=Multi-case Keyword Search"})
87 MultiCaseKeywordSearchTopComponent() {
89 setName(Bundle.MultiCaseKeywordSearchTopComponent_name_text());
90 setDisplayName(Bundle.MultiCaseKeywordSearchTopComponent_name_text());
91 setToolTipText(Bundle.MultiCaseKeywordSearchTopComponent_name_text());
92 setSize(this.getPreferredSize());
93 setLayout(
new BorderLayout());
94 MultiCaseKeywordSearchPanel searchPanel =
new MultiCaseKeywordSearchPanel();
95 searchPanel.setSize(searchPanel.getPreferredSize());
96 searchPanel.setVisible(
true);
101 public void componentOpened() {
102 super.componentOpened();
103 WindowManager.getDefault().setTopComponentFloating(
this,
true);
107 public boolean canClose() {
108 for (Component component : getComponents()) {
109 if (component instanceof MultiCaseKeywordSearchPanel) {
110 ((MultiCaseKeywordSearchPanel) component).closeSearchPanel();
113 return super.canClose();
122 private void initComponents() {
124 setPreferredSize(
new java.awt.Dimension(1002, 444));
126 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
127 this.setLayout(layout);
128 layout.setHorizontalGroup(
129 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
130 .addGap(0, 902, Short.MAX_VALUE)
132 layout.setVerticalGroup(
133 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
134 .addGap(0, 444, Short.MAX_VALUE)