diff options
author | Arturs Artamonovs <arturs.artamonovs@protonmail.com> | 2025-01-05 10:07:35 +0000 |
---|---|---|
committer | Arturs Artamonovs <arturs.artamonovs@protonmail.com> | 2025-01-05 10:07:35 +0000 |
commit | f923a3824561c6cf200c638e3d44d1cbf4adf7d8 (patch) | |
tree | cdf4d935e8be653a7d296d4cd48e06cffd3b376d /WaterfallFile_UI/ContentView.swift | |
parent | b999f85d83728bd7034e85f2e038bb9a6454b16a (diff) | |
download | PrySDR-f923a3824561c6cf200c638e3d44d1cbf4adf7d8.tar.gz PrySDR-f923a3824561c6cf200c638e3d44d1cbf4adf7d8.zip |
Waterfall: drawing from file initial implementatiom, visual version concept is ready
Diffstat (limited to 'WaterfallFile_UI/ContentView.swift')
-rw-r--r-- | WaterfallFile_UI/ContentView.swift | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/WaterfallFile_UI/ContentView.swift b/WaterfallFile_UI/ContentView.swift new file mode 100644 index 0000000..92445d8 --- /dev/null +++ b/WaterfallFile_UI/ContentView.swift @@ -0,0 +1,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) +} |