diff --git a/README.md b/README.md
index 28b5442..c18de9b 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,10 @@ The documentation for this project is available [here](https://gh.steffo.eu/clea
### Progress
+#### 2019-12-05
+
+![](https://i.imgur.com/sLG43Kc.png)
+
#### 2019-12-04
![](https://i.imgur.com/HnD7k3B.png)
\ No newline at end of file
diff --git a/docs/allclasses-index.html b/docs/allclasses-index.html
index 184b52e..5eaa222 100644
--- a/docs/allclasses-index.html
+++ b/docs/allclasses-index.html
@@ -2,7 +2,7 @@
-
+
All Classes
@@ -80,18 +80,54 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
-CleaverFileSelectPanel |
+CleaverChopAndStitchPanel |
|
-CleaverFrame |
+CleaverChopPanel |
|
-CleaverModeSelectPanel |
+CleaverCompressOptionPanel |
|
+CleaverCreateJobButtonPanel |
+ |
+
+
+CleaverCreateJobPanel |
+ |
+
+
+CleaverCryptOptionPanel |
+ |
+
+
+CleaverFileSelectPanel |
+ |
+
+
+CleaverFrame |
+ |
+
+
+CleaverRowPanel |
+ |
+
+
+CleaverSplitOptionPanel |
+ |
+
+
+CleaverStitchPanel |
+ |
+
+
+CleaverTitlePanel |
+ |
+
+
Main |
|
diff --git a/docs/allpackages-index.html b/docs/allpackages-index.html
index 4537870..51bdd95 100644
--- a/docs/allpackages-index.html
+++ b/docs/allpackages-index.html
@@ -2,7 +2,7 @@
-
+
All Packages
diff --git a/docs/constant-values.html b/docs/constant-values.html
index 7d3be5a..bd8903c 100644
--- a/docs/constant-values.html
+++ b/docs/constant-values.html
@@ -2,7 +2,7 @@
-
+
Constant Field Values
diff --git a/docs/deprecated-list.html b/docs/deprecated-list.html
index 7641832..5d75f93 100644
--- a/docs/deprecated-list.html
+++ b/docs/deprecated-list.html
@@ -2,7 +2,7 @@
-
+
Deprecated List
diff --git a/docs/help-doc.html b/docs/help-doc.html
index db6b9fa..0558b38 100644
--- a/docs/help-doc.html
+++ b/docs/help-doc.html
@@ -2,7 +2,7 @@
-
+
API Help
diff --git a/docs/index.html b/docs/index.html
index b002634..cf54211 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -2,7 +2,7 @@
-
+
Overview
diff --git a/docs/member-search-index.js b/docs/member-search-index.js
index 114abe0..ec62001 100644
--- a/docs/member-search-index.js
+++ b/docs/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"CleaverFileSelectPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFrame","l":"CleaverFrame()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverModeSelectPanel","l":"CleaverModeSelectPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"fileChooser"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFrame","l":"fileSelectPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"getSelectedFiles()"},{"p":"eu.steffo.cleaver","c":"Main","l":"Main()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver","c":"Main","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFrame","l":"modeSelectPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"selectedFiles"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"selectedFilesText"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"selectFilesButton"},{"p":"eu.steffo.cleaver.gui","c":"CleaverModeSelectPanel","l":"titleLabel"}]
\ No newline at end of file
+memberSearchIndex = [{"p":"eu.steffo.cleaver.gui","c":"CleaverChopAndStitchPanel","l":"chopPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFrame","l":"chopStitchPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverChopAndStitchPanel","l":"CleaverChopAndStitchPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverChopPanel","l":"CleaverChopPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCompressOptionPanel","l":"CleaverCompressOptionPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobButtonPanel","l":"CleaverCreateJobButtonPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobPanel","l":"CleaverCreateJobPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCryptOptionPanel","l":"CleaverCryptOptionPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"CleaverFileSelectPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFrame","l":"CleaverFrame()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverRowPanel","l":"CleaverRowPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverSplitOptionPanel","l":"CleaverSplitOptionPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverStitchPanel","l":"CleaverStitchPanel()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverTitlePanel","l":"CleaverTitlePanel(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCompressOptionPanel","l":"compressionCheckBox"},{"p":"eu.steffo.cleaver.gui","c":"CleaverSplitOptionPanel","l":"compressionCheckBox"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobPanel","l":"compressOptionPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobButtonPanel","l":"createJobButton"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobPanel","l":"createJobButtonPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCryptOptionPanel","l":"cryptCheckBox"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobPanel","l":"cryptOptionPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"fileChooser"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobPanel","l":"fileSelectPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverSplitOptionPanel","l":"firstSeparator"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCompressOptionPanel","l":"getCompressionEnabled()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCryptOptionPanel","l":"getEncryptionEnabled()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverChopPanel","l":"getPanelText()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobPanel","l":"getPanelText()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverStitchPanel","l":"getPanelText()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"getSelectedFiles()"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCryptOptionPanel","l":"keyLabel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCryptOptionPanel","l":"keyTextField"},{"p":"eu.steffo.cleaver","c":"Main","l":"Main()","url":"%3Cinit%3E()"},{"p":"eu.steffo.cleaver","c":"Main","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"eu.steffo.cleaver.gui","c":"CleaverSplitOptionPanel","l":"partsLabel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverSplitOptionPanel","l":"partsTextField"},{"p":"eu.steffo.cleaver.gui","c":"CleaverSplitOptionPanel","l":"secondoSeparator"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"selectedFiles"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"selectedFilesText"},{"p":"eu.steffo.cleaver.gui","c":"CleaverFileSelectPanel","l":"selectFilesButton"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCryptOptionPanel","l":"separator"},{"p":"eu.steffo.cleaver.gui","c":"CleaverSplitOptionPanel","l":"sizeLabel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverSplitOptionPanel","l":"sizeTextField"},{"p":"eu.steffo.cleaver.gui","c":"CleaverSplitOptionPanel","l":"sizeUnitLabel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobPanel","l":"splitOptionPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverChopAndStitchPanel","l":"stitchPanel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverTitlePanel","l":"titleLabel"},{"p":"eu.steffo.cleaver.gui","c":"CleaverCreateJobPanel","l":"titlePanel"}]
\ No newline at end of file
diff --git a/docs/overview-summary.html b/docs/overview-summary.html
index 6a32346..76db66d 100644
--- a/docs/overview-summary.html
+++ b/docs/overview-summary.html
@@ -2,7 +2,7 @@
-
+
Generated Documentation (Untitled)
diff --git a/docs/overview-tree.html b/docs/overview-tree.html
index 2e012f1..02680db 100644
--- a/docs/overview-tree.html
+++ b/docs/overview-tree.html
@@ -2,7 +2,7 @@
-
+
Class Hierarchy
@@ -87,8 +87,23 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
- javax.swing.JPanel (implements javax.accessibility.Accessible)
diff --git a/docs/serialized-form.html b/docs/serialized-form.html
index d4a5307..212eba2 100644
--- a/docs/serialized-form.html
+++ b/docs/serialized-form.html
@@ -2,7 +2,7 @@
-
+
Serialized Form
@@ -75,10 +75,153 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Package eu.steffo.cleaver.gui
-
+
+
+-
+
+
+-
+
+
+-
+
+
+-
+
+
+-
+
+
+
+
+
+-
+
+
Serialized Fields
+
+-
+
cryptCheckBox
+javax.swing.JCheckBox cryptCheckBox
+
+-
+
keyLabel
+javax.swing.JLabel keyLabel
+
+-
+
keyTextField
+javax.swing.JTextField keyTextField
+
+-
+
separator
+javax.swing.JSeparator separator
+
+
+
+
+
+
+
+-
-
+
-
@@ -117,12 +260,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
Serialized Fields
@@ -131,10 +270,72 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
-
-
+-
+
+
+
+
+
+-
+
+
Serialized Fields
+
+-
+
compressionCheckBox
+javax.swing.JCheckBox compressionCheckBox
+
+-
+
firstSeparator
+javax.swing.JSeparator firstSeparator
+
+-
+
partsLabel
+javax.swing.JLabel partsLabel
+
+-
+
partsTextField
+javax.swing.JTextField partsTextField
+
+-
+
secondoSeparator
+javax.swing.JSeparator secondoSeparator
+
+-
+
sizeLabel
+javax.swing.JLabel sizeLabel
+
+-
+
sizeTextField
+javax.swing.JTextField sizeTextField
+
+-
+
sizeUnitLabel
+javax.swing.JLabel sizeUnitLabel
+
+
+
+
+
+
+
+-
+
+
+-
+
+
+
+
-
diff --git a/docs/type-search-index.js b/docs/type-search-index.js
index c1a618f..aa2d40c 100644
--- a/docs/type-search-index.js
+++ b/docs/type-search-index.js
@@ -1 +1 @@
-typeSearchIndex = [{"l":"All Classes","url":"allclasses-index.html"},{"p":"eu.steffo.cleaver.gui","l":"CleaverFileSelectPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverFrame"},{"p":"eu.steffo.cleaver.gui","l":"CleaverModeSelectPanel"},{"p":"eu.steffo.cleaver","l":"Main"}]
\ No newline at end of file
+typeSearchIndex = [{"l":"All Classes","url":"allclasses-index.html"},{"p":"eu.steffo.cleaver.gui","l":"CleaverChopAndStitchPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverChopPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverCompressOptionPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverCreateJobButtonPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverCreateJobPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverCryptOptionPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverFileSelectPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverFrame"},{"p":"eu.steffo.cleaver.gui","l":"CleaverRowPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverSplitOptionPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverStitchPanel"},{"p":"eu.steffo.cleaver.gui","l":"CleaverTitlePanel"},{"p":"eu.steffo.cleaver","l":"Main"}]
\ No newline at end of file
diff --git a/src/eu/steffo/cleaver/Main.java b/src/eu/steffo/cleaver/Main.java
index e42be1d..c8de896 100644
--- a/src/eu/steffo/cleaver/Main.java
+++ b/src/eu/steffo/cleaver/Main.java
@@ -6,8 +6,6 @@ import eu.steffo.cleaver.gui.CleaverFrame;
public class Main {
public static void main(String[] args) {
- System.out.println("Chop chop!");
-
CleaverFrame cf = new CleaverFrame();
cf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
cf.setVisible(true);
diff --git a/src/eu/steffo/cleaver/gui/CleaverChopAndStitchPanel.java b/src/eu/steffo/cleaver/gui/CleaverChopAndStitchPanel.java
new file mode 100644
index 0000000..52804b2
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverChopAndStitchPanel.java
@@ -0,0 +1,27 @@
+package eu.steffo.cleaver.gui;
+
+import java.awt.*;
+import javax.swing.*;
+
+public class CleaverChopAndStitchPanel extends JPanel {
+ protected CleaverChopPanel chopPanel;
+ protected CleaverStitchPanel stitchPanel;
+
+ public CleaverChopAndStitchPanel() {
+ super();
+
+ this.setLayout(new BoxLayout(this, BoxLayout.LINE_AXIS));
+
+ this.add(Box.createHorizontalStrut(4));
+
+ chopPanel = new CleaverChopPanel();
+ this.add(chopPanel);
+
+ this.add(Box.createHorizontalStrut(4));
+
+ stitchPanel = new CleaverStitchPanel();
+ this.add(stitchPanel);
+
+ this.add(Box.createHorizontalStrut(4));
+ }
+}
diff --git a/src/eu/steffo/cleaver/gui/CleaverChopPanel.java b/src/eu/steffo/cleaver/gui/CleaverChopPanel.java
new file mode 100644
index 0000000..bf968b6
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverChopPanel.java
@@ -0,0 +1,13 @@
+package eu.steffo.cleaver.gui;
+
+public class CleaverChopPanel extends CleaverCreateJobPanel {
+
+ @Override
+ protected String getPanelText() {
+ return "Chop";
+ }
+
+ public CleaverChopPanel() {
+ super();
+ }
+}
diff --git a/src/eu/steffo/cleaver/gui/CleaverCompressOptionPanel.java b/src/eu/steffo/cleaver/gui/CleaverCompressOptionPanel.java
new file mode 100644
index 0000000..ca96bc4
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverCompressOptionPanel.java
@@ -0,0 +1,20 @@
+package eu.steffo.cleaver.gui;
+
+import javax.swing.*;
+
+public class CleaverCompressOptionPanel extends CleaverRowPanel {
+ protected JCheckBox compressionCheckBox;
+
+ public CleaverCompressOptionPanel() {
+ this.add(Box.createHorizontalStrut(8));
+
+ compressionCheckBox = new JCheckBox("Compress");
+ this.add(compressionCheckBox);
+
+ this.add(Box.createHorizontalStrut(8));
+ }
+
+ public boolean getCompressionEnabled() {
+ return compressionCheckBox.isSelected();
+ }
+}
diff --git a/src/eu/steffo/cleaver/gui/CleaverCreateJobButtonPanel.java b/src/eu/steffo/cleaver/gui/CleaverCreateJobButtonPanel.java
new file mode 100644
index 0000000..10bf57b
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverCreateJobButtonPanel.java
@@ -0,0 +1,16 @@
+package eu.steffo.cleaver.gui;
+
+import javax.swing.*;
+
+public class CleaverCreateJobButtonPanel extends CleaverRowPanel {
+ protected JButton createJobButton;
+
+ public CleaverCreateJobButtonPanel() {
+ this.add(Box.createHorizontalStrut(8));
+
+ createJobButton = new JButton("Create job");
+ this.add(createJobButton);
+
+ this.add(Box.createHorizontalStrut(8));
+ }
+}
diff --git a/src/eu/steffo/cleaver/gui/CleaverCreateJobPanel.java b/src/eu/steffo/cleaver/gui/CleaverCreateJobPanel.java
new file mode 100644
index 0000000..0bf1a25
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverCreateJobPanel.java
@@ -0,0 +1,53 @@
+package eu.steffo.cleaver.gui;
+
+import javax.swing.*;
+
+public abstract class CleaverCreateJobPanel extends JPanel {
+ protected CleaverTitlePanel titlePanel;
+ protected CleaverFileSelectPanel fileSelectPanel;
+ protected CleaverSplitOptionPanel splitOptionPanel;
+ protected CleaverCryptOptionPanel cryptOptionPanel;
+ protected CleaverCompressOptionPanel compressOptionPanel;
+ protected CleaverCreateJobButtonPanel createJobButtonPanel;
+
+ protected abstract String getPanelText();
+
+ public CleaverCreateJobPanel() {
+ super();
+
+ this.setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
+ this.setBorder(BorderFactory.createEtchedBorder());
+
+ this.add(Box.createVerticalStrut(8));
+
+ titlePanel = new CleaverTitlePanel(this.getPanelText());
+ this.add(titlePanel);
+
+ this.add(Box.createVerticalStrut(8));
+
+ fileSelectPanel = new CleaverFileSelectPanel();
+ this.add(fileSelectPanel);
+
+ this.add(Box.createVerticalStrut(8));
+
+ splitOptionPanel = new CleaverSplitOptionPanel();
+ this.add(splitOptionPanel);
+
+ this.add(Box.createVerticalStrut(8));
+
+ cryptOptionPanel = new CleaverCryptOptionPanel();
+ this.add(cryptOptionPanel);
+
+ this.add(Box.createVerticalStrut(8));
+
+ compressOptionPanel = new CleaverCompressOptionPanel();
+ this.add(compressOptionPanel);
+
+ this.add(Box.createVerticalStrut(8));
+
+ createJobButtonPanel = new CleaverCreateJobButtonPanel();
+ this.add(createJobButtonPanel);
+
+ this.add(Box.createVerticalStrut(8));
+ }
+}
diff --git a/src/eu/steffo/cleaver/gui/CleaverCryptOptionPanel.java b/src/eu/steffo/cleaver/gui/CleaverCryptOptionPanel.java
new file mode 100644
index 0000000..d7d55af
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverCryptOptionPanel.java
@@ -0,0 +1,38 @@
+package eu.steffo.cleaver.gui;
+
+import javax.swing.*;
+
+public class CleaverCryptOptionPanel extends CleaverRowPanel {
+ protected JCheckBox cryptCheckBox;
+ protected JSeparator separator;
+ protected JLabel keyLabel;
+ protected JTextField keyTextField;
+
+ public CleaverCryptOptionPanel() {
+ this.add(Box.createHorizontalStrut(8));
+
+ cryptCheckBox = new JCheckBox("Encrypt");
+ this.add(cryptCheckBox);
+
+ this.add(Box.createHorizontalStrut(8));
+
+ separator = new JSeparator(JSeparator.VERTICAL);
+ this.add(separator);
+
+ this.add(Box.createHorizontalStrut(8));
+
+ keyLabel = new JLabel("Key");
+ this.add(keyLabel);
+
+ this.add(Box.createHorizontalStrut(8));
+
+ keyTextField = new JTextField();
+ this.add(keyTextField);
+
+ this.add(Box.createHorizontalStrut(8));
+ }
+
+ public boolean getEncryptionEnabled() {
+ return cryptCheckBox.isSelected();
+ }
+}
diff --git a/src/eu/steffo/cleaver/gui/CleaverFileSelectPanel.java b/src/eu/steffo/cleaver/gui/CleaverFileSelectPanel.java
index 7450892..e5bbe3d 100644
--- a/src/eu/steffo/cleaver/gui/CleaverFileSelectPanel.java
+++ b/src/eu/steffo/cleaver/gui/CleaverFileSelectPanel.java
@@ -1,11 +1,10 @@
package eu.steffo.cleaver.gui;
import java.awt.*;
-import java.awt.event.*;
import javax.swing.*;
import java.io.File;
-public class CleaverFileSelectPanel extends JPanel {
+public class CleaverFileSelectPanel extends CleaverRowPanel {
protected JFileChooser fileChooser;
protected JButton selectFilesButton;
protected JTextField selectedFilesText;
@@ -14,11 +13,11 @@ public class CleaverFileSelectPanel extends JPanel {
public CleaverFileSelectPanel() {
super();
- this.setLayout(new FlowLayout());
-
fileChooser = new JFileChooser();
fileChooser.setMultiSelectionEnabled(true);
+ this.add(Box.createHorizontalStrut(8));
+
selectFilesButton = new JButton("Select files...");
selectFilesButton.addActionListener(e -> {
fileChooser.showOpenDialog(this);
@@ -27,20 +26,25 @@ public class CleaverFileSelectPanel extends JPanel {
StringBuilder displayedText = new StringBuilder();
for (File file : selectedFiles) {
+ displayedText.append("\"");
displayedText.append(file.getName());
- displayedText.append("; ");
+ displayedText.append("\" ");
}
selectedFilesText.setText(displayedText.toString());
});
this.add(selectFilesButton);
-
selectedFiles = new File[0];
+ this.add(Box.createHorizontalStrut(8));
+
selectedFilesText = new JTextField();
+ selectedFilesText.setMinimumSize(new Dimension(200, 24));
selectedFilesText.setPreferredSize(new Dimension(200, 24));
selectedFilesText.setEditable(false);
this.add(selectedFilesText);
+
+ this.add(Box.createHorizontalStrut(8));
}
public File[] getSelectedFiles() {
diff --git a/src/eu/steffo/cleaver/gui/CleaverFrame.java b/src/eu/steffo/cleaver/gui/CleaverFrame.java
index d0aa32e..6dd861f 100644
--- a/src/eu/steffo/cleaver/gui/CleaverFrame.java
+++ b/src/eu/steffo/cleaver/gui/CleaverFrame.java
@@ -4,8 +4,7 @@ import java.awt.*;
import javax.swing.*;
public class CleaverFrame extends JFrame {
- protected CleaverFileSelectPanel fileSelectPanel;
- protected CleaverModeSelectPanel modeSelectPanel;
+ protected CleaverChopAndStitchPanel chopStitchPanel;
public CleaverFrame() {
super();
@@ -15,11 +14,12 @@ public class CleaverFrame extends JFrame {
cp.setLayout(new BoxLayout(cp, BoxLayout.PAGE_AXIS));
- fileSelectPanel = new CleaverFileSelectPanel();
- cp.add(fileSelectPanel);
+ this.add(Box.createVerticalStrut(4));
- modeSelectPanel = new CleaverModeSelectPanel();
- cp.add(modeSelectPanel);
+ chopStitchPanel = new CleaverChopAndStitchPanel();
+ cp.add(chopStitchPanel);
+
+ this.add(Box.createVerticalStrut(4));
this.pack();
}
diff --git a/src/eu/steffo/cleaver/gui/CleaverModeSelectPanel.java b/src/eu/steffo/cleaver/gui/CleaverModeSelectPanel.java
deleted file mode 100644
index e8efb49..0000000
--- a/src/eu/steffo/cleaver/gui/CleaverModeSelectPanel.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package eu.steffo.cleaver.gui;
-
-import javax.swing.*;
-import java.awt.*;
-
-public class CleaverModeSelectPanel extends JPanel {
- protected JLabel titleLabel;
-
- public CleaverModeSelectPanel() {
- super();
-
- this.setBorder(BorderFactory.createLineBorder(Color.red));
-
- titleLabel = new JLabel("Cleaver Mode Select");
- this.add(titleLabel);
- }
-}
diff --git a/src/eu/steffo/cleaver/gui/CleaverRowPanel.java b/src/eu/steffo/cleaver/gui/CleaverRowPanel.java
new file mode 100644
index 0000000..d3b6cfe
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverRowPanel.java
@@ -0,0 +1,14 @@
+package eu.steffo.cleaver.gui;
+
+import java.awt.*;
+import javax.swing.*;
+
+public abstract class CleaverRowPanel extends JPanel {
+
+ public CleaverRowPanel() {
+ super();
+
+ this.setLayout(new BoxLayout(this, BoxLayout.LINE_AXIS));
+ this.setAlignmentX(Component.LEFT_ALIGNMENT);
+ }
+}
diff --git a/src/eu/steffo/cleaver/gui/CleaverSplitOptionPanel.java b/src/eu/steffo/cleaver/gui/CleaverSplitOptionPanel.java
new file mode 100644
index 0000000..9a9ce4d
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverSplitOptionPanel.java
@@ -0,0 +1,58 @@
+package eu.steffo.cleaver.gui;
+
+import javax.swing.*;
+
+public class CleaverSplitOptionPanel extends CleaverRowPanel {
+ protected JCheckBox compressionCheckBox;
+ protected JSeparator firstSeparator;
+ protected JLabel sizeLabel;
+ protected JTextField sizeTextField;
+ protected JLabel sizeUnitLabel;
+ protected JSeparator secondoSeparator;
+ protected JLabel partsLabel;
+ protected JTextField partsTextField;
+
+ public CleaverSplitOptionPanel() {
+ this.add(Box.createHorizontalStrut(8));
+
+ compressionCheckBox = new JCheckBox("Split");
+ this.add(compressionCheckBox);
+
+ this.add(Box.createHorizontalStrut(8));
+
+ firstSeparator = new JSeparator(JSeparator.VERTICAL);
+ this.add(firstSeparator);
+
+ this.add(Box.createHorizontalStrut(8));
+
+ sizeLabel = new JLabel("Part size");
+ this.add(sizeLabel);
+
+ this.add(Box.createHorizontalStrut(8));
+
+ sizeTextField = new JTextField();
+ this.add(sizeTextField);
+
+ this.add(Box.createHorizontalStrut(2));
+
+ sizeUnitLabel = new JLabel("B");
+ this.add(sizeUnitLabel);
+
+ this.add(Box.createHorizontalStrut(8));
+
+ secondoSeparator = new JSeparator(JSeparator.VERTICAL);
+ this.add(secondoSeparator);
+
+ this.add(Box.createHorizontalStrut(8));
+
+ partsLabel = new JLabel("Parts");
+ this.add(partsLabel);
+
+ this.add(Box.createHorizontalStrut(8));
+
+ partsTextField = new JTextField();
+ this.add(partsTextField);
+
+ this.add(Box.createHorizontalStrut(8));
+ }
+}
diff --git a/src/eu/steffo/cleaver/gui/CleaverStitchPanel.java b/src/eu/steffo/cleaver/gui/CleaverStitchPanel.java
new file mode 100644
index 0000000..af38926
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverStitchPanel.java
@@ -0,0 +1,13 @@
+package eu.steffo.cleaver.gui;
+
+public class CleaverStitchPanel extends CleaverCreateJobPanel {
+
+ @Override
+ protected String getPanelText() {
+ return "Stitch";
+ }
+
+ public CleaverStitchPanel() {
+ super();
+ }
+}
diff --git a/src/eu/steffo/cleaver/gui/CleaverTitlePanel.java b/src/eu/steffo/cleaver/gui/CleaverTitlePanel.java
new file mode 100644
index 0000000..af08200
--- /dev/null
+++ b/src/eu/steffo/cleaver/gui/CleaverTitlePanel.java
@@ -0,0 +1,16 @@
+package eu.steffo.cleaver.gui;
+
+import javax.swing.*;
+
+public class CleaverTitlePanel extends CleaverRowPanel {
+ protected JLabel titleLabel;
+
+ public CleaverTitlePanel(String str) {
+ this.add(Box.createHorizontalStrut(8));
+
+ titleLabel = new JLabel(str);
+ this.add(titleLabel);
+
+ this.add(Box.createHorizontalStrut(8));
+ }
+}