aboutsummaryrefslogtreecommitdiff
path: root/src/ui.rs
diff options
context:
space:
mode:
authoromagdy7 <omar.professional8777@gmail.com>2022-10-23 21:29:17 +0200
committeromagdy7 <omar.professional8777@gmail.com>2022-10-23 21:29:17 +0200
commited0404753c77c09f78b2c41b55b0cf9a68d95585 (patch)
treec57bf7f34dc1271be169cd79d47fe29aac8960bc /src/ui.rs
parentc04487126bb50e29b5f25cf4ece5f00522b9160d (diff)
downloadgof-rs-ed0404753c77c09f78b2c41b55b0cf9a68d95585.tar.xz
gof-rs-ed0404753c77c09f78b2c41b55b0cf9a68d95585.zip
removed all the hardcoded paths and replaced them with a for loop
Diffstat (limited to 'src/ui.rs')
-rw-r--r--src/ui.rs2585
1 files changed, 16 insertions, 2569 deletions
diff --git a/src/ui.rs b/src/ui.rs
index b63956d..4b27b82 100644
--- a/src/ui.rs
+++ b/src/ui.rs
@@ -6,7 +6,7 @@ use crossterm::{
use std::{
error::Error,
io,
- path::Path,
+ path::{Path, PathBuf},
thread::sleep,
time::{Duration, Instant},
};
@@ -74,2576 +74,23 @@ impl<T> StatefulList<T> {
///
/// Check the event handling at the bottom to see how to change the state on incoming events.
/// Check the drawing logic for items on how to specify the highlighting style for selected items.
-pub struct App<'a> {
- pub items: StatefulList<(&'a str, &'a Path)>,
+pub struct App {
+ pub items: StatefulList<(String, PathBuf)>,
pub flag_cur: bool,
pub layout: Layout,
pub cur_gen: Gen,
}
-impl<'a> App<'a> {
- pub fn new() -> App<'a> {
+impl App {
+ pub fn new() -> App {
+ let mut v = vec![];
+ for i in 1..=513 {
+ let name = format!("pattern{}", i);
+ let p = format!("./presets/patterns/pattern{}.txt", i);
+ v.push((name.to_owned(), Path::new(p.as_str()).to_owned()));
+ }
App {
- items: StatefulList::with_items(vec![
- (
- "pattern1",
- Path::new("./presets/patterns/pattern1.txt")
- ),
- (
- "pattern2",
- Path::new("./presets/patterns/pattern2.txt")
- ),
-
- (
- "pattern3",
- Path::new("./presets/patterns/pattern3.txt")
- ),
-
- (
- "pattern4",
- Path::new("./presets/patterns/pattern4.txt")
- ),
-
- (
- "pattern5",
- Path::new("./presets/patterns/pattern5.txt")
- ),
-
- (
- "pattern6",
- Path::new("./presets/patterns/pattern6.txt")
- ),
-
- (
- "pattern7",
- Path::new("./presets/patterns/pattern7.txt")
- ),
-
- (
- "pattern8",
- Path::new("./presets/patterns/pattern8.txt")
- ),
-
- (
- "pattern9",
- Path::new("./presets/patterns/pattern9.txt")
- ),
-
- (
- "pattern10",
- Path::new("./presets/patterns/pattern10.txt")
- ),
-
- (
- "pattern11",
- Path::new("./presets/patterns/pattern11.txt")
- ),
-
- (
- "pattern12",
- Path::new("./presets/patterns/pattern12.txt")
- ),
-
- (
- "pattern13",
- Path::new("./presets/patterns/pattern13.txt")
- ),
-
- (
- "pattern14",
- Path::new("./presets/patterns/pattern14.txt")
- ),
-
- (
- "pattern15",
- Path::new("./presets/patterns/pattern15.txt")
- ),
-
- (
- "pattern16",
- Path::new("./presets/patterns/pattern16.txt")
- ),
-
- (
- "pattern17",
- Path::new("./presets/patterns/pattern17.txt")
- ),
-
- (
- "pattern18",
- Path::new("./presets/patterns/pattern18.txt")
- ),
-
- (
- "pattern19",
- Path::new("./presets/patterns/pattern19.txt")
- ),
-
- (
- "pattern20",
- Path::new("./presets/patterns/pattern20.txt")
- ),
-
- (
- "pattern21",
- Path::new("./presets/patterns/pattern21.txt")
- ),
-
- (
- "pattern22",
- Path::new("./presets/patterns/pattern22.txt")
- ),
-
- (
- "pattern23",
- Path::new("./presets/patterns/pattern23.txt")
- ),
-
- (
- "pattern24",
- Path::new("./presets/patterns/pattern24.txt")
- ),
-
- (
- "pattern25",
- Path::new("./presets/patterns/pattern25.txt")
- ),
-
- (
- "pattern26",
- Path::new("./presets/patterns/pattern26.txt")
- ),
-
- (
- "pattern27",
- Path::new("./presets/patterns/pattern27.txt")
- ),
-
- (
- "pattern28",
- Path::new("./presets/patterns/pattern28.txt")
- ),
-
- (
- "pattern29",
- Path::new("./presets/patterns/pattern29.txt")
- ),
-
- (
- "pattern30",
- Path::new("./presets/patterns/pattern30.txt")
- ),
-
- (
- "pattern31",
- Path::new("./presets/patterns/pattern31.txt")
- ),
-
- (
- "pattern32",
- Path::new("./presets/patterns/pattern32.txt")
- ),
-
- (
- "pattern33",
- Path::new("./presets/patterns/pattern33.txt")
- ),
-
- (
- "pattern34",
- Path::new("./presets/patterns/pattern34.txt")
- ),
-
- (
- "pattern35",
- Path::new("./presets/patterns/pattern35.txt")
- ),
-
- (
- "pattern36",
- Path::new("./presets/patterns/pattern36.txt")
- ),
-
- (
- "pattern37",
- Path::new("./presets/patterns/pattern37.txt")
- ),
-
- (
- "pattern38",
- Path::new("./presets/patterns/pattern38.txt")
- ),
-
- (
- "pattern39",
- Path::new("./presets/patterns/pattern39.txt")
- ),
-
- (
- "pattern40",
- Path::new("./presets/patterns/pattern40.txt")
- ),
-
- (
- "pattern41",
- Path::new("./presets/patterns/pattern41.txt")
- ),
-
- (
- "pattern42",
- Path::new("./presets/patterns/pattern42.txt")
- ),
-
- (
- "pattern43",
- Path::new("./presets/patterns/pattern43.txt")
- ),
-
- (
- "pattern44",
- Path::new("./presets/patterns/pattern44.txt")
- ),
-
- (
- "pattern45",
- Path::new("./presets/patterns/pattern45.txt")
- ),
-
- (
- "pattern46",
- Path::new("./presets/patterns/pattern46.txt")
- ),
-
- (
- "pattern47",
- Path::new("./presets/patterns/pattern47.txt")
- ),
-
- (
- "pattern48",
- Path::new("./presets/patterns/pattern48.txt")
- ),
-
- (
- "pattern49",
- Path::new("./presets/patterns/pattern49.txt")
- ),
-
- (
- "pattern50",
- Path::new("./presets/patterns/pattern50.txt")
- ),
-
- (
- "pattern51",
- Path::new("./presets/patterns/pattern51.txt")
- ),
-
- (
- "pattern52",
- Path::new("./presets/patterns/pattern52.txt")
- ),
-
- (
- "pattern53",
- Path::new("./presets/patterns/pattern53.txt")
- ),
-
- (
- "pattern54",
- Path::new("./presets/patterns/pattern54.txt")
- ),
-
- (
- "pattern55",
- Path::new("./presets/patterns/pattern55.txt")
- ),
-
- (
- "pattern56",
- Path::new("./presets/patterns/pattern56.txt")
- ),
-
- (
- "pattern57",
- Path::new("./presets/patterns/pattern57.txt")
- ),
-
- (
- "pattern58",
- Path::new("./presets/patterns/pattern58.txt")
- ),
-
- (
- "pattern59",
- Path::new("./presets/patterns/pattern59.txt")
- ),
-
- (
- "pattern60",
- Path::new("./presets/patterns/pattern60.txt")
- ),
-
- (
- "pattern61",
- Path::new("./presets/patterns/pattern61.txt")
- ),
-
- (
- "pattern62",
- Path::new("./presets/patterns/pattern62.txt")
- ),
-
- (
- "pattern63",
- Path::new("./presets/patterns/pattern63.txt")
- ),
-
- (
- "pattern64",
- Path::new("./presets/patterns/pattern64.txt")
- ),
-
- (
- "pattern65",
- Path::new("./presets/patterns/pattern65.txt")
- ),
-
- (
- "pattern66",
- Path::new("./presets/patterns/pattern66.txt")
- ),
-
- (
- "pattern67",
- Path::new("./presets/patterns/pattern67.txt")
- ),
-
- (
- "pattern68",
- Path::new("./presets/patterns/pattern68.txt")
- ),
-
- (
- "pattern69",
- Path::new("./presets/patterns/pattern69.txt")
- ),
-
- (
- "pattern70",
- Path::new("./presets/patterns/pattern70.txt")
- ),
-
- (
- "pattern71",
- Path::new("./presets/patterns/pattern71.txt")
- ),
-
- (
- "pattern72",
- Path::new("./presets/patterns/pattern72.txt")
- ),
-
- (
- "pattern73",
- Path::new("./presets/patterns/pattern73.txt")
- ),
-
- (
- "pattern74",
- Path::new("./presets/patterns/pattern74.txt")
- ),
-
- (
- "pattern75",
- Path::new("./presets/patterns/pattern75.txt")
- ),
-
- (
- "pattern76",
- Path::new("./presets/patterns/pattern76.txt")
- ),
-
- (
- "pattern77",
- Path::new("./presets/patterns/pattern77.txt")
- ),
-
- (
- "pattern78",
- Path::new("./presets/patterns/pattern78.txt")
- ),
-
- (
- "pattern79",
- Path::new("./presets/patterns/pattern79.txt")
- ),
-
- (
- "pattern80",
- Path::new("./presets/patterns/pattern80.txt")
- ),
-
- (
- "pattern81",
- Path::new("./presets/patterns/pattern81.txt")
- ),
-
- (
- "pattern82",
- Path::new("./presets/patterns/pattern82.txt")
- ),
-
- (
- "pattern83",
- Path::new("./presets/patterns/pattern83.txt")
- ),
-
- (
- "pattern84",
- Path::new("./presets/patterns/pattern84.txt")
- ),
-
- (
- "pattern85",
- Path::new("./presets/patterns/pattern85.txt")
- ),
-
- (
- "pattern86",
- Path::new("./presets/patterns/pattern86.txt")
- ),
-
- (
- "pattern87",
- Path::new("./presets/patterns/pattern87.txt")
- ),
-
- (
- "pattern88",
- Path::new("./presets/patterns/pattern88.txt")
- ),
-
- (
- "pattern89",
- Path::new("./presets/patterns/pattern89.txt")
- ),
-
- (
- "pattern90",
- Path::new("./presets/patterns/pattern90.txt")
- ),
-
- (
- "pattern91",
- Path::new("./presets/patterns/pattern91.txt")
- ),
-
- (
- "pattern92",
- Path::new("./presets/patterns/pattern92.txt")
- ),
-
- (
- "pattern93",
- Path::new("./presets/patterns/pattern93.txt")
- ),
-
- (
- "pattern94",
- Path::new("./presets/patterns/pattern94.txt")
- ),
-
- (
- "pattern95",
- Path::new("./presets/patterns/pattern95.txt")
- ),
-
- (
- "pattern96",
- Path::new("./presets/patterns/pattern96.txt")
- ),
-
- (
- "pattern97",
- Path::new("./presets/patterns/pattern97.txt")
- ),
-
- (
- "pattern98",
- Path::new("./presets/patterns/pattern98.txt")
- ),
-
- (
- "pattern99",
- Path::new("./presets/patterns/pattern99.txt")
- ),
-
- (
- "pattern100",
- Path::new("./presets/patterns/pattern100.txt")
- ),
-
- (
- "pattern101",
- Path::new("./presets/patterns/pattern101.txt")
- ),
-
- (
- "pattern102",
- Path::new("./presets/patterns/pattern102.txt")
- ),
-
- (
- "pattern103",
- Path::new("./presets/patterns/pattern103.txt")
- ),
-
- (
- "pattern104",
- Path::new("./presets/patterns/pattern104.txt")
- ),
-
- (
- "pattern105",
- Path::new("./presets/patterns/pattern105.txt")
- ),
-
- (
- "pattern106",
- Path::new("./presets/patterns/pattern106.txt")
- ),
-
- (
- "pattern107",
- Path::new("./presets/patterns/pattern107.txt")
- ),
-
- (
- "pattern108",
- Path::new("./presets/patterns/pattern108.txt")
- ),
-
- (
- "pattern109",
- Path::new("./presets/patterns/pattern109.txt")
- ),
-
- (
- "pattern110",
- Path::new("./presets/patterns/pattern110.txt")
- ),
-
- (
- "pattern111",
- Path::new("./presets/patterns/pattern111.txt")
- ),
-
- (
- "pattern112",
- Path::new("./presets/patterns/pattern112.txt")
- ),
-
- (
- "pattern113",
- Path::new("./presets/patterns/pattern113.txt")
- ),
-
- (
- "pattern114",
- Path::new("./presets/patterns/pattern114.txt")
- ),
-
- (
- "pattern115",
- Path::new("./presets/patterns/pattern115.txt")
- ),
-
- (
- "pattern116",
- Path::new("./presets/patterns/pattern116.txt")
- ),
-
- (
- "pattern117",
- Path::new("./presets/patterns/pattern117.txt")
- ),
-
- (
- "pattern118",
- Path::new("./presets/patterns/pattern118.txt")
- ),
-
- (
- "pattern119",
- Path::new("./presets/patterns/pattern119.txt")
- ),
-
- (
- "pattern120",
- Path::new("./presets/patterns/pattern120.txt")
- ),
-
- (
- "pattern121",
- Path::new("./presets/patterns/pattern121.txt")
- ),
-
- (
- "pattern122",
- Path::new("./presets/patterns/pattern122.txt")
- ),
-
- (
- "pattern123",
- Path::new("./presets/patterns/pattern123.txt")
- ),
-
- (
- "pattern124",
- Path::new("./presets/patterns/pattern124.txt")
- ),
-
- (
- "pattern125",
- Path::new("./presets/patterns/pattern125.txt")
- ),
-
- (
- "pattern126",
- Path::new("./presets/patterns/pattern126.txt")
- ),
-
- (
- "pattern127",
- Path::new("./presets/patterns/pattern127.txt")
- ),
-
- (
- "pattern128",
- Path::new("./presets/patterns/pattern128.txt")
- ),
-
- (
- "pattern129",
- Path::new("./presets/patterns/pattern129.txt")
- ),
-
- (
- "pattern130",
- Path::new("./presets/patterns/pattern130.txt")
- ),
-
- (
- "pattern131",
- Path::new("./presets/patterns/pattern131.txt")
- ),
-
- (
- "pattern132",
- Path::new("./presets/patterns/pattern132.txt")
- ),
-
- (
- "pattern133",
- Path::new("./presets/patterns/pattern133.txt")
- ),
-
- (
- "pattern134",
- Path::new("./presets/patterns/pattern134.txt")
- ),
-
- (
- "pattern135",
- Path::new("./presets/patterns/pattern135.txt")
- ),
-
- (
- "pattern136",
- Path::new("./presets/patterns/pattern136.txt")
- ),
-
- (
- "pattern137",
- Path::new("./presets/patterns/pattern137.txt")
- ),
-
- (
- "pattern138",
- Path::new("./presets/patterns/pattern138.txt")
- ),
-
- (
- "pattern139",
- Path::new("./presets/patterns/pattern139.txt")
- ),
-
- (
- "pattern140",
- Path::new("./presets/patterns/pattern140.txt")
- ),
-
- (
- "pattern141",
- Path::new("./presets/patterns/pattern141.txt")
- ),
-
- (
- "pattern142",
- Path::new("./presets/patterns/pattern142.txt")
- ),
-
- (
- "pattern143",
- Path::new("./presets/patterns/pattern143.txt")
- ),
-
- (
- "pattern144",
- Path::new("./presets/patterns/pattern144.txt")
- ),
-
- (
- "pattern145",
- Path::new("./presets/patterns/pattern145.txt")
- ),
-
- (
- "pattern146",
- Path::new("./presets/patterns/pattern146.txt")
- ),
-
- (
- "pattern147",
- Path::new("./presets/patterns/pattern147.txt")
- ),
-
- (
- "pattern148",
- Path::new("./presets/patterns/pattern148.txt")
- ),
-
- (
- "pattern149",
- Path::new("./presets/patterns/pattern149.txt")
- ),
-
- (
- "pattern150",
- Path::new("./presets/patterns/pattern150.txt")
- ),
-
- (
- "pattern151",
- Path::new("./presets/patterns/pattern151.txt")
- ),
-
- (
- "pattern152",
- Path::new("./presets/patterns/pattern152.txt")
- ),
-
- (
- "pattern153",
- Path::new("./presets/patterns/pattern153.txt")
- ),
-
- (
- "pattern154",
- Path::new("./presets/patterns/pattern154.txt")
- ),
-
- (
- "pattern155",
- Path::new("./presets/patterns/pattern155.txt")
- ),
-
- (
- "pattern156",
- Path::new("./presets/patterns/pattern156.txt")
- ),
-
- (
- "pattern157",
- Path::new("./presets/patterns/pattern157.txt")
- ),
-
- (
- "pattern158",
- Path::new("./presets/patterns/pattern158.txt")
- ),
-
- (
- "pattern159",
- Path::new("./presets/patterns/pattern159.txt")
- ),
-
- (
- "pattern160",
- Path::new("./presets/patterns/pattern160.txt")
- ),
-
- (
- "pattern161",
- Path::new("./presets/patterns/pattern161.txt")
- ),
-
- (
- "pattern162",
- Path::new("./presets/patterns/pattern162.txt")
- ),
-
- (
- "pattern163",
- Path::new("./presets/patterns/pattern163.txt")
- ),
-
- (
- "pattern164",
- Path::new("./presets/patterns/pattern164.txt")
- ),
-
- (
- "pattern165",
- Path::new("./presets/patterns/pattern165.txt")
- ),
-
- (
- "pattern166",
- Path::new("./presets/patterns/pattern166.txt")
- ),
-
- (
- "pattern167",
- Path::new("./presets/patterns/pattern167.txt")
- ),
-
- (
- "pattern168",
- Path::new("./presets/patterns/pattern168.txt")
- ),
-
- (
- "pattern169",
- Path::new("./presets/patterns/pattern169.txt")
- ),
-
- (
- "pattern170",
- Path::new("./presets/patterns/pattern170.txt")
- ),
-
- (
- "pattern171",
- Path::new("./presets/patterns/pattern171.txt")
- ),
-
- (
- "pattern172",
- Path::new("./presets/patterns/pattern172.txt")
- ),
-
- (
- "pattern173",
- Path::new("./presets/patterns/pattern173.txt")
- ),
-
- (
- "pattern174",
- Path::new("./presets/patterns/pattern174.txt")
- ),
-
- (
- "pattern175",
- Path::new("./presets/patterns/pattern175.txt")
- ),
-
- (
- "pattern176",
- Path::new("./presets/patterns/pattern176.txt")
- ),
-
- (
- "pattern177",
- Path::new("./presets/patterns/pattern177.txt")
- ),
-
- (
- "pattern178",
- Path::new("./presets/patterns/pattern178.txt")
- ),
-
- (
- "pattern179",
- Path::new("./presets/patterns/pattern179.txt")
- ),
-
- (
- "pattern180",
- Path::new("./presets/patterns/pattern180.txt")
- ),
-
- (
- "pattern181",
- Path::new("./presets/patterns/pattern181.txt")
- ),
-
- (
- "pattern182",
- Path::new("./presets/patterns/pattern182.txt")
- ),
-
- (
- "pattern183",
- Path::new("./presets/patterns/pattern183.txt")
- ),
-
- (
- "pattern184",
- Path::new("./presets/patterns/pattern184.txt")
- ),
-
- (
- "pattern185",
- Path::new("./presets/patterns/pattern185.txt")
- ),
-
- (
- "pattern186",
- Path::new("./presets/patterns/pattern186.txt")
- ),
-
- (
- "pattern187",
- Path::new("./presets/patterns/pattern187.txt")
- ),
-
- (
- "pattern188",
- Path::new("./presets/patterns/pattern188.txt")
- ),
-
- (
- "pattern189",
- Path::new("./presets/patterns/pattern189.txt")
- ),
-
- (
- "pattern190",
- Path::new("./presets/patterns/pattern190.txt")
- ),
-
- (
- "pattern191",
- Path::new("./presets/patterns/pattern191.txt")
- ),
-
- (
- "pattern192",
- Path::new("./presets/patterns/pattern192.txt")
- ),
-
- (
- "pattern193",
- Path::new("./presets/patterns/pattern193.txt")
- ),
-
- (
- "pattern194",
- Path::new("./presets/patterns/pattern194.txt")
- ),
-
- (
- "pattern195",
- Path::new("./presets/patterns/pattern195.txt")
- ),
-
- (
- "pattern196",
- Path::new("./presets/patterns/pattern196.txt")
- ),
-
- (
- "pattern197",
- Path::new("./presets/patterns/pattern197.txt")
- ),
-
- (
- "pattern198",
- Path::new("./presets/patterns/pattern198.txt")
- ),
-
- (
- "pattern199",
- Path::new("./presets/patterns/pattern199.txt")
- ),
-
- (
- "pattern200",
- Path::new("./presets/patterns/pattern200.txt")
- ),
-
- (
- "pattern201",
- Path::new("./presets/patterns/pattern201.txt")
- ),
-
- (
- "pattern202",
- Path::new("./presets/patterns/pattern202.txt")
- ),
-
- (
- "pattern203",
- Path::new("./presets/patterns/pattern203.txt")
- ),
-
- (
- "pattern204",
- Path::new("./presets/patterns/pattern204.txt")
- ),
-
- (
- "pattern205",
- Path::new("./presets/patterns/pattern205.txt")
- ),
-
- (
- "pattern206",
- Path::new("./presets/patterns/pattern206.txt")
- ),
-
- (
- "pattern207",
- Path::new("./presets/patterns/pattern207.txt")
- ),
-
- (
- "pattern208",
- Path::new("./presets/patterns/pattern208.txt")
- ),
-
- (
- "pattern209",
- Path::new("./presets/patterns/pattern209.txt")
- ),
-
- (
- "pattern210",
- Path::new("./presets/patterns/pattern210.txt")
- ),
-
- (
- "pattern211",
- Path::new("./presets/patterns/pattern211.txt")
- ),
-
- (
- "pattern212",
- Path::new("./presets/patterns/pattern212.txt")
- ),
-
- (
- "pattern213",
- Path::new("./presets/patterns/pattern213.txt")
- ),
-
- (
- "pattern214",
- Path::new("./presets/patterns/pattern214.txt")
- ),
-
- (
- "pattern215",
- Path::new("./presets/patterns/pattern215.txt")
- ),
-
- (
- "pattern216",
- Path::new("./presets/patterns/pattern216.txt")
- ),
-
- (
- "pattern217",
- Path::new("./presets/patterns/pattern217.txt")
- ),
-
- (
- "pattern218",
- Path::new("./presets/patterns/pattern218.txt")
- ),
-
- (
- "pattern219",
- Path::new("./presets/patterns/pattern219.txt")
- ),
-
- (
- "pattern220",
- Path::new("./presets/patterns/pattern220.txt")
- ),
-
- (
- "pattern221",
- Path::new("./presets/patterns/pattern221.txt")
- ),
-
- (
- "pattern222",
- Path::new("./presets/patterns/pattern222.txt")
- ),
-
- (
- "pattern223",
- Path::new("./presets/patterns/pattern223.txt")
- ),
-
- (
- "pattern224",
- Path::new("./presets/patterns/pattern224.txt")
- ),
-
- (
- "pattern225",
- Path::new("./presets/patterns/pattern225.txt")
- ),
-
- (
- "pattern226",
- Path::new("./presets/patterns/pattern226.txt")