summaryrefslogtreecommitdiff
path: root/WaterfallFile_UI/ContentView.swift
blob: 92445d824ac8270879cb57dad7dfd5ef011d5e7c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//
//  ContentView.swift
//  WaterfallFile_UI
//
//  Created by Jacky Jack on 23/12/2024.
//

import SwiftUI
import SwiftData
import AppKit


struct ContentView: View {
    @Environment(\.modelContext) private var modelContext
    
    @EnvironmentObject var fileSpectrum: FileSpectrum
    
    @State private var image: Image?
    
    @Query private var items: [Item]

    var body: some View {
        /*
        NavigationSplitView {
            List {
                ForEach(items) { item in
                    NavigationLink {
                        Text("Item at \(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))")
                    } label: {
                        Text(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))
                    }
                }
                .onDelete(perform: deleteItems)
            }
            .navigationSplitViewColumnWidth(min: 180, ideal: 200)
            .toolbar {
                ToolbarItem {
                    Button(action: addItem) {
                        Label("Add Item", systemImage: "plus")
                    }
                }
            }
        } detail: {
            Text("Select an item")
        }
        */
        //Image(decorative: fileSpectrum.makeSpectrogramImage(), scale: 1.0, orientation: .left)
        VStack {
            //Image(nsImage:fileSpectrum.outputImage)
            Image(decorative: fileSpectrum.outputImage,
                              scale: 1,
                              orientation: .left)
                        //.resizable()
            
            
            //Image(fileSpectrum.makeSpectrogramImage(), scale: 1, orientation:.left, label: "Image")
            //Image(decorative: fileSpectrum.makeSpectrogramImage(), scale: 1.0, orientation: .left)
            //Image(nsImage: fileSpectrum.makeSpectrogramImage())
            HStack {
                Text("Hello world")
                    .padding()
                Button("Start") {
                    print("Start")
                }
                Button("Stop") {
                    print("Stop")
                }
                Button("Load") {
                    print("Load")
                }
            }
        }
    }

    private func addItem() {
        withAnimation {
            let newItem = Item(timestamp: Date())
            modelContext.insert(newItem)
        }
    }

    private func deleteItems(offsets: IndexSet) {
        withAnimation {
            for index in offsets {
                modelContext.delete(items[index])
            }
        }
    }
}

#Preview {
    ContentView()
        .modelContainer(for: Item.self, inMemory: true)
}