package org.markdownwriterfx.options;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.scene.control.Label;
import org.markdownwriterfx.Messages;
import org.markdownwriterfx.controls.FlagCheckBox;
import org.markdownwriterfx.controls.WebHyperlink;
import org.pegdown.Extensions;
import org.tbee.javafx.scene.layout.fxml.MigPane;
class MarkdownOptionsPane
extends MigPane
{
private final IntegerProperty extensions = new SimpleIntegerProperty();
MarkdownOptionsPane() {
initComponents();
smartsExtCheckBox.setFlag(Extensions.SMARTS);
quotesExtCheckBox.setFlag(Extensions.QUOTES);
abbreviationsExtCheckBox.setFlag(Extensions.ABBREVIATIONS);
hardwrapsExtCheckBox.setFlag(Extensions.HARDWRAPS);
autolinksExtCheckBox.setFlag(Extensions.AUTOLINKS);
tablesExtCheckBox.setFlag(Extensions.TABLES);
definitionListsExtCheckBox.setFlag(Extensions.DEFINITIONS);
fencedCodeBlocksExtCheckBox.setFlag(Extensions.FENCED_CODE_BLOCKS);
wikilinksExtCheckBox.setFlag(Extensions.WIKILINKS);
strikethroughExtCheckBox.setFlag(Extensions.STRIKETHROUGH);
anchorlinksExtCheckBox.setFlag(Extensions.ANCHORLINKS);
suppressHtmlBlocksExtCheckBox.setFlag(Extensions.SUPPRESS_HTML_BLOCKS);
suppressInlineHtmlExtCheckBox.setFlag(Extensions.SUPPRESS_INLINE_HTML);
atxHeaderSpaceExtCheckBox.setFlag(Extensions.ATXHEADERSPACE);
forceListItemParaExtCheckBox.setFlag(Extensions.FORCELISTITEMPARA);
relaxedHrRulesExtCheckBox.setFlag(Extensions.RELAXEDHRULES);
taskListItemsExtCheckBox.setFlag(Extensions.TASKLISTITEMS);
extAnchorLinksExtCheckBox.setFlag(Extensions.EXTANCHORLINKS);
extensions.bindBidirectional(smartsExtCheckBox.flagsProperty());
extensions.bindBidirectional(quotesExtCheckBox.flagsProperty());
extensions.bindBidirectional(abbreviationsExtCheckBox.flagsProperty());
extensions.bindBidirectional(hardwrapsExtCheckBox.flagsProperty());
extensions.bindBidirectional(autolinksExtCheckBox.flagsProperty());
extensions.bindBidirectional(tablesExtCheckBox.flagsProperty());
extensions.bindBidirectional(definitionListsExtCheckBox.flagsProperty());
extensions.bindBidirectional(fencedCodeBlocksExtCheckBox.flagsProperty());
extensions.bindBidirectional(wikilinksExtCheckBox.flagsProperty());
extensions.bindBidirectional(strikethroughExtCheckBox.flagsProperty());
extensions.bindBidirectional(anchorlinksExtCheckBox.flagsProperty());
extensions.bindBidirectional(suppressHtmlBlocksExtCheckBox.flagsProperty());
extensions.bindBidirectional(suppressInlineHtmlExtCheckBox.flagsProperty());
extensions.bindBidirectional(atxHeaderSpaceExtCheckBox.flagsProperty());
extensions.bindBidirectional(forceListItemParaExtCheckBox.flagsProperty());
extensions.bindBidirectional(relaxedHrRulesExtCheckBox.flagsProperty());
extensions.bindBidirectional(taskListItemsExtCheckBox.flagsProperty());
extensions.bindBidirectional(extAnchorLinksExtCheckBox.flagsProperty());
}
void load() {
extensions.set(Options.getMarkdownExtensions());
}
void save() {
Options.setMarkdownExtensions(extensions.get());
}
private void initComponents() {
smartsExtCheckBox = new FlagCheckBox();
quotesExtCheckBox = new FlagCheckBox();
abbreviationsExtCheckBox = new FlagCheckBox();
WebHyperlink abbreviationsExtLink = new WebHyperlink();
hardwrapsExtCheckBox = new FlagCheckBox();
WebHyperlink hardwrapsExtLink = new WebHyperlink();
autolinksExtCheckBox = new FlagCheckBox();
WebHyperlink autolinksExtLink = new WebHyperlink();
tablesExtCheckBox = new FlagCheckBox();
WebHyperlink tablesExtLink = new WebHyperlink();
Label tablesExtLabel = new Label();
WebHyperlink tablesExtLink2 = new WebHyperlink();
Label tablesExtLabel2 = new Label();
definitionListsExtCheckBox = new FlagCheckBox();
WebHyperlink definitionListsExtLink = new WebHyperlink();
fencedCodeBlocksExtCheckBox = new FlagCheckBox();
WebHyperlink fencedCodeBlocksExtLink = new WebHyperlink();
Label fencedCodeBlocksExtLabel = new Label();
WebHyperlink fencedCodeBlocksExtLink2 = new WebHyperlink();
wikilinksExtCheckBox = new FlagCheckBox();
strikethroughExtCheckBox = new FlagCheckBox();
anchorlinksExtCheckBox = new FlagCheckBox();
suppressHtmlBlocksExtCheckBox = new FlagCheckBox();
suppressInlineHtmlExtCheckBox = new FlagCheckBox();
atxHeaderSpaceExtCheckBox = new FlagCheckBox();
forceListItemParaExtCheckBox = new FlagCheckBox();
relaxedHrRulesExtCheckBox = new FlagCheckBox();
taskListItemsExtCheckBox = new FlagCheckBox();
extAnchorLinksExtCheckBox = new FlagCheckBox();
setCols("[][fill]");
setRows("[][][][][][][][][][][][][][][][][][]");
smartsExtCheckBox.setText(Messages.get("MarkdownOptionsPane.smartsExtCheckBox.text"));
add(smartsExtCheckBox, "cell 0 0");
quotesExtCheckBox.setText(Messages.get("MarkdownOptionsPane.quotesExtCheckBox.text"));
add(quotesExtCheckBox, "cell 0 1");
abbreviationsExtCheckBox.setText(Messages.get("MarkdownOptionsPane.abbreviationsExtCheckBox.text"));
add(abbreviationsExtCheckBox, "cell 0 2");
abbreviationsExtLink.setText(Messages.get("MarkdownOptionsPane.abbreviationsExtLink.text"));
abbreviationsExtLink.setUri("http://michelf.com/projects/php-markdown/extra/#abbr");
add(abbreviationsExtLink, "cell 0 2,gapx 0");
hardwrapsExtCheckBox.setText(Messages.get("MarkdownOptionsPane.hardwrapsExtCheckBox.text"));
add(hardwrapsExtCheckBox, "cell 0 3");
hardwrapsExtLink.setText(Messages.get("MarkdownOptionsPane.hardwrapsExtLink.text"));
hardwrapsExtLink.setUri("https://help.github.com/articles/writing-on-github/#markup");
add(hardwrapsExtLink, "cell 0 3,gapx 0");
autolinksExtCheckBox.setText(Messages.get("MarkdownOptionsPane.autolinksExtCheckBox.text"));
add(autolinksExtCheckBox, "cell 0 4");
autolinksExtLink.setText(Messages.get("MarkdownOptionsPane.autolinksExtLink.text"));
autolinksExtLink.setUri("https://help.github.com/articles/github-flavored-markdown/#url-autolinking");
add(autolinksExtLink, "cell 0 4,gapx 0");
tablesExtCheckBox.setText(Messages.get("MarkdownOptionsPane.tablesExtCheckBox.text"));
add(tablesExtCheckBox, "cell 0 5");
tablesExtLink.setText(Messages.get("MarkdownOptionsPane.tablesExtLink.text"));
tablesExtLink.setUri("http://fletcher.github.io/MultiMarkdown-4/syntax.html#tables");
add(tablesExtLink, "cell 0 5,gapx 0");
tablesExtLabel.setText(Messages.get("MarkdownOptionsPane.tablesExtLabel.text"));
add(tablesExtLabel, "cell 0 5,gapx 3");
tablesExtLink2.setText(Messages.get("MarkdownOptionsPane.tablesExtLink2.text"));
tablesExtLink2.setUri("https://michelf.ca/projects/php-markdown/extra/#table");
add(tablesExtLink2, "cell 0 5,gapx 3 3");
tablesExtLabel2.setText(Messages.get("MarkdownOptionsPane.tablesExtLabel2.text"));
add(tablesExtLabel2, "cell 0 5,gapx 0");
definitionListsExtCheckBox.setText(Messages.get("MarkdownOptionsPane.definitionListsExtCheckBox.text"));
add(definitionListsExtCheckBox, "cell 0 6");
definitionListsExtLink.setText(Messages.get("MarkdownOptionsPane.definitionListsExtLink.text"));
definitionListsExtLink.setUri("https://michelf.ca/projects/php-markdown/extra/#def-list");
add(definitionListsExtLink, "cell 0 6,gapx 0");
fencedCodeBlocksExtCheckBox.setText(Messages.get("MarkdownOptionsPane.fencedCodeBlocksExtCheckBox.text"));
add(fencedCodeBlocksExtCheckBox, "cell 0 7");
fencedCodeBlocksExtLink.setText(Messages.get("MarkdownOptionsPane.fencedCodeBlocksExtLink.text"));
fencedCodeBlocksExtLink.setUri("http://michelf.com/projects/php-markdown/extra/#fenced-code-blocks");
add(fencedCodeBlocksExtLink, "cell 0 7,gapx 0");
fencedCodeBlocksExtLabel.setText(Messages.get("MarkdownOptionsPane.fencedCodeBlocksExtLabel.text"));
add(fencedCodeBlocksExtLabel, "cell 0 7,gapx 3");
fencedCodeBlocksExtLink2.setText(Messages.get("MarkdownOptionsPane.fencedCodeBlocksExtLink2.text"));
fencedCodeBlocksExtLink2.setUri("https://help.github.com/articles/github-flavored-markdown/#fenced-code-blocks");
add(fencedCodeBlocksExtLink2, "cell 0 7,gapx 3");
wikilinksExtCheckBox.setText(Messages.get("MarkdownOptionsPane.wikilinksExtCheckBox.text"));
add(wikilinksExtCheckBox, "cell 0 8");
strikethroughExtCheckBox.setText(Messages.get("MarkdownOptionsPane.strikethroughExtCheckBox.text"));
add(strikethroughExtCheckBox, "cell 0 9");
anchorlinksExtCheckBox.setText(Messages.get("MarkdownOptionsPane.anchorlinksExtCheckBox.text"));
add(anchorlinksExtCheckBox, "cell 0 10");
suppressHtmlBlocksExtCheckBox.setText(Messages.get("MarkdownOptionsPane.suppressHtmlBlocksExtCheckBox.text"));
add(suppressHtmlBlocksExtCheckBox, "cell 0 11");
suppressInlineHtmlExtCheckBox.setText(Messages.get("MarkdownOptionsPane.suppressInlineHtmlExtCheckBox.text"));
add(suppressInlineHtmlExtCheckBox, "cell 0 12");
atxHeaderSpaceExtCheckBox.setText(Messages.get("MarkdownOptionsPane.atxHeaderSpaceExtCheckBox.text"));
add(atxHeaderSpaceExtCheckBox, "cell 0 13");
forceListItemParaExtCheckBox.setText(Messages.get("MarkdownOptionsPane.forceListItemParaExtCheckBox.text"));
add(forceListItemParaExtCheckBox, "cell 0 14");
relaxedHrRulesExtCheckBox.setText(Messages.get("MarkdownOptionsPane.relaxedHrRulesExtCheckBox.text"));
add(relaxedHrRulesExtCheckBox, "cell 0 15");
taskListItemsExtCheckBox.setText(Messages.get("MarkdownOptionsPane.taskListItemsExtCheckBox.text"));
add(taskListItemsExtCheckBox, "cell 0 16");
extAnchorLinksExtCheckBox.setText(Messages.get("MarkdownOptionsPane.extAnchorLinksExtCheckBox.text"));
add(extAnchorLinksExtCheckBox, "cell 0 17");
}
private FlagCheckBox smartsExtCheckBox;
private FlagCheckBox quotesExtCheckBox;
private FlagCheckBox abbreviationsExtCheckBox;
private FlagCheckBox hardwrapsExtCheckBox;
private FlagCheckBox autolinksExtCheckBox;
private FlagCheckBox tablesExtCheckBox;
private FlagCheckBox definitionListsExtCheckBox;
private FlagCheckBox fencedCodeBlocksExtCheckBox;
private FlagCheckBox wikilinksExtCheckBox;
private FlagCheckBox strikethroughExtCheckBox;
private FlagCheckBox anchorlinksExtCheckBox;
private FlagCheckBox suppressHtmlBlocksExtCheckBox;
private FlagCheckBox suppressInlineHtmlExtCheckBox;
private FlagCheckBox atxHeaderSpaceExtCheckBox;
private FlagCheckBox forceListItemParaExtCheckBox;
private FlagCheckBox relaxedHrRulesExtCheckBox;
private FlagCheckBox taskListItemsExtCheckBox;
private FlagCheckBox extAnchorLinksExtCheckBox;
}