Classes

The following classes are available globally.

LGV_Timer_TimerEngineDelegate Protocol

  • This class is the “heart” of the timer. It contains the timer state, settings, and stored prefs for all the timers.

    See more

    Declaration

    Swift

    class TimerEngine : NSObject, Sequence, LGV_Timer_StateDelegate
    extension TimerEngine: RVS_BasicGCDTimerDelegate
  • This is the main application delegate class for the timer app.

    See more

    Declaration

    Swift

    @UIApplicationMain
    class Timer_AppDelegate : UIResponder, UIApplicationDelegate, WCSessionDelegate

Various Strings, Used in Messaging

  • These are the main message keys between the app and the Watch.

    See more

    Declaration

    Swift

    class Timer_Messages
  • These are the data keys for each timer object.

    See more

    Declaration

    Swift

    class Timer_Data_Keys

TimeInstance Class

  • This class holds the timer value as hours, minutes and seconds.

    See more

    Declaration

    Swift

    class TimeInstance

TimerSettingClass Class

  • This is the basic element that describes one timer.

    See more

    Declaration

    Swift

    class TimerSettingTuple : NSObject, NSCoding

LGV_Timer_State Class

  • This class encapsulates the entire app status.

    See more

    Declaration

    Swift

    class LGV_Timer_State : NSObject, NSCoding, Sequence

Main Class

  • This class instantiates a bunch of LED Elements into a “Digital Clock,” to be displayed to cover most of the screen.

    See more

    Declaration

    Swift

    public class LED_ClockView : UIView
  • This class represents a single LED digit. It will create paths that represent the digit, from -1 to 15. -1 is just the center segment (minus sign), and 10 - 15 are A, b, C, d E, F

    The size these paths are generated at is designed to produce a “standard LED Display” aspect with integer values.

    Each digit is treated as a “classic” Hex LED, with values that go from 0-F. If you give it a value of -1, then only a minus sign (center segment) is displayed. If you give it a value of -2, then nothing is displayed.

    See more

    Declaration

    Swift

    public class LED_SingleDigit : LED_Element
  • This class describes a “separator” that goes between segments (or groups of segments). It uses an array of Bool to determine how many dots will be displayed in a vertical row. If you only want one dot, it will be put all the way at the bottom (a decimal point). If you have more than one, they will be in an evenly-spaced vertical row. The array of Bool will be used to determine which segments are “lit,” and you can change the value (an array of Bool), to change the “lit” segments at runtime.

    See more

    Declaration

    Swift

    public class LED_SeparatorDots : LED_Element
  • This class allows you to specify a group of instances that follow the LED_Element Protocol, including other instances of LED_ElementGrouping. It can be iterated.

    Groups handle layout as right to left (Least Significant to Most Significant). Element 0 will be rightmost.

    See more

    Declaration

    Swift

    public class LED_ElementGrouping : LED_Element, Sequence
  • This is an abstract base class for view controllers used in the app.

    See more

    Declaration

    Swift

    @IBDesignable
    class A_TimerBaseViewController : UIViewController
  • This is an abstract (not really, as Swift doesn’t actually support abstract) base class for our various view controllers.

    See more

    Declaration

    Swift

    class A_TimerNavBaseController : A_TimerBaseViewController
  • This is a special version of the controller that handles a time picker.

    See more

    Declaration

    Swift

    class A_TimerSetPickerController : A_TimerNavBaseController, UIPickerViewDelegate, UIPickerViewDataSource, UIPickerViewAccessibilityDelegate
  • This is a class that programmatically renders the timer sound test (sound/music) button.

    It is a control, and can be used to act as a button.

    See more

    Declaration

    Swift

    @IBDesignable
    class SoundTestButton : UIButton
  • This is a class that implements a View Controller for your standard timer.

    See more

    Declaration

    Swift

    class TimerNavController : UINavigationController, UINavigationControllerDelegate
  • Declaration

    Swift

    class TimerRuntimeViewController : A_TimerNavBaseController
  • Declaration

    Swift

    class TimerSetController : A_TimerSetPickerController
  • This is the view controller for the main timer settings screen.

    See more

    Declaration

    Swift

    class TimerSetupController : A_TimerSetPickerController
  • Declaration

    Swift

    class Timer_InfoViewController : A_TimerBaseViewController
  • Declaration

    Swift

    class Timer_MainTabController : SwipeableTabBarController, TimerEngineDelegate
  • This is a controller that genericizes the labels

    See more

    Declaration

    Swift

    class SettingsTimerTableCell : UITableViewCell
  • Really just a placeholder

    Declaration

    Swift

    class TimerSettingsNavController : UINavigationController
  • This is the main controller class for the “global” settings tab screen.

    See more

    Declaration

    Swift

    class Timer_SettingsViewController : A_TimerBaseViewController, UITableViewDelegate, UITableViewDataSource
  • This controller handles setting sounds

    See more

    Declaration

    Swift

    class Timer_SetupSoundsViewController : A_TimerSetPickerController