Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Advanced Shuffle Editor #70

Merged
merged 41 commits into from
Aug 9, 2021
Merged
Show file tree
Hide file tree
Changes from 36 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
a2b53fd
Have draggable nodes (demo)
Gaming32 Jul 18, 2021
4f0b1aa
Finish demo editor editing (serialization still to come)
Gaming32 Jul 18, 2021
647fd8e
Implement demo in Java
Gaming32 Jul 18, 2021
43b263e
Implement the Collection interface, fix bugs, and add support for dis…
Gaming32 Jul 22, 2021
712a1b6
Make it actually work
Gaming32 Jul 23, 2021
aef921b
Add button (took a lot of effort lol)
Gaming32 Jul 23, 2021
170f763
It's alive!
Gaming32 Jul 24, 2021
e00ec64
Import/export feature
Gaming32 Jul 24, 2021
7697ef1
Improve errors
Gaming32 Jul 24, 2021
418e1ad
Fix distribution shuffling
Gaming32 Jul 24, 2021
74cd7eb
Add some labels
Gaming32 Jul 26, 2021
f4abca3
Add warped distributions
Gaming32 Jul 26, 2021
d665699
Merge branch 'new-shuffles' of https://github.com/gaming32/ArrayV-v4.…
Gaming32 Jul 26, 2021
b9f03fc
Reimplement and deprecate old method
Gaming32 Jul 27, 2021
0353c34
GUI improvements
Gaming32 Jul 27, 2021
bc05cb3
Add dragging limit for nodes
Gaming32 Jul 27, 2021
3e00fb7
Add panning using middle click
Gaming32 Jul 27, 2021
3832028
Revamp scrambled tail/head
Gaming32 Jul 27, 2021
acb0175
Remove some redundant shuffles
Gaming32 Jul 27, 2021
202fa4d
Fix infinite shuffle loops
Gaming32 Jul 28, 2021
80acaeb
Improve the Choose Shuffle dialog
Gaming32 Jul 28, 2021
fcec386
Fix bug(s)
Gaming32 Jul 28, 2021
76a4991
Shrink text when necessary
Gaming32 Jul 29, 2021
08187dc
Add base distribution selector
Gaming32 Aug 2, 2021
52ffda5
Change heading
Gaming32 Aug 2, 2021
8c2edf3
Delete shuffle_editor_test.py
Gaming32 Aug 4, 2021
9905de5
Update CustomImageDialog.java
Gaming32 Aug 4, 2021
c2ae11a
Update ArrayManager.java
Gaming32 Aug 4, 2021
09f9d08
Offset added nodes
Gaming32 Aug 5, 2021
7eb5a7b
Add a button to clear disconnected nodes
Gaming32 Aug 5, 2021
c69d7e0
Added sleep ratio and made coordinates optional in shuffle files
Gaming32 Aug 6, 2021
7abe505
Add GUI
Gaming32 Aug 6, 2021
d7da291
Rename Node and Connection classes
Gaming32 Aug 6, 2021
095143d
Update ShufflePrompt.java
Gaming32 Aug 6, 2021
0ebba95
Ignore CUSTOM distribution
Gaming32 Aug 6, 2021
22eaa5e
Update ShuffleDialog.java
Gaming32 Aug 6, 2021
215430f
Update Noisily sorted.txt
Gaming32 Aug 7, 2021
f83b9a7
Rename findSafeCoordinate to findSafeCoordinates
Gaming32 Aug 9, 2021
bd42a95
Add delays per sub-shuffle
Gaming32 Aug 9, 2021
6d00b59
Remove an unnecessary field
Gaming32 Aug 9, 2021
5a26192
Persist the per-shuffle delay checkbox
Gaming32 Aug 9, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions Noisily sorted.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
2 2
Gaming32 marked this conversation as resolved.
Show resolved Hide resolved
N true RANDOM true 0 1
N false SORTED 1 -1
C 0 1
C 1 2
EmeraldBlock marked this conversation as resolved.
Show resolved Hide resolved
4 changes: 4 additions & 0 deletions backwards slightly random.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
N false REVERSE 25 15 0 1
N false ALMOST 275 15 1 -1
C 0 1
C 1 2
18 changes: 9 additions & 9 deletions src/dialogs/CustomImageDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ public CustomImageDialog() {
FileNameExtensionFilter webmpImages = new FileNameExtensionFilter("WEBMP Images", "wbmp");

this.removeAllFilesOption();
this.fileDialog.addChoosableFileFilter(allImages);
this.fileDialog.addChoosableFileFilter(jpegImages);
this.fileDialog.addChoosableFileFilter(pngImages);
this.fileDialog.addChoosableFileFilter(gifImages);
this.fileDialog.addChoosableFileFilter(bmpImages);
this.fileDialog.addChoosableFileFilter(webmpImages);
fileDialog.addChoosableFileFilter(allImages);
fileDialog.addChoosableFileFilter(jpegImages);
fileDialog.addChoosableFileFilter(pngImages);
fileDialog.addChoosableFileFilter(gifImages);
fileDialog.addChoosableFileFilter(bmpImages);
fileDialog.addChoosableFileFilter(webmpImages);

this.fileDialog.setDialogTitle("Choose an image...");
fileDialog.setDialogTitle("Choose an image...");

this.fileDialog.showDialog(null, "Select");
this.file = this.fileDialog.getSelectedFile();
fileDialog.showOpenDialog(null);
this.file = fileDialog.getSelectedFile();
}
}
12 changes: 12 additions & 0 deletions src/dialogs/ExportShuffleDialog.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package dialogs;

