mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
94 lines
2.8 KiB
Java
94 lines
2.8 KiB
Java
/*
|
|
* To change this template, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
package edu.wpi.first.tableviewer;
|
|
|
|
import edu.wpi.first.tableviewer.dialog.AddArrayDialog;
|
|
import edu.wpi.first.tableviewer.dialog.AddBooleanDialog;
|
|
import edu.wpi.first.tableviewer.dialog.AddNumberDialog;
|
|
import edu.wpi.first.tableviewer.dialog.AddStringDialog;
|
|
import edu.wpi.first.wpilibj.networktables2.NetworkTableNode;
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.ActionListener;
|
|
import javax.swing.JMenuItem;
|
|
import javax.swing.JPopupMenu;
|
|
import javax.swing.tree.TreePath;
|
|
|
|
/**
|
|
* Responsible for displaying all the data within a NetworkTable, either as
|
|
* LeaefNodes or as BranchNodes.
|
|
*
|
|
* @author Sam
|
|
*/
|
|
public class BranchNode extends AbstractTreeNode {
|
|
|
|
private final String name;
|
|
|
|
public BranchNode(NetworkTableNode node, String key, String name) {
|
|
super(node, key, new TableEntryData(name, null));
|
|
this.name = name;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return name;
|
|
}
|
|
|
|
@Override
|
|
public boolean isLeaf() {
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Creates the {@code JPopupMenu} to display when this node is
|
|
* right-clicked.
|
|
*
|
|
* @param path The path from the root to this branch.
|
|
* @return The menu for this node.
|
|
*/
|
|
public JPopupMenu getMenu(final TreePath path) {
|
|
JPopupMenu popupMenu = new JPopupMenu("Add Items");
|
|
|
|
JMenuItem addArrayItem = new JMenuItem("Add array");
|
|
JMenuItem addBooleanItem = new JMenuItem("Add boolean");
|
|
JMenuItem addNumberItem = new JMenuItem("Add number");
|
|
JMenuItem addStringItem = new JMenuItem("Add string");
|
|
|
|
addArrayItem.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
new AddArrayDialog(path, table).setVisible(true);
|
|
}
|
|
});
|
|
|
|
addBooleanItem.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
new AddBooleanDialog(path, table).setVisible(true);
|
|
}
|
|
});
|
|
|
|
addNumberItem.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
new AddNumberDialog(path, table).setVisible(true);
|
|
}
|
|
});
|
|
|
|
addStringItem.addActionListener(new ActionListener() {
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
new AddStringDialog(path, table).setVisible(true);
|
|
}
|
|
});
|
|
|
|
popupMenu.add(addArrayItem);
|
|
popupMenu.add(addBooleanItem);
|
|
popupMenu.add(addNumberItem);
|
|
popupMenu.add(addStringItem);
|
|
|
|
return popupMenu;
|
|
}
|
|
}
|