Options passing
This commit is contained in:
parent
387b29bce7
commit
fa22dc688e
1 changed files with 91 additions and 57 deletions
|
@ -5,9 +5,11 @@ import java.awt.EventQueue;
|
|||
import javax.swing.JFrame;
|
||||
import javax.swing.UIManager;
|
||||
|
||||
import com.github.andrewoma.dexx.collection.Map;
|
||||
import com.sun.star.uno.XComponentContext;
|
||||
|
||||
import pro.litvinovg.xml.Debug;
|
||||
import w2phtml.Application;
|
||||
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.GridLayout;
|
||||
|
@ -26,6 +28,8 @@ import javax.swing.LayoutStyle.ComponentPlacement;
|
|||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JButton;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.HashMap;
|
||||
import java.util.Set;
|
||||
import java.awt.event.ActionEvent;
|
||||
import javax.swing.JSplitPane;
|
||||
import java.awt.BorderLayout;
|
||||
|
@ -34,6 +38,8 @@ import javax.swing.BoxLayout;
|
|||
import javax.swing.SpringLayout;
|
||||
import java.awt.FlowLayout;
|
||||
import java.awt.CardLayout;
|
||||
import java.awt.Component;
|
||||
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
public class ConfigurationWindow extends JFrame {
|
||||
|
@ -101,37 +107,28 @@ public class ConfigurationWindow extends JFrame {
|
|||
|
||||
private JPanel createEpubPanel() {
|
||||
JPanel panel_epub = new JPanel();
|
||||
|
||||
JPanel panel_control = createControlPanel(panel_epub);
|
||||
|
||||
HashMap<String, Component> configuration = new HashMap<String, Component>();
|
||||
JPanel panel_control = createControlPanel(configuration);
|
||||
JPanel panel_configEpub = createConfigEpubPanel();
|
||||
|
||||
applyDefaultLayout(panel_epub, panel_configEpub, panel_control);
|
||||
|
||||
return panel_epub;
|
||||
}
|
||||
|
||||
private JPanel createRDFPanel() {
|
||||
JPanel panel_rdf = new JPanel();
|
||||
|
||||
JPanel panel_control = createControlPanel(panel_rdf);
|
||||
|
||||
HashMap<String, Component> configuration = new HashMap<String, Component>();
|
||||
JPanel panel_control = createControlPanel(configuration);
|
||||
JPanel panel_configRDF = createConfigRDFPanel();
|
||||
|
||||
applyDefaultLayout2(panel_rdf, panel_configRDF, panel_control);
|
||||
|
||||
return panel_rdf;
|
||||
}
|
||||
|
||||
private JPanel createHTMLPanel() {
|
||||
JPanel panel_html = new JPanel();
|
||||
|
||||
JPanel panel_configHTML = createConfigHTMLPanel();
|
||||
|
||||
JPanel panel_control = createControlPanel(panel_configHTML);
|
||||
|
||||
HashMap<String, Component> configuration = new HashMap<String, Component>();
|
||||
JPanel panel_configHTML = createConfigHTMLPanel(configuration);
|
||||
JPanel panel_control = createControlPanel(configuration);
|
||||
applyDefaultLayout3(panel_html, panel_configHTML, panel_control);
|
||||
|
||||
return panel_html;
|
||||
}
|
||||
|
||||
|
@ -343,99 +340,129 @@ public class ConfigurationWindow extends JFrame {
|
|||
return panel_configHTML;
|
||||
}
|
||||
|
||||
private JPanel createConfigHTMLPanel() {
|
||||
private JPanel createConfigHTMLPanel(HashMap<String, Component> configuration) {
|
||||
JPanel panel_configHTML = new JPanel();
|
||||
|
||||
|
||||
JCheckBox cb_UseMathJax = new JCheckBox("Use MathJax");
|
||||
configuration.put("useMathJax", cb_UseMathJax);
|
||||
|
||||
JCheckBox cb_IgnoreEmptyParagraphs_2 = new JCheckBox("Split on whole pages only");
|
||||
JCheckBox cb_SplitWholePagesOnly = new JCheckBox("Split on whole pages only");
|
||||
configuration.put("splitWholePagesOnly", cb_SplitWholePagesOnly);
|
||||
|
||||
JLabel lb_SplitByLevel = new JLabel("Split into multiple files by heading level");
|
||||
|
||||
JTextField tf_SplitByLevel = new JTextField();
|
||||
configuration.put("splitByLevel", tf_SplitByLevel);
|
||||
|
||||
tf_SplitByLevel.setColumns(10);
|
||||
|
||||
JCheckBox cb_Greenstone = new JCheckBox("Split document into subsections for Greenstone digital library");
|
||||
configuration.put("greenstone", cb_Greenstone);
|
||||
|
||||
JCheckBox cb_IgnoreEmptyParagraphs = new JCheckBox("Filter empty paragraphs");
|
||||
configuration.put("filterEmptyParagraphs", cb_IgnoreEmptyParagraphs);
|
||||
|
||||
JCheckBox cb_IgnoreHardLineBreaks = new JCheckBox("Filter hard line breaks");
|
||||
configuration.put("filterHardLineBreaks", cb_IgnoreHardLineBreaks);
|
||||
|
||||
JLabel lb_FilterLetterSpacing = new JLabel("Filter letter spacing less than");
|
||||
|
||||
JTextField tf_FilterLetterSpacing = new JTextField();
|
||||
configuration.put("filterLetterSpacing", tf_FilterLetterSpacing);
|
||||
|
||||
tf_FilterLetterSpacing.setColumns(10);
|
||||
|
||||
JCheckBox cb_InlineStyles = new JCheckBox("Inline styles");
|
||||
configuration.put("inlineStyles", cb_InlineStyles);
|
||||
|
||||
JCheckBox cb_EmbedVectorImages = new JCheckBox("Embed vector images");
|
||||
configuration.put("embedVectorImages", cb_EmbedVectorImages);
|
||||
|
||||
JCheckBox cb_EmbedRaster = new JCheckBox("Embed raster images");
|
||||
configuration.put("embedRaster", cb_EmbedRaster);
|
||||
|
||||
JLabel lb_Scale = new JLabel("Scale");
|
||||
|
||||
JTextField tf_Scale = new JTextField();
|
||||
configuration.put("scale", tf_Scale);
|
||||
|
||||
tf_Scale.setColumns(10);
|
||||
|
||||
JLabel lb_MaxWidth = new JLabel("Max body width");
|
||||
|
||||
JTextField tf_MaxWidth = new JTextField();
|
||||
configuration.put("maxWidth", tf_MaxWidth);
|
||||
|
||||
tf_MaxWidth.setColumns(10);
|
||||
|
||||
JCheckBox cb_ConversionToRem = new JCheckBox("Convert dimensions to REM");
|
||||
configuration.put("conversionToRem", cb_ConversionToRem);
|
||||
|
||||
JLabel lb_FilePath = new JLabel("File path");
|
||||
|
||||
tf_FilePath = new JTextField();
|
||||
tf_FilePath.setColumns(10);
|
||||
|
||||
JLabel lb_TargetFormat = new JLabel("HTML");
|
||||
configuration.put("targetFormat", lb_TargetFormat);
|
||||
|
||||
|
||||
JLabel lb_TargetFormat_description = new JLabel("Target format");
|
||||
GroupLayout gl_panel_configHTML = new GroupLayout(panel_configHTML);
|
||||
gl_panel_configHTML.setHorizontalGroup(
|
||||
gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addGap(40)
|
||||
.addGap(32)
|
||||
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_FilePath, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18)
|
||||
.addComponent(tf_FilePath, GroupLayout.DEFAULT_SIZE, 755, Short.MAX_VALUE))
|
||||
.addComponent(cb_UseMathJax, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(lb_TargetFormat_description, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(ComponentPlacement.UNRELATED)
|
||||
.addComponent(lb_TargetFormat, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
|
||||
.addContainerGap())
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_Scale, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18)
|
||||
.addComponent(tf_Scale, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_MaxWidth)
|
||||
.addGap(18)
|
||||
.addComponent(tf_MaxWidth, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 253, GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18)
|
||||
.addComponent(tf_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(cb_InlineStyles, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_EmbedVectorImages, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_EmbedRaster, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_ConversionToRem, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_IgnoreHardLineBreaks, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_IgnoreEmptyParagraphs, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_Greenstone, GroupLayout.PREFERRED_SIZE, 482, GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_SplitByLevel, GroupLayout.PREFERRED_SIZE, 295, GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(42)
|
||||
.addComponent(tf_SplitByLevel, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(cb_IgnoreEmptyParagraphs_2, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(40))
|
||||
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_FilePath, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18)
|
||||
.addComponent(tf_FilePath, GroupLayout.DEFAULT_SIZE, 755, Short.MAX_VALUE))
|
||||
.addComponent(cb_UseMathJax, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_Scale, GroupLayout.PREFERRED_SIZE, 111, GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18)
|
||||
.addComponent(tf_Scale, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_MaxWidth)
|
||||
.addGap(18)
|
||||
.addComponent(tf_MaxWidth, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 253, GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(18)
|
||||
.addComponent(tf_FilterLetterSpacing, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(cb_InlineStyles, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_EmbedVectorImages, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_EmbedRaster, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_ConversionToRem, GroupLayout.PREFERRED_SIZE, 592, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_IgnoreHardLineBreaks, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_IgnoreEmptyParagraphs, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(cb_Greenstone, GroupLayout.PREFERRED_SIZE, 482, GroupLayout.PREFERRED_SIZE)
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addComponent(lb_SplitByLevel, GroupLayout.PREFERRED_SIZE, 295, GroupLayout.PREFERRED_SIZE)
|
||||
.addGap(42)
|
||||
.addComponent(tf_SplitByLevel, GroupLayout.PREFERRED_SIZE, 175, GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(cb_SplitWholePagesOnly, GroupLayout.PREFERRED_SIZE, 303, GroupLayout.PREFERRED_SIZE))
|
||||
.addGap(48))))
|
||||
);
|
||||
gl_panel_configHTML.setVerticalGroup(
|
||||
gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.BASELINE)
|
||||
.addComponent(lb_TargetFormat_description)
|
||||
.addComponent(lb_TargetFormat))
|
||||
.addGap(22)
|
||||
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addGap(17)
|
||||
.addGap(2)
|
||||
.addComponent(lb_FilePath))
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
.addGap(15)
|
||||
.addComponent(tf_FilePath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
|
||||
.addComponent(tf_FilePath, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
|
||||
.addPreferredGap(ComponentPlacement.RELATED)
|
||||
.addGroup(gl_panel_configHTML.createParallelGroup(Alignment.LEADING)
|
||||
.addGroup(gl_panel_configHTML.createSequentialGroup()
|
||||
|
@ -475,16 +502,16 @@ public class ConfigurationWindow extends JFrame {
|
|||
.addGap(2)
|
||||
.addComponent(lb_SplitByLevel)))
|
||||
.addPreferredGap(ComponentPlacement.RELATED)
|
||||
.addComponent(cb_IgnoreEmptyParagraphs_2)
|
||||
.addComponent(cb_SplitWholePagesOnly)
|
||||
.addPreferredGap(ComponentPlacement.UNRELATED)
|
||||
.addComponent(cb_UseMathJax)
|
||||
.addContainerGap(364, Short.MAX_VALUE))
|
||||
.addContainerGap(274, Short.MAX_VALUE))
|
||||
);
|
||||
panel_configHTML.setLayout(gl_panel_configHTML);
|
||||
return panel_configHTML;
|
||||
}
|
||||
|
||||
private JPanel createControlPanel(JPanel configurationPanel) {
|
||||
private JPanel createControlPanel(HashMap<String,Component> configuration) {
|
||||
JPanel controlPanel = new JPanel();
|
||||
|
||||
JButton btn_Exit = new JButton("Exit");
|
||||
|
@ -500,6 +527,13 @@ public class ConfigurationWindow extends JFrame {
|
|||
JButton btn_Save = new JButton("Save");
|
||||
|
||||
JButton btn_Convert = new JButton("Convert");
|
||||
btn_Convert.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
ConfigurationReader reader = new ConfigurationReader(configuration, context);
|
||||
//Application.main(reader.getCommandLine());
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
GroupLayout gl_panel_control = new GroupLayout(controlPanel);
|
||||
gl_panel_control.setHorizontalGroup(
|
||||
|
|
Loading…
Add table
Reference in a new issue