summaryrefslogtreecommitdiff
path: root/WaterfallFile_UI/ContentView.swift
diff options
context:
space:
mode:
authorArturs Artamonovs <arturs.artamonovs@protonmail.com>2025-01-05 10:07:35 +0000
committerArturs Artamonovs <arturs.artamonovs@protonmail.com>2025-01-05 10:07:35 +0000
commitf923a3824561c6cf200c638e3d44d1cbf4adf7d8 (patch)
treecdf4d935e8be653a7d296d4cd48e06cffd3b376d /WaterfallFile_UI/ContentView.swift
parentb999f85d83728bd7034e85f2e038bb9a6454b16a (diff)
downloadPrySDR-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.swift94
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)
+}