kopia lustrzana https://github.com/jameshball/osci-render
Save checkbox information in osci project
rodzic
409ce95733
commit
eae07e3e30
|
@ -766,6 +766,10 @@ public class Controller implements Initializable, FrequencyListener, MidiListene
|
||||||
}
|
}
|
||||||
|
|
||||||
// must be functions, otherwise they are not initialised
|
// must be functions, otherwise they are not initialised
|
||||||
|
private List<CheckBox> checkBoxes() {
|
||||||
|
return List.of(vectorCancellingCheckBox, bitCrushCheckBox, verticalDistortCheckBox,
|
||||||
|
horizontalDistortCheckBox, wobbleCheckBox, smoothCheckBox, traceCheckBox);
|
||||||
|
}
|
||||||
private List<Slider> checkBoxSliders() {
|
private List<Slider> checkBoxSliders() {
|
||||||
return List.of(vectorCancellingSlider, bitCrushSlider, verticalDistortSlider,
|
return List.of(vectorCancellingSlider, bitCrushSlider, verticalDistortSlider,
|
||||||
horizontalDistortSlider, wobbleSlider, smoothSlider, traceSlider);
|
horizontalDistortSlider, wobbleSlider, smoothSlider, traceSlider);
|
||||||
|
@ -809,11 +813,27 @@ public class Controller implements Initializable, FrequencyListener, MidiListene
|
||||||
Element root = document.createElement("project");
|
Element root = document.createElement("project");
|
||||||
document.appendChild(root);
|
document.appendChild(root);
|
||||||
|
|
||||||
|
List<CheckBox> checkBoxes = checkBoxes();
|
||||||
|
List<Slider> checkBoxSliders = checkBoxSliders();
|
||||||
|
List<String> checkBoxLabels = checkBoxLabels();
|
||||||
|
List<Slider> otherSliders = otherSliders();
|
||||||
|
List<String> otherLabels = otherLabels();
|
||||||
|
|
||||||
Element sliders = document.createElement("sliders");
|
Element sliders = document.createElement("sliders");
|
||||||
appendSliders(checkBoxSliders(), checkBoxLabels(), sliders, document);
|
appendSliders(checkBoxSliders, checkBoxLabels, sliders, document);
|
||||||
appendSliders(otherSliders(), otherLabels(), sliders, document);
|
appendSliders(otherSliders, otherLabels, sliders, document);
|
||||||
root.appendChild(sliders);
|
root.appendChild(sliders);
|
||||||
|
|
||||||
|
Element checkBoxesElement = document.createElement("checkBoxes");
|
||||||
|
for (int i = 0; i < checkBoxes.size(); i++) {
|
||||||
|
Element checkBox = document.createElement(checkBoxLabels.get(i));
|
||||||
|
checkBox.appendChild(
|
||||||
|
document.createTextNode(checkBoxes.get(i).selectedProperty().getValue().toString())
|
||||||
|
);
|
||||||
|
checkBoxesElement.appendChild(checkBox);
|
||||||
|
}
|
||||||
|
root.appendChild(checkBoxesElement);
|
||||||
|
|
||||||
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|
||||||
Transformer transformer = transformerFactory.newTransformer();
|
Transformer transformer = transformerFactory.newTransformer();
|
||||||
DOMSource domSource = new DOMSource(document);
|
DOMSource domSource = new DOMSource(document);
|
||||||
|
@ -834,10 +854,22 @@ public class Controller implements Initializable, FrequencyListener, MidiListene
|
||||||
Document doc = documentBuilder.parse(new File("test.osci"));
|
Document doc = documentBuilder.parse(new File("test.osci"));
|
||||||
doc.getDocumentElement().normalize();
|
doc.getDocumentElement().normalize();
|
||||||
|
|
||||||
|
List<CheckBox> checkBoxes = checkBoxes();
|
||||||
|
List<Slider> checkBoxSliders = checkBoxSliders();
|
||||||
|
List<String> checkBoxLabels = checkBoxLabels();
|
||||||
|
List<Slider> otherSliders = otherSliders();
|
||||||
|
List<String> otherLabels = otherLabels();
|
||||||
|
|
||||||
Element root = doc.getDocumentElement();
|
Element root = doc.getDocumentElement();
|
||||||
Element sliders = (Element) root.getElementsByTagName("sliders").item(0);
|
Element sliders = (Element) root.getElementsByTagName("sliders").item(0);
|
||||||
loadSliderValues(checkBoxSliders(), checkBoxLabels(), sliders);
|
loadSliderValues(checkBoxSliders, checkBoxLabels, sliders);
|
||||||
loadSliderValues(otherSliders(), otherLabels(), sliders);
|
loadSliderValues(otherSliders, otherLabels, sliders);
|
||||||
|
|
||||||
|
Element checkBoxesElement = (Element) root.getElementsByTagName("checkBoxes").item(0);
|
||||||
|
for (int i = 0; i < checkBoxes.size(); i++) {
|
||||||
|
String value = checkBoxesElement.getElementsByTagName(checkBoxLabels.get(i)).item(0).getTextContent();
|
||||||
|
checkBoxes.get(i).setSelected(Boolean.parseBoolean(value));
|
||||||
|
}
|
||||||
} catch (ParserConfigurationException | SAXException | IOException e) {
|
} catch (ParserConfigurationException | SAXException | IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue