MenuAction.swift 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //
  2. // MainMenuAction.swift
  3. // Nextcloud
  4. //
  5. // Created by Philippe Weidmann on 16.01.20.
  6. // Copyright © 2020 TWS. All rights reserved.
  7. //
  8. import Foundation
  9. class MenuAction {
  10. let title: String
  11. let icon: UIImage
  12. let selectable: Bool
  13. var onTitle: String?
  14. var onIcon: UIImage?
  15. var selected: Bool = false
  16. var isOn: Bool = false
  17. var action: ((_ menuAction: MenuAction) -> Void)?
  18. init(title: String, icon: UIImage, action: ((_ menuAction: MenuAction) -> Void)?) {
  19. self.title = title
  20. self.icon = icon
  21. self.action = action
  22. self.selectable = false
  23. }
  24. init(title: String, icon: UIImage, onTitle: String? = nil, onIcon: UIImage? = nil, selected: Bool, on: Bool, action: ((_ menuAction: MenuAction) -> Void)?) {
  25. self.title = title
  26. self.icon = icon
  27. self.onTitle = onTitle ?? title
  28. self.onIcon = onIcon ?? icon
  29. self.action = action
  30. self.selected = selected
  31. self.isOn = on
  32. self.selectable = true
  33. }
  34. }