final public class ExportShuffleDialog extends FileDialog {
public ExportShuffleDialog() {
super();

fileDialog.setDialogTitle("Choose where to export the current shuffle graph...");

fileDialog.showSaveDialog(null);
this.file = fileDialog.getSelectedFile();
}
}
12 changes: 12 additions & 0 deletions src/dialogs/ImportShuffleDialog.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package dialogs;

final public class ImportShuffleDialog extends FileDialog {
public ImportShuffleDialog() {
super();

fileDialog.setDialogTitle("Choose where to import the current shuffle graph from...");

fileDialog.showOpenDialog(null);
this.file = fileDialog.getSelectedFile();
}
}
8 changes: 4 additions & 4 deletions src/dialogs/ImportSortDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ public ImportSortDialog() {

FileNameExtensionFilter javaFiles = new FileNameExtensionFilter("Java Source Files (.java)", "java");
this.removeAllFilesOption();
this.fileDialog.addChoosableFileFilter(javaFiles);
fileDialog.addChoosableFileFilter(javaFiles);

this.fileDialog.setDialogTitle("Choose a sort file to import...");
fileDialog.setDialogTitle("Choose a sort file to import...");

this.fileDialog.showDialog(null, "Select");
this.file = this.fileDialog.getSelectedFile();
fileDialog.showOpenDialog(null);
this.file = fileDialog.getSelectedFile();
Gaming32 marked this conversation as resolved.
Show resolved Hide resolved
}
}
6 changes: 3 additions & 3 deletions src/dialogs/LoadCustomDistributionDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ final public class LoadCustomDistributionDialog extends FileDialog {
public LoadCustomDistributionDialog() {
super();

this.fileDialog.setDialogTitle("Choose a distribution file...");
fileDialog.setDialogTitle("Choose a distribution file...");

this.fileDialog.showDialog(null, "Select");
this.file = this.fileDialog.getSelectedFile();
fileDialog.showDialog(null, "Select");
this.file = fileDialog.getSelectedFile();
}
}
6 changes: 3 additions & 3 deletions src/dialogs/RunScriptDialog.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ final public class RunScriptDialog extends FileDialog {
public RunScriptDialog() {
super();

this.fileDialog.setDialogTitle("Choose a script file...");
fileDialog.setDialogTitle("Choose a script file...");

this.fileDialog.showDialog(null, "Select");
this.file = this.fileDialog.getSelectedFile();
fileDialog.showDialog(null, "Select");
this.file = fileDialog.getSelectedFile();
}
}
8 changes: 3 additions & 5 deletions src/dialogs/SaveArrayDialog.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package dialogs;

import javax.swing.filechooser.FileNameExtensionFilter;

final public class SaveArrayDialog extends FileDialog {
public SaveArrayDialog() {
super();

this.fileDialog.setDialogTitle("Choose where to save the contents of the main array...");
fileDialog.setDialogTitle("Choose where to save the contents of the main array...");

this.fileDialog.showSaveDialog(null);
this.file = this.fileDialog.getSelectedFile();
fileDialog.showSaveDialog(null);
this.file = fileDialog.getSelectedFile();
}
}
Loading