mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-11 01:32:08 +10:00
tree improvements
LP switch added
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -34,8 +34,6 @@ import javax.swing.event.DocumentEvent;
|
||||
import javax.swing.event.DocumentListener;
|
||||
import javax.swing.event.PopupMenuEvent;
|
||||
import javax.swing.event.PopupMenuListener;
|
||||
import javax.swing.event.TreeSelectionEvent;
|
||||
import javax.swing.event.TreeSelectionListener;
|
||||
import javax.swing.tree.DefaultMutableTreeNode;
|
||||
import javax.swing.tree.DefaultTreeCellRenderer;
|
||||
import javax.swing.tree.DefaultTreeModel;
|
||||
@@ -60,6 +58,7 @@ public class TreePanel extends JPanel {
|
||||
|
||||
private DefaultTreeModel treeModel;
|
||||
private JTree tree;
|
||||
private JScrollPane treeScroll;
|
||||
private JTextField searchField;
|
||||
private DefaultMutableTreeNode recentNode;
|
||||
private List<String> recentComponents;
|
||||
@@ -77,17 +76,17 @@ public class TreePanel extends JPanel {
|
||||
gbc.gridy = 0;
|
||||
gbc.fill = GridBagConstraints.HORIZONTAL;
|
||||
gbc.weighty = 0;
|
||||
gbc.gridwidth = 1;
|
||||
|
||||
add(getSearchField(), gbc);
|
||||
|
||||
gbc.gridy++;
|
||||
|
||||
gbc.fill = GridBagConstraints.BOTH;
|
||||
gbc.weighty = 1;
|
||||
gbc.weightx = 1;
|
||||
|
||||
JScrollPane scroll = new JScrollPane(getTree());
|
||||
scroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
add(scroll, gbc);
|
||||
add(getTreeScroll(), gbc);
|
||||
|
||||
setPreferredSize(new Dimension(240, 200));
|
||||
|
||||
@@ -109,6 +108,14 @@ public class TreePanel extends JPanel {
|
||||
getTree().expandRow(0);
|
||||
}
|
||||
|
||||
public JScrollPane getTreeScroll() {
|
||||
if (treeScroll == null) {
|
||||
treeScroll = new JScrollPane(getTree());
|
||||
treeScroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||
}
|
||||
return treeScroll;
|
||||
}
|
||||
|
||||
public DefaultMutableTreeNode getRecentNode() {
|
||||
if (this.recentNode == null) {
|
||||
this.recentNode = new DefaultMutableTreeNode(new Payload("(Recently Used)"), true);
|
||||
@@ -170,31 +177,39 @@ public class TreePanel extends JPanel {
|
||||
tree.setCellRenderer(new ComponentCellRenderer());
|
||||
tree.setRowHeight(0);
|
||||
ToolTipManager.sharedInstance().registerComponent(tree);
|
||||
tree.addTreeSelectionListener(new TreeSelectionListener() {
|
||||
|
||||
@Override
|
||||
public void valueChanged(TreeSelectionEvent e) {
|
||||
Object c = e.getPath().getLastPathComponent();
|
||||
if (c != null && c.getClass().equals(DefaultMutableTreeNode.class)) {
|
||||
DefaultMutableTreeNode node = (DefaultMutableTreeNode) c;
|
||||
Object obj = node.getUserObject();
|
||||
if (obj != null && obj.getClass().equals(Payload.class)) {
|
||||
Payload payload = (Payload) obj;
|
||||
plugInPort.setNewComponentTypeSlot(payload.getComponentType(), null);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
// tree.addTreeSelectionListener(new TreeSelectionListener() {
|
||||
//
|
||||
// @Override
|
||||
// public void valueChanged(TreeSelectionEvent e) {
|
||||
// Object c = e.getPath().getLastPathComponent();
|
||||
// if (c != null && c.getClass().equals(DefaultMutableTreeNode.class)) {
|
||||
// DefaultMutableTreeNode node = (DefaultMutableTreeNode) c;
|
||||
// Object obj = node.getUserObject();
|
||||
// if (obj != null && obj.getClass().equals(Payload.class)) {
|
||||
// Payload payload = (Payload) obj;
|
||||
// plugInPort.setNewComponentTypeSlot(payload.getComponentType(), null);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
|
||||
tree.addMouseListener(new MouseAdapter() {
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
|
||||
if (SwingUtilities.isRightMouseButton(e)) {
|
||||
int row = tree.getClosestRowForLocation(e.getX(), e.getY());
|
||||
tree.setSelectionRow(row);
|
||||
getPopup().show(e.getComponent(), e.getX(), e.getY());
|
||||
} else {
|
||||
TreePath path = tree.getClosestPathForLocation(e.getX(), e.getY());
|
||||
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
|
||||
if (node != null && node.getUserObject() != null) {
|
||||
Payload payload = (Payload) node.getUserObject();
|
||||
if (payload.getComponentType() != null) {
|
||||
plugInPort.setNewComponentTypeSlot(payload.getComponentType(), null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1458,14 +1458,22 @@
|
||||
<changeType>NEW_FEATURE</changeType>
|
||||
<description>Searchable toolbox tree instead of the old toolbar (can be changed from "Config" menu)</description>
|
||||
</org.diylc.appframework.update.Change>
|
||||
<org.diylc.appframework.update.Change>
|
||||
<changeType>NEW_FEATURE</changeType>
|
||||
<description>LP-style switch added</description>
|
||||
</org.diylc.appframework.update.Change>
|
||||
<org.diylc.appframework.update.Change>
|
||||
<changeType>NEW_FEATURE</changeType>
|
||||
<description>P-90 pickup in both "dog ear" and "soap bar" variations added</description>
|
||||
</org.diylc.appframework.update.Change>
|
||||
<org.diylc.appframework.update.Change>
|
||||
<changeType>NEW_FEATURE</changeType>
|
||||
<description>Mini humbucker pickup added</description>
|
||||
<description>Mini humbucker pickup added as a variation of Humbucker pickup</description>
|
||||
</org.diylc.appframework.update.Change>
|
||||
<org.diylc.appframework.update.Change>
|
||||
<changeType>IMPROVEMENT</changeType>
|
||||
<description>Improved guitar pickup look</description>
|
||||
</org.diylc.appframework.update.Change>
|
||||
<org.diylc.appframework.update.Change>
|
||||
<changeType>BUG_FIX</changeType>
|
||||
<description>Fixed broken links in the Help menu</description>
|
||||
|
||||
Reference in New Issue
Block a user