Advertisement
khenid

Untitled

Mar 21st, 2015
698
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. //  GraphicView.swift
  3. //  W24X
  4. //
  5. //  Created by Anil on 21/03/15.
  6. //  Copyright (c) 2015 Variya Soft Solutions. All rights reserved.
  7. //
  8.  
  9. import UIKit
  10.  
  11. protocol GraphicViewDelegate {
  12.     func metarTouchedWithMetar(thisMetar: MetarObject)
  13.     func tafTouchedWithTAF(thisTAF: TAFObject)
  14.     func metarDataToggleTouched()
  15. }
  16.  
  17. let DEGREES_TO_RADIANS(degrees)((M_PI * degrees)/180)
  18.  
  19. class GraphicView: UIView {
  20.  
  21.     // delegates
  22.     var appDelegate = AppDelegate()
  23.     var myDelegate : GraphicViewDelegate?
  24.    
  25.     // vars
  26.     var thisStation = StationObject()
  27.     var graphicBackgroundColor = UIColor()
  28.     var baseRadius = Float()
  29.     var metarObjectBase = MetarObject()
  30.     var tfrObjectBase = TFRObject()
  31.     var tafObjectBase = TAFObject()
  32.     var airmetObjectBase = AirmetObject()
  33.    
  34.    
  35.     func metarSingleTap(gesture : UITapGestureRecognizer){
  36.         // callback
  37.         myDelegate?.metarDataToggleTouched()
  38.     }
  39.    
  40.     func metarDoubleTap(gesture: UITapGestureRecognizer!){
  41.         //callback
  42.         myDelegate?.metarTouchedWithMetar(metarObjectBase)
  43.     }
  44.    
  45.     func tafSingleTap(gesture: UITapGestureRecognizer!){
  46.         //callback
  47.         println("Single")
  48.     }
  49.    
  50.     func tafDoubleTap(gesture: UITapGestureRecognizer!){
  51.         //callback
  52.         myDelegate?.tafTouchedWithTAF(tafObjectBase)
  53.     }
  54.    
  55.     func updateView(){
  56.        
  57.         self.setNeedsDisplay()
  58.     }
  59.    
  60.     override func drawRect(rect: CGRect){
  61.        
  62.         //Drawing Code
  63.         println("drawing")
  64.        
  65.         //check
  66.         if self.subviews.count > 0{
  67.             //clear
  68.             for tempView in self.subviews{
  69.                
  70.                 //remove
  71.                 (tempView as UIView).removeFromSuperview()
  72.             }
  73.         }
  74.        
  75.         //vars
  76.         var center = CGPointMake(self.frame.size.width / 2, self.frame.size.height / 2)
  77.         var metarRadius: Float = baseRadius;
  78.         var tfrRadius : Float = metarRadius + 8
  79.         var tafRadius : Float = tfrRadius + 48
  80.         var tafOuterPadding : Float = 1
  81.        
  82.         var airmetIFRRadius : Float = tafRadius + tafOuterPadding + 8
  83.         var airmetIFROuterPadding : Float = 1
  84.         var airmetICERadius : Float = airmetIFRRadius + airmetIFROuterPadding + 8
  85.         var airmetICEOuterPadding : Float = 1
  86.         var airmetTURBRadius : Float = airmetICERadius + airmetICEOuterPadding + 8
  87.         var airmetTURBOuterPadding : Float = 1
  88.         var airmetMTNRadius : Float = airmetTURBRadius + airmetTURBOuterPadding + 8
  89.         var airmetMTNOuterPadding : Float = 1
  90.         var airmetCONVRadius : Float = airmetMTNRadius + airmetMTNOuterPadding + 8
  91.        
  92.         // offset
  93.         var nowDate = NSDate()
  94.         //dout
  95.         var timeZoneSeconds = NSTimeInterval(NSTimeZone.localTimeZone().secondsFromGMT)
  96.         var utcDate : NSDate = nowDate.dateByAddingTimeInterval(timeZoneSeconds * -1)
  97.         var metarDate : NSDate = metarObjectBase.dateUTC
  98.         var distanceBetweenDates : NSTimeInterval = utcDate.timeIntervalSinceDate(metarDate)
  99.         var minutesInAnHour : Double = 60
  100.         var  secondsInAnHour : Double = 3600
  101.         var  minutesBetweenDates = NSInteger(distanceBetweenDates / minutesInAnHour)
  102.         var hoursBetweenDates = NSInteger(distanceBetweenDates / secondsInAnHour)
  103.         var  timeOffset = NSInteger(hoursBetweenDates)
  104.        
  105.         //check
  106.         if appDelegate.myGlobals.airmetOn {
  107.             /* ==================== */
  108.             // airmet conv bkg
  109.             /* ====================*/
  110.             var airmetCONVBkg : UIBezierPath = UIBezierPath(arcCenter: center, radius: airmetCONVRadius, startAngle: DEGREES_TO_RADIANS(0), endAngle: DEGREES_TO_RADIANS(360), clockwise: true)
  111.             graphicBackgroundColor.setFill()
  112.             airmetCONVBkg.fill()
  113.            
  114.             /* ==================== */
  115.             // airmet conv
  116.             /* ====================*/
  117.            
  118.         }
  119.     }
  120.    
  121.    
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement