Advertisement
dartmeadow

csm

Aug 6th, 2021
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 5.27 KB | None | 0 0
  1. //
  2. //  ContentView.swift
  3. //  Cotharticren
  4. //
  5. //  Created by Justin Venable on 8/4/21.
  6. //
  7. import Foundation
  8. import SwiftUI
  9. import CoreData
  10. import Combine
  11.  
  12. struct windowSize {
  13. let minWidth : CGFloat = 100
  14. let minHeight : CGFloat = 100
  15. let maxWidth : CGFloat = 600
  16. let maxHeight : CGFloat = 600
  17. }
  18.  
  19. struct ContentView: View {
  20.     @State var fahrenheit = Double()
  21.     @State var fahrenheitresult = Double()
  22.     @State var celsius = Double()
  23.     @State var celsiusresult = Double()
  24.     @State var sigfah = Double()
  25.     @State var sigfahresult = Double()
  26.     @State var sigcel = Double()
  27.     @State var sigcelresult = Double()
  28.    
  29.     let formatter: NumberFormatter = {
  30.             let formatter = NumberFormatter()
  31.             formatter.numberStyle = .decimal
  32.             return formatter
  33.         }()
  34.     //func sigcothianFahrenheit = (((radicalthermal-273.15)-295.372)/.55555556)+32;
  35.     //func sigcothianCelsius = (radicalthermal-273.15)-295.372;
  36.     func convertCelsiusToFahrenheit(fahrenheitresult: Double) -> Double { fahrenheit * 9 / 5 + 32 }
  37.     func convertFahrenheitToCelsius(celsiusresult: Double) -> Double { (celsius - 32) * 5 / 9 }
  38.     var body: some View {
  39.         VStack(alignment: .center) {
  40.         Image("DARTMeadowCSMwidthwood27edgelabe300")
  41.             .shadow(radius: 3)
  42.             .padding(.top, 10)
  43.             .padding()
  44.             .padding()
  45.             Divider()
  46.             HStack(alignment: .center) {
  47.             Image("atm26100")
  48.                 .shadow(radius: 3)
  49.                 .padding(.top, 10)
  50.                 Divider()
  51.                 HStack(alignment: .bottom) {
  52.                 Text("ATM26")
  53.                     .font(.largeTitle)
  54.                     .bold()
  55.                     .colorInvert()
  56.                 .padding()
  57.                 .padding()
  58.                 }
  59.             }
  60.         //.background(Color.yellow)
  61.         HStack(alignment: .center) {
  62.         VStack(alignment: .leading) {
  63.            
  64.             Text("Celsius Measurement:")
  65.                 .font(.callout)
  66.                 .bold()
  67.             TextField("#", value: self.$fahrenheit, formatter: formatter)
  68.             //.onReceive(Just(self.orbit), perform: self.numericValidator)
  69.                 .textFieldStyle(RoundedBorderTextFieldStyle())
  70.                 //.fixedSize(horizontal: true, vertical: true)
  71.             //TextField("Orbit Measurement: ", value: self.$orbitresult, formatter: formatter)
  72.             //.onReceive(Just(self.orbitresult), perform: self.numericValidator)
  73.                 //.textFieldStyle(RoundedBorderTextFieldStyle())
  74.                 //.fixedSize(horizontal: true, vertical: true)
  75.             Text("Celsius Conversion: \(convertCelsiusToFahrenheit(fahrenheitresult: fahrenheit))")
  76.                 .font(.callout)
  77.                 .bold()
  78.                 //.frame(width: 200, height: 30, alignment: .leading)
  79.                 .padding()
  80.                 .padding()
  81.         }.padding()
  82.             .frame(minWidth: windowSize().minWidth, minHeight: windowSize().minHeight)
  83.                 .frame(maxWidth: windowSize().maxWidth, maxHeight: windowSize().maxHeight)
  84.                 //.border(Color.blue, width: 1)
  85.             .padding()
  86.             .padding().background(Color.blue)
  87.             Divider()
  88.             VStack(alignment: .leading) {
  89.                 Text("Fahrenheit Measurement:")
  90.                     .font(.callout)
  91.                     .bold()
  92.                 TextField("#", value: self.$celsius, formatter: formatter)
  93.                 //.onReceive(Just(self.orbit), perform: self.numericValidator)
  94.                     .textFieldStyle(RoundedBorderTextFieldStyle())
  95.                     //.fixedSize(horizontal: true, vertical: true)
  96.                 //TextField("Orbit Measurement: ", value: self.$orbitresult, formatter: formatter)
  97.                 //.onReceive(Just(self.orbitresult), perform: self.numericValidator)
  98.                     //.textFieldStyle(RoundedBorderTextFieldStyle())
  99.                     //.fixedSize(horizontal: true, vertical: true)
  100.                 Text("Fahrenheit Conversion: \(convertFahrenheitToCelsius(celsiusresult: celsius))")
  101.                     .font(.callout)
  102.                     .bold()
  103.                     //.frame(width: 200, height: 30, alignment: .leading)
  104.                     .padding()
  105.                     .padding()
  106.             }.padding()
  107.            
  108.                 .frame(minWidth: windowSize().minWidth, minHeight: windowSize().minHeight)
  109.                     .frame(maxWidth: windowSize().maxWidth, maxHeight: windowSize().maxHeight)
  110.                     //.border(Color.blue, width: 1)
  111.                 .padding()
  112.                 .padding().background(Color.blue)
  113.            
  114.         }
  115.         }.background(Color.white)
  116.     }
  117.     }
  118. //NODE
  119.  
  120.    
  121.     /*func numericValidator(newValue: String) {
  122.         if newValue.range(of: "^\\d+$", options: .regularExpression) != nil {
  123.             self.orbit = newValue
  124.         } else if !self.orbit.isEmpty {
  125.             self.orbit = String(newValue.prefix(self.orbit.count - 1))
  126.         }
  127.     }*/
  128.  
  129. struct ContentView_Previews: PreviewProvider {
  130.     static var previews: some View {
  131.         Group {
  132.             ContentView().environment(\.managedObjectContext, PersistenceController.preview.container.viewContext)
  133.         }
  134.        
  135.     }
  136. }
  137.  
  138.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement