// // 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) }