19 package org.sleuthkit.autopsy.corecomponents;
 
   21 import java.awt.CardLayout;
 
   22 import java.awt.Component;
 
   23 import java.awt.Dimension;
 
   24 import java.util.List;
 
   25 import java.util.logging.Level;
 
   26 import org.openide.nodes.Node;
 
   27 import org.openide.util.NbBundle;
 
   28 import org.openide.util.lookup.ServiceProvider;
 
   29 import org.openide.util.lookup.ServiceProviders;
 
   33 import org.
sleuthkit.datamodel.TskData.TSK_FS_NAME_FLAG_ENUM;
 
   38 @ServiceProviders(value = {
 
   39     @ServiceProvider(service = DataContentViewer.class, position = 5)
 
   51     private static final String IMAGE_VIEWER_LAYER = 
"IMAGE"; 
 
   52     private static final String VIDEO_VIEWER_LAYER = 
"VIDEO"; 
 
   63         videoPanelInited = videoPanel.
isInited();
 
   66         imagePanelInited = imagePanel.
isInited();
 
   68         customizeComponents();
 
   69         logger.log(Level.INFO, 
"Created MediaView instance: {0}", 
this); 
 
   73         add(imagePanel, IMAGE_VIEWER_LAYER);
 
   74         add(videoPanel, VIDEO_VIEWER_LAYER);
 
   76         showVideoPanel(
false);
 
   84     @SuppressWarnings(
"unchecked")
 
   86     private 
void initComponents() {
 
   88         setLayout(
new java.awt.CardLayout());
 
   89         getAccessibleContext().setAccessibleDescription(
org.openide.util.NbBundle.getMessage(
DataContentViewerMedia.class, 
"DataContentViewerMedia.AccessibleContext.accessibleDescription")); 
 
   97             if (selectedNode == null) {
 
  102             AbstractFile file = selectedNode.getLookup().lookup(AbstractFile.class);
 
  108             if (file.equals(lastFile)) {
 
  116             if (videoPanelInited && videoPanel.
isSupported(file)) {
 
  117                 videoPanel.setupVideo(file, dims);
 
  118                 this.showVideoPanel(
true);
 
  119             } 
else if (imagePanelInited && imagePanel.
isSupported(file)) {
 
  120                 imagePanel.showImageFx(file, dims);
 
  121                 this.showVideoPanel(
false);
 
  123         } 
catch (Exception e) {
 
  124             logger.log(Level.SEVERE, 
"Exception while setting node", e); 
 
  134         CardLayout layout = (CardLayout) this.getLayout();
 
  136             layout.show(
this, VIDEO_VIEWER_LAYER);
 
  138             layout.show(
this, IMAGE_VIEWER_LAYER);
 
  144         return NbBundle.getMessage(this.getClass(), 
"DataContentViewerMedia.title");
 
  149         return NbBundle.getMessage(this.getClass(), 
"DataContentViewerMedia.toolTip");
 
  177         if (null == file || file.getSize() == 0) {
 
  191         if (null == file || file.getSize() == 0) {
 
  204         AbstractFile file = node.getLookup().lookup(AbstractFile.class);
 
  209         if (file.getSize() == 0) {
 
  213         if (imagePanelInited && isImageSupported(file)) {
 
  217         return videoPanelInited && isVideoSupported(file);
 
  223         AbstractFile file = node.getLookup().lookup(AbstractFile.class);
 
  227         boolean deleted = file.isDirNameFlagSet(TSK_FS_NAME_FLAG_ENUM.UNALLOC);
 
  236     interface MediaViewPanel {
 
  241         List<String> getMimeTypes();
 
  248         List<String> getExtensionsList();
 
  250         boolean isSupported(AbstractFile file);
 
boolean isVideoSupported(AbstractFile file)
final MediaViewVideoPanel videoPanel
void showVideoPanel(boolean showVideo)
boolean isImageSupported(AbstractFile file)
final boolean videoPanelInited
DataContentViewer createInstance()
void customizeComponents()
boolean isSupported(Node node)
final boolean imagePanelInited
int isPreferred(Node node)
final MediaViewImagePanel imagePanel
void setNode(Node selectedNode)
synchronized static Logger getLogger(String name)