in plugin/src/com/facebook/buck/plugin/intellij/ui/BuckTargetsPanel.java [69:141]
private void createUIComponents() {
targetsPanel = new JPanel();
targetsPanel.addAncestorListener(new AncestorListener() {
@Override
public void ancestorAdded(AncestorEvent event) {
// If targets have never been fetched, then fetch targets.
if (component.getTargets() == null) {
component.refreshTargetsList();
}
}
@Override
public void ancestorRemoved(AncestorEvent event) {
}
@Override
public void ancestorMoved(AncestorEvent event) {
}
});
// Tree
treeRoot = new TargetNode(TargetNode.Type.DIRECTORY, TREE_ROOT, null);
targetsRoot = new TargetNode(TargetNode.Type.DIRECTORY, TARGETS_ROOT, null);
testsRoot = new TargetNode(TargetNode.Type.DIRECTORY, TESTS_ROOT, null);
tree = new Tree(new DefaultTreeModel(treeRoot));
scrollPane = TargetsTreeRenderer.install(tree);
final MouseInputAdapter mouseListener = new MouseInputAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 2) {
// Double click
TreePath selected = tree.getSelectionPath();
TargetNode targetNode = (TargetNode) selected.getLastPathComponent();
BuckTarget target = targetNode.getTarget();
if (target != null) {
if (targetNode.getType() == TargetNode.Type.JAVA_TEST ||
targetNode.getType() == TargetNode.Type.SH_TEST) {
component.testTarget(target);
} else {
component.buildTarget(target);
}
}
}
}
};
tree.addMouseListener(mouseListener);
// Buttons
refreshTargetsButton = createToolbarIcon();
refreshTargetsButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
component.refreshTargetsList();
}
});
cleanButton = createToolbarIcon();
cleanButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
component.clean();
}
});
testAllButton = createToolbarIcon();
testAllButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
component.testAllTargets();
}
});
}