Search in sources :

Example 6 with Preset

use of blue.orchestra.blueSynthBuilder.Preset in project blue by kunstmusik.

the class PresetsTreeDropTarget method drop.

@Override
public void drop(DropTargetDropEvent dtde) {
    Point pt = dtde.getLocation();
    DropTargetContext dtc = dtde.getDropTargetContext();
    JTree tree = (JTree) dtc.getComponent();
    TreePath parentpath = tree.getClosestPathForLocation(pt.x, pt.y);
    Object node = parentpath.getLastPathComponent();
    if (!(node instanceof PresetGroup)) {
        dtde.rejectDrop();
        return;
    }
    try {
        Transferable tr = dtde.getTransferable();
        DataFlavor[] flavors = tr.getTransferDataFlavors();
        for (int i = 0; i < flavors.length; i++) {
            if (tr.isDataFlavorSupported(flavors[i])) {
                dtde.acceptDrop(dtde.getDropAction());
                Object transferNode = tr.getTransferData(flavors[i]);
                PresetsTreeModel presetsTreeModel = (PresetsTreeModel) tree.getModel();
                PresetGroup parentNode = (PresetGroup) node;
                if (transferNode instanceof Preset) {
                    Preset preset = (Preset) transferNode;
                    // presetsTreeModel.removePreset(preset);
                    presetsTreeModel.addPreset(parentNode, preset);
                    dtde.dropComplete(true);
                } else if (transferNode instanceof PresetGroup) {
                    PresetGroup presetGroup = (PresetGroup) transferNode;
                    // presetsTreeModel.removePresetGroup(presetGroup);
                    presetsTreeModel.addPresetGroup(parentNode, presetGroup);
                    dtde.dropComplete(true);
                } else {
                    dtde.rejectDrop();
                }
                return;
            }
        }
        dtde.rejectDrop();
    } catch (UnsupportedFlavorException | IOException e) {
        e.printStackTrace();
    }
}
Also used : Preset(blue.orchestra.blueSynthBuilder.Preset) DropTargetContext(java.awt.dnd.DropTargetContext) Transferable(java.awt.datatransfer.Transferable) Point(java.awt.Point) IOException(java.io.IOException) UnsupportedFlavorException(java.awt.datatransfer.UnsupportedFlavorException) Point(java.awt.Point) DataFlavor(java.awt.datatransfer.DataFlavor) JTree(javax.swing.JTree) TreePath(javax.swing.tree.TreePath) PresetGroup(blue.orchestra.blueSynthBuilder.PresetGroup)

Example 7 with Preset

use of blue.orchestra.blueSynthBuilder.Preset in project blue by kunstmusik.

the class PresetsUtilities method synchronizePresets.

public static void synchronizePresets(PresetGroup presetGroup, BSBGraphicInterface gInterface) {
    if (presetGroup == null || gInterface == null) {
        System.err.println("Null error in PresetsUtilities");
        return;
    }
    ArrayList<PresetGroup> subGroups = presetGroup.getSubGroups();
    for (int i = 0; i < subGroups.size(); i++) {
        synchronizePresets(subGroups.get(i), gInterface);
    }
    ArrayList<Preset> presets = presetGroup.getPresets();
    for (int i = 0; i < presets.size(); i++) {
        Preset preset = presets.get(i);
        preset.synchronizeWithInterface(gInterface);
    }
}
Also used : Preset(blue.orchestra.blueSynthBuilder.Preset) PresetGroup(blue.orchestra.blueSynthBuilder.PresetGroup)

Aggregations

Preset (blue.orchestra.blueSynthBuilder.Preset)7 PresetGroup (blue.orchestra.blueSynthBuilder.PresetGroup)6 TreePath (javax.swing.tree.TreePath)2 PresetsManagerDialog (blue.orchestra.editor.blueSynthBuilder.PresetsManagerDialog)1 Point (java.awt.Point)1 DataFlavor (java.awt.datatransfer.DataFlavor)1 Transferable (java.awt.datatransfer.Transferable)1 UnsupportedFlavorException (java.awt.datatransfer.UnsupportedFlavorException)1 DropTargetContext (java.awt.dnd.DropTargetContext)1 IOException (java.io.IOException)1 CountDownLatch (java.util.concurrent.CountDownLatch)1 ContextMenu (javafx.scene.control.ContextMenu)1 Menu (javafx.scene.control.Menu)1 MenuItem (javafx.scene.control.MenuItem)1 SeparatorMenuItem (javafx.scene.control.SeparatorMenuItem)1 TextInputDialog (javafx.scene.control.TextInputDialog)1 JTree (javax.swing.JTree)1 TreeModelEvent (javax.swing.event.TreeModelEvent)1