mirror of https://github.com/rusefi/rusefi-1.git
it mostly works!
This commit is contained in:
parent
4e115c12c1
commit
2fbecab905
|
@ -0,0 +1,60 @@
|
||||||
|
package com.rusefi;
|
||||||
|
|
||||||
|
import com.rusefi.xml.*;
|
||||||
|
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public class MdGenerator {
|
||||||
|
static String FOLDER;
|
||||||
|
|
||||||
|
private static final String EOL = "\r\n";
|
||||||
|
|
||||||
|
public static void main(String[] args) throws Exception {
|
||||||
|
// FOLDER = "images/";
|
||||||
|
FOLDER = "overview/TS_generated/";
|
||||||
|
|
||||||
|
ContentModel contentModel = XmlUtil.readModel();
|
||||||
|
|
||||||
|
FileWriter md = new FileWriter("rusEFI_project.md");
|
||||||
|
|
||||||
|
for (TopLevelMenuModel topLevelMenuModel : contentModel.getTopLevelMenus()) {
|
||||||
|
md.append("# " + topLevelMenuModel.getTitle() + EOL);
|
||||||
|
md.append(getImageTag(topLevelMenuModel.getImageName()));
|
||||||
|
md.append(EOL);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (TopLevelMenuModel topLevelMenuModel : contentModel.getTopLevelMenus()) {
|
||||||
|
|
||||||
|
md.append("# " + topLevelMenuModel.getTitle() + EOL);
|
||||||
|
|
||||||
|
for (DialogModel dialogModel : topLevelMenuModel.getDialogs()) {
|
||||||
|
appendDialog(md, dialogModel);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
md.write(EOL);
|
||||||
|
md.write("generated by " + MdGenerator.class + " on " + new Date());
|
||||||
|
md.write(EOL);
|
||||||
|
md.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void appendDialog(FileWriter md, DialogModel dialogModel) throws IOException {
|
||||||
|
md.append(getImageTag(dialogModel.getImageName()));
|
||||||
|
for (FieldModel fieldModel : dialogModel.fields) {
|
||||||
|
String tooltip = fieldModel.getTooltip();
|
||||||
|
|
||||||
|
if (tooltip.length() > 0) {
|
||||||
|
md.append(fieldModel.getUiName() + ": " + tooltip + EOL + EOL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getImageTag(String imageName) {
|
||||||
|
String IMG_SUFFIX = ")" + EOL;
|
||||||
|
String IMG_PREFIX = "![x](";
|
||||||
|
|
||||||
|
return IMG_PREFIX + FOLDER + imageName + IMG_SUFFIX;
|
||||||
|
}
|
||||||
|
}
|
|
@ -57,6 +57,8 @@ public class ScreenGenerator {
|
||||||
|
|
||||||
System.out.println("Done discovering buttons, " + topLevelButtons.size());
|
System.out.println("Done discovering buttons, " + topLevelButtons.size());
|
||||||
|
|
||||||
|
Thread.sleep(2 * WAITING_FOR_FRAME_PERIOD); // we have this sleep to avoid an artifact on first screenshot
|
||||||
|
|
||||||
handleTopLevelButtons(mainFrame, topLevelButtons);
|
handleTopLevelButtons(mainFrame, topLevelButtons);
|
||||||
|
|
||||||
XmlUtil.writeXml(contentModel);
|
XmlUtil.writeXml(contentModel);
|
||||||
|
|
|
@ -24,4 +24,11 @@ public class ContentModel {
|
||||||
public String getVersion() {
|
public String getVersion() {
|
||||||
return "Generated by " + ScreenGenerator.class + " on " + new Date();
|
return "Generated by " + ScreenGenerator.class + " on " + new Date();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "ContentModel{" +
|
||||||
|
"menus=" + menus +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,12 +7,15 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class DialogModel {
|
public class DialogModel {
|
||||||
private final String dialogTitle;
|
private String dialogTitle;
|
||||||
private final String imageName;
|
private String imageName;
|
||||||
@XmlElementWrapper
|
@XmlElementWrapper
|
||||||
@XmlElement(name = "field")
|
@XmlElement(name = "field")
|
||||||
public List<FieldModel> fields = new ArrayList<>();
|
public List<FieldModel> fields = new ArrayList<>();
|
||||||
|
|
||||||
|
public DialogModel() {
|
||||||
|
}
|
||||||
|
|
||||||
public DialogModel(String dialogTitle, String imageName) {
|
public DialogModel(String dialogTitle, String imageName) {
|
||||||
this.dialogTitle = dialogTitle;
|
this.dialogTitle = dialogTitle;
|
||||||
this.imageName = imageName;
|
this.imageName = imageName;
|
||||||
|
@ -23,8 +26,25 @@ public class DialogModel {
|
||||||
return imageName;
|
return imageName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setImageName(String imageName) {
|
||||||
|
this.imageName = imageName;
|
||||||
|
}
|
||||||
|
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
public String getDialogTitle() {
|
public String getDialogTitle() {
|
||||||
return dialogTitle;
|
return dialogTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDialogTitle(String dialogTitle) {
|
||||||
|
this.dialogTitle = dialogTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "DialogModel{" +
|
||||||
|
"dialogTitle='" + dialogTitle + '\'' +
|
||||||
|
", imageName='" + imageName + '\'' +
|
||||||
|
", fields=" + fields +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,10 +4,13 @@ import javax.xml.bind.annotation.XmlAttribute;
|
||||||
|
|
||||||
public class FieldModel {
|
public class FieldModel {
|
||||||
|
|
||||||
private final String uiName;
|
private String uiName;
|
||||||
private final String fieldName;
|
private String fieldName;
|
||||||
private final String imageName;
|
private String imageName;
|
||||||
private final String tooltip;
|
private String tooltip;
|
||||||
|
|
||||||
|
public FieldModel() {
|
||||||
|
}
|
||||||
|
|
||||||
public FieldModel(String uiName, String fieldName, String fileName, String tooltip) {
|
public FieldModel(String uiName, String fieldName, String fileName, String tooltip) {
|
||||||
this.uiName = uiName;
|
this.uiName = uiName;
|
||||||
|
@ -21,18 +24,44 @@ public class FieldModel {
|
||||||
return uiName;
|
return uiName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setUiName(String uiName) {
|
||||||
|
this.uiName = uiName;
|
||||||
|
}
|
||||||
|
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
public String getFieldName() {
|
public String getFieldName() {
|
||||||
return fieldName;
|
return fieldName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setFieldName(String fieldName) {
|
||||||
|
this.fieldName = fieldName;
|
||||||
|
}
|
||||||
|
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
public String getImageName() {
|
public String getImageName() {
|
||||||
return imageName;
|
return imageName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setImageName(String imageName) {
|
||||||
|
this.imageName = imageName;
|
||||||
|
}
|
||||||
|
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
public String getTooltip() {
|
public String getTooltip() {
|
||||||
return tooltip;
|
return tooltip;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTooltip(String tooltip) {
|
||||||
|
this.tooltip = tooltip;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "FieldModel{" +
|
||||||
|
"uiName='" + uiName + '\'' +
|
||||||
|
", fieldName='" + fieldName + '\'' +
|
||||||
|
", imageName='" + imageName + '\'' +
|
||||||
|
", tooltip='" + tooltip + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,13 +7,16 @@ import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class TopLevelMenuModel {
|
public class TopLevelMenuModel {
|
||||||
private final String title;
|
private String title;
|
||||||
private final String imageName;
|
private String imageName;
|
||||||
|
|
||||||
@XmlElementWrapper
|
@XmlElementWrapper
|
||||||
@XmlElement(name = "dialog")
|
@XmlElement(name = "dialog")
|
||||||
private List<DialogModel> dialogs = new ArrayList<>();
|
private List<DialogModel> dialogs = new ArrayList<>();
|
||||||
|
|
||||||
|
public TopLevelMenuModel() {
|
||||||
|
}
|
||||||
|
|
||||||
public TopLevelMenuModel(String title, String imageName) {
|
public TopLevelMenuModel(String title, String imageName) {
|
||||||
this.title = title;
|
this.title = title;
|
||||||
this.imageName = imageName;
|
this.imageName = imageName;
|
||||||
|
@ -24,12 +27,29 @@ public class TopLevelMenuModel {
|
||||||
return title;
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
@XmlAttribute
|
@XmlAttribute
|
||||||
public String getImageName() {
|
public String getImageName() {
|
||||||
return imageName;
|
return imageName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setImageName(String imageName) {
|
||||||
|
this.imageName = imageName;
|
||||||
|
}
|
||||||
|
|
||||||
public List<DialogModel> getDialogs() {
|
public List<DialogModel> getDialogs() {
|
||||||
return dialogs;
|
return dialogs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "TopLevelMenuModel{" +
|
||||||
|
"title='" + title + '\'' +
|
||||||
|
", imageName='" + imageName + '\'' +
|
||||||
|
", dialogs=" + dialogs +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@ package com.rusefi.xml;
|
||||||
import javax.xml.bind.JAXBContext;
|
import javax.xml.bind.JAXBContext;
|
||||||
import javax.xml.bind.JAXBException;
|
import javax.xml.bind.JAXBException;
|
||||||
import javax.xml.bind.Marshaller;
|
import javax.xml.bind.Marshaller;
|
||||||
|
import javax.xml.bind.Unmarshaller;
|
||||||
|
import java.io.File;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
|
@ -24,4 +26,12 @@ public class XmlUtil {
|
||||||
marshaller.marshal(contentModel, new FileWriter(FILE_NAME));
|
marshaller.marshal(contentModel, new FileWriter(FILE_NAME));
|
||||||
System.out.println("Done " + FILE_NAME);
|
System.out.println("Done " + FILE_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ContentModel readModel() throws Exception {
|
||||||
|
File xmlFile = new File(FILE_NAME);
|
||||||
|
JAXBContext jaxbContext;
|
||||||
|
jaxbContext = JAXBContext.newInstance(ContentModel.class);
|
||||||
|
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
|
||||||
|
return (ContentModel) jaxbUnmarshaller.unmarshal(xmlFile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue