Fix drag-n-drop for app. Add drag-n-drop for RCM tab
This commit is contained in:
parent
6b6bf8320f
commit
8eb05bb1b5
7 changed files with 134 additions and 64 deletions
|
@ -6,6 +6,8 @@ import javafx.concurrent.Task;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.Initializable;
|
import javafx.fxml.Initializable;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
|
import javafx.scene.input.DragEvent;
|
||||||
|
import javafx.scene.input.TransferMode;
|
||||||
import javafx.scene.layout.AnchorPane;
|
import javafx.scene.layout.AnchorPane;
|
||||||
import javafx.scene.layout.Region;
|
import javafx.scene.layout.Region;
|
||||||
import javafx.stage.DirectoryChooser;
|
import javafx.stage.DirectoryChooser;
|
||||||
|
@ -285,6 +287,39 @@ public class FrontController implements Initializable {
|
||||||
usbNetCommunications.cancel(false);
|
usbNetCommunications.cancel(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Drag-n-drop support (dragOver consumer)
|
||||||
|
* */
|
||||||
|
@FXML
|
||||||
|
private void handleDragOver(DragEvent event){
|
||||||
|
if (event.getDragboard().hasFiles())
|
||||||
|
event.acceptTransferModes(TransferMode.ANY);
|
||||||
|
event.consume();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Drag-n-drop support (drop consumer)
|
||||||
|
* */
|
||||||
|
@FXML
|
||||||
|
private void handleDrop(DragEvent event){
|
||||||
|
if (MediatorControl.getInstance().getTransferActive()) {
|
||||||
|
event.setDropCompleted(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
List<File> filesDropped = event.getDragboard().getFiles();
|
||||||
|
|
||||||
|
if (getSelectedProtocol().equals("TinFoil") && MediatorControl.getInstance().getContoller().getSettingsCtrlr().getTfXciNszXczSupport())
|
||||||
|
filesDropped.removeIf(file -> ! file.getName().toLowerCase().matches("(.*\\.nsp$)|(.*\\.xci$)|(.*\\.nsz$)|(.*\\.xcz$)"));
|
||||||
|
else if (getSelectedProtocol().equals("GoldLeaf") && (! MediatorControl.getInstance().getContoller().getSettingsCtrlr().getNSPFileFilterForGL()))
|
||||||
|
filesDropped.removeIf(file -> (file.isDirectory() && ! file.getName().toLowerCase().matches(".*\\.nsp$")));
|
||||||
|
else
|
||||||
|
filesDropped.removeIf(file -> ! file.getName().toLowerCase().matches(".*\\.nsp$"));
|
||||||
|
|
||||||
|
if ( ! filesDropped.isEmpty() )
|
||||||
|
tableFilesListController.setFiles(filesDropped);
|
||||||
|
|
||||||
|
event.setDropCompleted(true);
|
||||||
|
event.consume();
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* This thing modify UI for reusing 'Upload to NS' button and make functionality set for "Stop transmission"
|
* This thing modify UI for reusing 'Upload to NS' button and make functionality set for "Stop transmission"
|
||||||
* Called from mediator
|
* Called from mediator
|
||||||
|
|
|
@ -5,12 +5,9 @@ import javafx.concurrent.Task;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.Initializable;
|
import javafx.fxml.Initializable;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.input.DragEvent;
|
|
||||||
import javafx.scene.input.TransferMode;
|
|
||||||
import nsusbloader.*;
|
import nsusbloader.*;
|
||||||
import nsusbloader.ModelControllers.UpdatesChecker;
|
import nsusbloader.ModelControllers.UpdatesChecker;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.net.*;
|
import java.net.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
@ -78,38 +75,6 @@ public class NSLMainController implements Initializable {
|
||||||
* */
|
* */
|
||||||
public void setHostServices(HostServices hs ){ SettingsTabController.registerHostServices(hs);}
|
public void setHostServices(HostServices hs ){ SettingsTabController.registerHostServices(hs);}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Drag-n-drop support (dragOver consumer)
|
|
||||||
* */
|
|
||||||
@FXML
|
|
||||||
private void handleDragOver(DragEvent event){
|
|
||||||
if (event.getDragboard().hasFiles())
|
|
||||||
event.acceptTransferModes(TransferMode.ANY);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* Drag-n-drop support (drop consumer)
|
|
||||||
* */
|
|
||||||
@FXML
|
|
||||||
private void handleDrop(DragEvent event){
|
|
||||||
if (MediatorControl.getInstance().getTransferActive()) {
|
|
||||||
event.setDropCompleted(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
List<File> filesDropped = event.getDragboard().getFiles();
|
|
||||||
|
|
||||||
if (FrontTabController.getSelectedProtocol().equals("TinFoil") && SettingsTabController.getTfXciNszXczSupport())
|
|
||||||
filesDropped.removeIf(file -> ! file.getName().toLowerCase().matches("(.*\\.nsp$)|(.*\\.xci$)|(.*\\.nsz$)|(.*\\.xcz$)"));
|
|
||||||
else if (FrontTabController.getSelectedProtocol().equals("GoldLeaf") && (! SettingsTabController.getNSPFileFilterForGL()))
|
|
||||||
filesDropped.removeIf(file -> (file.isDirectory() && ! file.getName().toLowerCase().matches(".*\\.nsp$")));
|
|
||||||
else
|
|
||||||
filesDropped.removeIf(file -> ! file.getName().toLowerCase().matches(".*\\.nsp$"));
|
|
||||||
|
|
||||||
if ( ! filesDropped.isEmpty() )
|
|
||||||
FrontTabController.tableFilesListController.setFiles(filesDropped);
|
|
||||||
|
|
||||||
event.setDropCompleted(true);
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Get 'Settings' controller
|
* Get 'Settings' controller
|
||||||
* Used by FrontController
|
* Used by FrontController
|
||||||
|
|
|
@ -9,7 +9,9 @@ import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.RadioButton;
|
import javafx.scene.control.RadioButton;
|
||||||
import javafx.scene.control.ToggleGroup;
|
import javafx.scene.control.ToggleGroup;
|
||||||
|
import javafx.scene.input.DragEvent;
|
||||||
import javafx.scene.input.MouseEvent;
|
import javafx.scene.input.MouseEvent;
|
||||||
|
import javafx.scene.input.TransferMode;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.stage.FileChooser;
|
import javafx.stage.FileChooser;
|
||||||
import nsusbloader.AppPreferences;
|
import nsusbloader.AppPreferences;
|
||||||
|
@ -50,7 +52,7 @@ public class RcmController implements Initializable {
|
||||||
private Label statusLbl;
|
private Label statusLbl;
|
||||||
|
|
||||||
private ResourceBundle rb;
|
private ResourceBundle rb;
|
||||||
|
private String myRegexp;
|
||||||
@Override
|
@Override
|
||||||
public void initialize(URL url, ResourceBundle resourceBundle) {
|
public void initialize(URL url, ResourceBundle resourceBundle) {
|
||||||
this.rb = resourceBundle;
|
this.rb = resourceBundle;
|
||||||
|
@ -67,11 +69,10 @@ public class RcmController implements Initializable {
|
||||||
String recentRcm4 = AppPreferences.getInstance().getRecentRcm(4);
|
String recentRcm4 = AppPreferences.getInstance().getRecentRcm(4);
|
||||||
String recentRcm5 = AppPreferences.getInstance().getRecentRcm(5);
|
String recentRcm5 = AppPreferences.getInstance().getRecentRcm(5);
|
||||||
|
|
||||||
String myRegexp;
|
|
||||||
if (File.separator.equals("/"))
|
if (File.separator.equals("/"))
|
||||||
myRegexp = "^.+/";
|
this.myRegexp = "^.+/";
|
||||||
else
|
else
|
||||||
myRegexp = "^.+\\\\";
|
this.myRegexp = "^.+\\\\";
|
||||||
|
|
||||||
if (! recentRcm1.isEmpty()) {
|
if (! recentRcm1.isEmpty()) {
|
||||||
payloadFNameLbl1.setText(recentRcm1.replaceAll(myRegexp, ""));
|
payloadFNameLbl1.setText(recentRcm1.replaceAll(myRegexp, ""));
|
||||||
|
@ -98,6 +99,81 @@ public class RcmController implements Initializable {
|
||||||
injectPldBtn.setOnAction(actionEvent -> smash());
|
injectPldBtn.setOnAction(actionEvent -> smash());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Drag-n-drop support (dragOver consumer)
|
||||||
|
* */
|
||||||
|
@FXML
|
||||||
|
private void handleDragOver(DragEvent event){
|
||||||
|
if (event.getDragboard().hasFiles())
|
||||||
|
event.acceptTransferModes(TransferMode.ANY);
|
||||||
|
event.consume();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Drag-n-drop support (drop consumer)
|
||||||
|
* */
|
||||||
|
@FXML
|
||||||
|
private void handleDrop(DragEvent event){
|
||||||
|
Node sourceNode = (Node) event.getSource();
|
||||||
|
File fileDrpd = event.getDragboard().getFiles().get(0);
|
||||||
|
|
||||||
|
if (fileDrpd.isDirectory()){
|
||||||
|
event.setDropCompleted(true);
|
||||||
|
event.consume();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String fileNameDrpd = fileDrpd.getAbsolutePath();
|
||||||
|
|
||||||
|
switch (sourceNode.getId()){
|
||||||
|
case "plHbox1":
|
||||||
|
setPayloadFile( 1, fileNameDrpd);
|
||||||
|
break;
|
||||||
|
case "plHbox2":
|
||||||
|
setPayloadFile( 2, fileNameDrpd);
|
||||||
|
break;
|
||||||
|
case "plHbox3":
|
||||||
|
setPayloadFile( 3, fileNameDrpd);
|
||||||
|
break;
|
||||||
|
case "plHbox4":
|
||||||
|
setPayloadFile( 4, fileNameDrpd);
|
||||||
|
break;
|
||||||
|
case "plHbox5":
|
||||||
|
setPayloadFile( 5, fileNameDrpd);
|
||||||
|
}
|
||||||
|
event.setDropCompleted(true);
|
||||||
|
event.consume();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPayloadFile(int RcmBoxNo, String fileName){
|
||||||
|
String fileNameShort = fileName.replaceAll(myRegexp, "");
|
||||||
|
switch (RcmBoxNo){
|
||||||
|
case 1:
|
||||||
|
payloadFNameLbl1.setText(fileNameShort);
|
||||||
|
payloadFPathLbl1.setText(fileName);
|
||||||
|
rcmToggleGrp.selectToggle(pldrRadio1);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
payloadFNameLbl2.setText(fileNameShort);
|
||||||
|
payloadFPathLbl2.setText(fileName);
|
||||||
|
rcmToggleGrp.selectToggle(pldrRadio2);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
payloadFNameLbl3.setText(fileNameShort);
|
||||||
|
payloadFPathLbl3.setText(fileName);
|
||||||
|
rcmToggleGrp.selectToggle(pldrRadio3);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
payloadFNameLbl4.setText(fileNameShort);
|
||||||
|
payloadFPathLbl4.setText(fileName);
|
||||||
|
rcmToggleGrp.selectToggle(pldrRadio4);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
payloadFNameLbl5.setText(fileNameShort);
|
||||||
|
payloadFPathLbl5.setText(fileName);
|
||||||
|
rcmToggleGrp.selectToggle(pldrRadio5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void smash(){
|
private void smash(){
|
||||||
statusLbl.setText("");
|
statusLbl.setText("");
|
||||||
if (MediatorControl.getInstance().getTransferActive()) {
|
if (MediatorControl.getInstance().getTransferActive()) {
|
||||||
|
@ -149,37 +225,31 @@ public class RcmController implements Initializable {
|
||||||
else
|
else
|
||||||
fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));
|
fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));
|
||||||
|
|
||||||
fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("bin", "*.bin"));
|
fileChooser.getExtensionFilters().addAll(
|
||||||
|
new FileChooser.ExtensionFilter("bin", "*.bin"),
|
||||||
|
new FileChooser.ExtensionFilter("Any file", "*.*")
|
||||||
|
);
|
||||||
|
|
||||||
File payloadFile = fileChooser.showOpenDialog(payloadFPathLbl1.getScene().getWindow());
|
File payloadFile = fileChooser.showOpenDialog(payloadFPathLbl1.getScene().getWindow());
|
||||||
if (payloadFile != null) {
|
if (payloadFile != null) {
|
||||||
|
final String fullFileName = payloadFile.getAbsolutePath();
|
||||||
final Node btn = (Node)event.getSource();
|
final Node btn = (Node)event.getSource();
|
||||||
|
|
||||||
switch (btn.getId()){
|
switch (btn.getId()){
|
||||||
case "selPldBtn1":
|
case "selPldBtn1":
|
||||||
payloadFNameLbl1.setText(payloadFile.getName());
|
setPayloadFile(1, fullFileName);
|
||||||
payloadFPathLbl1.setText(payloadFile.getAbsolutePath());
|
|
||||||
rcmToggleGrp.selectToggle(pldrRadio1);
|
|
||||||
break;
|
break;
|
||||||
case "selPldBtn2":
|
case "selPldBtn2":
|
||||||
payloadFNameLbl2.setText(payloadFile.getName());
|
setPayloadFile(2, fullFileName);
|
||||||
payloadFPathLbl2.setText(payloadFile.getAbsolutePath());
|
|
||||||
rcmToggleGrp.selectToggle(pldrRadio2);
|
|
||||||
break;
|
break;
|
||||||
case "selPldBtn3":
|
case "selPldBtn3":
|
||||||
payloadFNameLbl3.setText(payloadFile.getName());
|
setPayloadFile(3, fullFileName);
|
||||||
payloadFPathLbl3.setText(payloadFile.getAbsolutePath());
|
|
||||||
rcmToggleGrp.selectToggle(pldrRadio3);
|
|
||||||
break;
|
break;
|
||||||
case "selPldBtn4":
|
case "selPldBtn4":
|
||||||
payloadFNameLbl4.setText(payloadFile.getName());
|
setPayloadFile(4, fullFileName);
|
||||||
payloadFPathLbl4.setText(payloadFile.getAbsolutePath());
|
|
||||||
rcmToggleGrp.selectToggle(pldrRadio4);
|
|
||||||
break;
|
break;
|
||||||
case "selPldBtn5":
|
case "selPldBtn5":
|
||||||
payloadFNameLbl5.setText(payloadFile.getName());
|
setPayloadFile(5, fullFileName);
|
||||||
payloadFPathLbl5.setText(payloadFile.getAbsolutePath());
|
|
||||||
rcmToggleGrp.selectToggle(pldrRadio5);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,7 +179,7 @@ public class RcmTask extends Task<Boolean> {
|
||||||
totalSize += 4096;
|
totalSize += 4096;
|
||||||
// Double-check
|
// Double-check
|
||||||
if (totalSize > 0x30298){
|
if (totalSize > 0x30298){
|
||||||
logPrinter.print("File size of the payload is too bit. Comparing to maximum size, it's greater to "+(totalSize - 0x30298)+" bytes!"+
|
logPrinter.print("File size of the payload is too big. Comparing to maximum size, it's greater to "+(totalSize - 0x30298)+" bytes!"+
|
||||||
"\n 1. Double-check that you're using the right payload." +
|
"\n 1. Double-check that you're using the right payload." +
|
||||||
"\n 2. Please report this issue in case you're sure that you're doing everything right." +
|
"\n 2. Please report this issue in case you're sure that you're doing everything right." +
|
||||||
"\n\n Nothing has been sent to NS. Execution stopped.", EMsgType.FAIL); // Occurs: never. I'm too lazy to check.
|
"\n\n Nothing has been sent to NS. Execution stopped.", EMsgType.FAIL); // Occurs: never. I'm too lazy to check.
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.shape.SVGPath?>
|
<?import javafx.scene.shape.SVGPath?>
|
||||||
|
|
||||||
<AnchorPane fx:id="usbNetPane" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1" fx:controller="nsusbloader.Controllers.FrontController">
|
<AnchorPane fx:id="usbNetPane" onDragDropped="#handleDrop" onDragOver="#handleDragOver" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1" fx:controller="nsusbloader.Controllers.FrontController">
|
||||||
<children>
|
<children>
|
||||||
<VBox layoutX="10.0" layoutY="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<VBox layoutX="10.0" layoutY="10.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
<children>
|
<children>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.shape.SVGPath?>
|
<?import javafx.scene.shape.SVGPath?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" onDragDropped="#handleDrop" onDragOver="#handleDragOver" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1" fx:controller="nsusbloader.Controllers.NSLMainController">
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1" fx:controller="nsusbloader.Controllers.NSLMainController">
|
||||||
<children>
|
<children>
|
||||||
<VBox AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<VBox AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
<children>
|
<children>
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
<VBox spacing="8.0">
|
<VBox spacing="8.0">
|
||||||
<children>
|
<children>
|
||||||
<Label text="Payload: " />
|
<Label text="Payload: " />
|
||||||
<HBox alignment="CENTER_LEFT" spacing="5.0">
|
<HBox fx:id="plHbox1" alignment="CENTER_LEFT" onDragDropped="#handleDrop" onDragOver="#handleDragOver" spacing="5.0">
|
||||||
<children>
|
<children>
|
||||||
<RadioButton fx:id="pldrRadio1" mnemonicParsing="false">
|
<RadioButton fx:id="pldrRadio1" mnemonicParsing="false">
|
||||||
<toggleGroup>
|
<toggleGroup>
|
||||||
|
@ -76,7 +76,7 @@
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<Separator prefWidth="200.0" />
|
<Separator prefWidth="200.0" />
|
||||||
<HBox alignment="CENTER_LEFT" spacing="5.0">
|
<HBox fx:id="plHbox2" alignment="CENTER_LEFT" onDragDropped="#handleDrop" onDragOver="#handleDragOver" spacing="5.0">
|
||||||
<children>
|
<children>
|
||||||
<RadioButton fx:id="pldrRadio2" mnemonicParsing="false" toggleGroup="$rcmToggleGrp" />
|
<RadioButton fx:id="pldrRadio2" mnemonicParsing="false" toggleGroup="$rcmToggleGrp" />
|
||||||
<VBox fx:id="pldPane2" onMouseClicked="#selectPldrPane" HBox.hgrow="ALWAYS">
|
<VBox fx:id="pldPane2" onMouseClicked="#selectPldrPane" HBox.hgrow="ALWAYS">
|
||||||
|
@ -105,7 +105,7 @@
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<Separator prefWidth="200.0" />
|
<Separator prefWidth="200.0" />
|
||||||
<HBox alignment="CENTER_LEFT" spacing="5.0">
|
<HBox fx:id="plHbox3" alignment="CENTER_LEFT" onDragDropped="#handleDrop" onDragOver="#handleDragOver" spacing="5.0">
|
||||||
<children>
|
<children>
|
||||||
<RadioButton fx:id="pldrRadio3" mnemonicParsing="false" toggleGroup="$rcmToggleGrp" />
|
<RadioButton fx:id="pldrRadio3" mnemonicParsing="false" toggleGroup="$rcmToggleGrp" />
|
||||||
<VBox fx:id="pldPane3" onMouseClicked="#selectPldrPane" HBox.hgrow="ALWAYS">
|
<VBox fx:id="pldPane3" onMouseClicked="#selectPldrPane" HBox.hgrow="ALWAYS">
|
||||||
|
@ -134,7 +134,7 @@
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<Separator prefWidth="200.0" />
|
<Separator prefWidth="200.0" />
|
||||||
<HBox alignment="CENTER_LEFT" spacing="5.0">
|
<HBox fx:id="plHbox4" alignment="CENTER_LEFT" onDragDropped="#handleDrop" onDragOver="#handleDragOver" spacing="5.0">
|
||||||
<children>
|
<children>
|
||||||
<RadioButton fx:id="pldrRadio4" mnemonicParsing="false" toggleGroup="$rcmToggleGrp" />
|
<RadioButton fx:id="pldrRadio4" mnemonicParsing="false" toggleGroup="$rcmToggleGrp" />
|
||||||
<VBox fx:id="pldPane4" onMouseClicked="#selectPldrPane" HBox.hgrow="ALWAYS">
|
<VBox fx:id="pldPane4" onMouseClicked="#selectPldrPane" HBox.hgrow="ALWAYS">
|
||||||
|
@ -163,7 +163,7 @@
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
<Separator prefWidth="200.0" />
|
<Separator prefWidth="200.0" />
|
||||||
<HBox alignment="CENTER_LEFT" spacing="5.0">
|
<HBox fx:id="plHbox5" alignment="CENTER_LEFT" onDragDropped="#handleDrop" onDragOver="#handleDragOver" spacing="5.0">
|
||||||
<children>
|
<children>
|
||||||
<RadioButton fx:id="pldrRadio5" mnemonicParsing="false" toggleGroup="$rcmToggleGrp" />
|
<RadioButton fx:id="pldrRadio5" mnemonicParsing="false" toggleGroup="$rcmToggleGrp" />
|
||||||
<VBox fx:id="pldPane5" onMouseClicked="#selectPldrPane" HBox.hgrow="ALWAYS">
|
<VBox fx:id="pldPane5" onMouseClicked="#selectPldrPane" HBox.hgrow="ALWAYS">
|
||||||
|
|
Loading…
Reference in a new issue