Autopsy  4.1
Graphical digital forensics platform for The Sleuth Kit and other tools.
FileTypeIdOptionsPanelController.java
Go to the documentation of this file.
1 /*
2  * To change this license header, choose License Headers in Project Properties.
3  * To change this template file, choose Tools | Templates
4  * and open the template in the editor.
5  */
6 package org.sleuthkit.autopsy.modules.filetypeid;
7 
8 import java.beans.PropertyChangeEvent;
9 import java.beans.PropertyChangeListener;
10 import java.beans.PropertyChangeSupport;
11 import javax.swing.JComponent;
12 import org.netbeans.spi.options.OptionsPanelController;
13 import org.openide.util.HelpCtx;
14 import org.openide.util.Lookup;
15 
16 @OptionsPanelController.TopLevelRegistration(
17  categoryName = "#OptionsCategory_Name_FileTypeId",
18  iconBase = "org/sleuthkit/autopsy/modules/filetypeid/user-defined-file-types-settings.png",
19  keywords = "#OptionsCategory_Keywords_FileTypeId",
20  keywordsCategory = "FileTypeId",
21  position = 6
22 )
23 public final class FileTypeIdOptionsPanelController extends OptionsPanelController {
24 
25  private FileTypeIdGlobalSettingsPanel panel;
26  private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
27  private boolean changed;
28 
32  @Override
33  public void update() {
34 
35  getPanel().load();
36  changed = false;
37 
38  }
39 
45  @Override
46  public void applyChanges() {
47  if (changed) {
48  getPanel().store();
49  changed = false;
50  }
51  }
52 
58  @Override
59  public void cancel() {
60  }
61 
62  @Override
63  public boolean isValid() {
64  return true;
65  }
66 
73  @Override
74  public boolean isChanged() {
75  return changed;
76  }
77 
78  @Override
79  public HelpCtx getHelpCtx() {
80  return null;
81  }
82 
83  @Override
84  public JComponent getComponent(Lookup masterLookup) {
85  return getPanel();
86  }
87 
88  @Override
89  public void addPropertyChangeListener(PropertyChangeListener l) {
90  pcs.addPropertyChangeListener(l);
91  }
92 
93  @Override
94  public void removePropertyChangeListener(PropertyChangeListener l) {
95  pcs.removePropertyChangeListener(l);
96  }
97 
98  private FileTypeIdGlobalSettingsPanel getPanel() {
99  if (panel == null) {
100  panel = new FileTypeIdGlobalSettingsPanel();
101  panel.addPropertyChangeListener(new PropertyChangeListener() {
102  @Override
103  public void propertyChange(PropertyChangeEvent evt) {
104  if (evt.getPropertyName().equals(OptionsPanelController.PROP_CHANGED)) {
105  changed();
106  }
107  }
108  });
109  }
110  return panel;
111  }
112 
113  void changed() {
114  if (!changed) {
115  changed = true;
116  pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true);
117  }
118  pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
119  }
120 
121 }

Copyright © 2012-2016 Basis Technology. Generated on: Tue Oct 25 2016
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.