Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
FinderTree.java
1 
16  /*
17  * :tabSize=4:indentSize=4:noTabs=false:
18  * :folding=explicit:collapseFolds=1:
19  */
20 
21 package net.squiz.matrix.matrixtree;
22 
23 import net.squiz.cuetree.*;
24 import net.squiz.matrix.core.*;
25 import net.squiz.matrix.ui.*;
26 import net.squiz.matrix.assetmap.*;
27 
28 import javax.swing.tree.*;
29 import javax.swing.event.*;
30 import javax.swing.*;
31 
32 import java.io.IOException;
33 import java.util.*;
34 import java.net.*;
35 
36 import java.awt.*;
37 import java.awt.event.*;
38 import java.awt.image.*;
39 import java.awt.geom.*;
40 import java.awt.dnd.*;
41 import java.awt.datatransfer.*;
42 
47 public class FinderTree extends MatrixTree {
48 
49  public FinderTree() {
50  super();
51  }
52 
53  public FinderTree(TreeModel model) {
54  super(model);
55  }
56 
57  protected MenuHandler getMenuHandler() {
58  return new FinderMenuHandler();
59  }
60 
61  protected DragHandler getDragHandler() {
62  return null;
63  }
64 
65  protected DropHandler getDropHandler() {
66  return null;
67  }
68 
69  protected CueGestureHandler getCueGestureHandler() {
70  return null;
71  }
72 
73  protected class FinderMenuHandler extends MenuHandler {
74 
75  private ActionListener addMenuListener;
76 
81  public FinderMenuHandler() {
82  addMenuListener = MatrixMenus.getMatrixTreeAddMenuListener(FinderTree.this);
83  }
84 
89  public void mouseClicked(MouseEvent evt) {
90 
91  if (!GUIUtilities.isRightMouseButton(evt))
92  return;
93 
94  JPopupMenu menu = null;
95 
96  if (getPathForLocation(evt.getX(), evt.getY()) == null) {
97  return;
98  } else {
99  TreePath[] selectedPaths = getSelectionPathsForLocation(evt.getX(), evt.getY());
100 
101  if (selectedPaths.length == 1) {
102  setSelectionPaths(selectedPaths);
104  if (MatrixTreeBus.typeIsRestricted(node.getAsset().getType()) && isInAssetFinderMode()) {
105  menu = MatrixMenus.getUseMeMenu(node);
106  }
107  }
108  }
109  if (menu != null)
110  menu.show(FinderTree.this, evt.getX(), evt.getY());
111  }
112 
113 
114  }//end class MenuHandler
115 
116 }//end class FinderTree