GanttChartContentController

public class GanttChartContentController : GanttChartCollectionObserver, GanttChartDiagramGenerator

Provides support for displaying and updating items within a Gantt Chart diagram, using an item manager object and considering a specific (or the preferred) timeline, viewport (to filter visible items on), row height, and hour width values (controlling the vertical and horizontal zoom levels), and offering supplemental information such as the total diagram size for further virtualizing diagram viewing. Used as common user interface service provider for GanttChartContent components for macOS and iOS.

  • Initializes a controller with a specified item manager object (used for improving performance).

    Declaration

    Swift

    public init(itemManager: GanttChartItemManager)
  • Initializes a controller with an item source object as item manager, defined by the specified item and dependency arrays.

    Declaration

    Swift

    public convenience init(items: [GanttChartItem]? = nil,
                            dependencies: [GanttChartDependency]? = nil)
  • The underlying collection manager used to provide the filtered items and dependencies needed by the user interface.

    Declaration

    Swift

    public var itemManager: GanttChartItemManager { get set }
  • Allows the developer to set a specific desired vertical size (as row count) for the diagram. When set, this value overrides the total row count returned by the underlying item manager (assuming it’s larger.)

    Declaration

    Swift

    public var desiredScrollableRowCount: Int? { get set }
  • Allows the developer to set a specific horizontal size (as timeline) for the diagram. When set, this value overrides the preferred timeline returned by the underlying item manager (appended with any margins that might be configured).

    Declaration

    Swift

    public var scrollableTimeline: TimeRange? { get set }
  • Schedule object that indicates the time intervals that should be displayed in the diagram. By default it is set to the continuous schedule, indicating that all time is visible. Other schedule values that are often used include: fullWeek (all days of the week but only daytime between 8 AM and 4 PM) and standard (Monday to Friday, 8 AM to 4 PM).

    Declaration

    Swift

    public var visibilitySchedule: ScheduleDefinition { get set }
  • Indicates the height of each row in the diagram. Use a smaller value to display more rows in the same space (getting smaller bars as well), and a larger one to display less rows (getting large bars instead).

    Declaration

    Swift

    public var rowHeight: Double { get set }
  • Indicates the width of an hour of time in the diagram. Use a smaller value to display more time in the same space (getting shorter bars as well), and a larger one to display less time (getting long bars instead).

    Declaration

    Swift

    public var hourWidth: Double { get set }
  • Horizontal scale factor to further apply to the timeline (used to compute the actual hour width).

    Declaration

    Swift

    public var zoom: Double { get set }
  • Returns the actual hour width value used for the timeline of the diagram, applying the current zoom level to the specified hour width of the controller.

    Declaration

    Swift

    public var actualHourWidth: Double { get }
  • Indicates the horizontal space size that is to be appended to the left and right margins of the preferred timeline (when no scrollable timeline value is specified).

    Declaration

    Swift

    public var preferredTimelineMargin: Double { get set }
  • Indicates whether to show attachment labels to the right side of the bars in the diagram.

    Declaration

    Swift

    public var showsAttachments: Bool { get set }
  • Indicates the width of attachment labels displayed to the right side of the bars in the diagram (if showsAttachments setting is set to true). This is also appended to the right margin of the preferred timeline (when no scrollable timeline value is specified).

    Declaration

    Swift

    public var attachmentLabelWidth: Double { get set }
  • Indicates the horizontal extension to be considered for the visible timeline upon filtering items and dependencies that are to be drawn within the viewport (such as to be able to draw marginal bars and dependency lines).

    Declaration

    Swift

    public var viewportExtensionWidth: Double { get set }
  • Indicates the vertical extension to be considered for the visible range upon filtering items and dependencies that are to be drawn within the viewport (such as to be able to draw marginal bars and dependency lines).

    Declaration

    Swift

    public var viewportExtensionHeight: Double { get set }
  • Indicates the part of the diagram that should be visible on screen. Set by the associated user interface component to reflect the content size of the scroll view that presents the diagram, it is internally converted to range and timeline values to be applied to the underlying item manager object in order to filter output items and dependencies and therefore improve the runtime performance of the system.

    Declaration

    Swift

    public var viewport: Rectangle { get set }
  • Returns the total size that the diagram would require to be fully displayed on screen. Accessed by the associated user interface component to set up the content placeholder within the scroll view that presents the diagram, it is computed based on the specified visibility schedule, actual timeline, actual hour width, actual row count, and row height values of the controller. The value is internally cached until any of its input arguments changes in order to improve output performance.

    Declaration

    Swift

    public var totalDiagramSize: Size { get }
  • Returns the visible bars that should currently be drawn in the diagram considering the current viewport (mapping only the filtered items received from the underlying collection manager). The array is internally cached until any of its input arguments changes in order to improve output performance.

    Declaration

    Swift

    public var visibleBars: [GanttChartBar] { get }
  • Returns only the visible bars that are to be drawn in a specific rectangular area of the diagram (used upon tiled drawing time).

    Declaration

    Swift

    public func visibleBars(in area: Rectangle) -> [GanttChartBar]
  • Returns the visible dependency lines that should currently be drawn in the diagram considering the current viewport (mapping only the filtered dependencies received from the underlying collection manager). The array is internally cached until any of its input arguments changes in order to improve output performance.

    Declaration

    Swift

    public var visibleDependencyLines: [GanttChartDependencyLine] { get }
  • Returns only the visible dependency lines that are to be drawn in a specific rectangular area of the diagram (used upon tiled drawing time).

    Declaration

    Swift

    public func visibleDependencyLines(in area: Rectangle) -> [GanttChartDependencyLine]
  • Returns the X coordinate of an item’s start time in the diagram.

    Declaration

    Swift

    public func startX(for item: GanttChartItem) -> Double
  • Returns the X coordinate of an item’s finish time in the diagram.

    Declaration

    Swift

    public func finishX(for item: GanttChartItem) -> Double
  • Returns the top Y coordinate of an item’s row in the diagram.

    Declaration

    Swift

    public func topY(for item: GanttChartItem) -> Double
  • Returns the middle Y coordinate of an item’s row in the diagram.

    Declaration

    Swift

    public func middleY(for item: GanttChartItem) -> Double
  • Returns the bottom Y coordinate of an item’s row in the diagram.

    Declaration

    Swift

    public func bottomY(for item: GanttChartItem) -> Double
  • Returns the rectangular bounds that an item should be displayed within in the diagram.

    Declaration

    Swift

    public func bounds(for item: GanttChartItem) -> Rectangle
  • Returns the rectangular area of a specific date-time interval in the diagram.

    Declaration

    Swift

    public func bounds(for time: TimeRange) -> Rectangle
  • Returns the X coordinate of a specific date-time in the diagram.

    Declaration

    Swift

    public func x(of time: Time) -> Double
  • Returns the width of a specific date-time interval in the diagram.

    Declaration

    Swift

    public func width(of time: TimeRange) -> Double
  • Returns the X coordinate of an item’s completed up to time in the diagram.

    Declaration

    Swift

    public func completionX(for item: GanttChartItem) -> Double
  • Returns the rectangular bounds that an item’s completion should be displayed within in the diagram.

    Declaration

    Swift

    public func completionBounds(for item: GanttChartItem) -> Rectangle
  • Returns the top Y coordinate of a specific row in the diagram.

    Declaration

    Swift

    public func top(of row: Row) -> Double
  • Returns the middle Y coordinate of a specific row in the diagram.

    Declaration

    Swift

    public func middle(of row: Row) -> Double
  • Returns the bottom Y coordinate of a specific row in the diagram.

    Declaration

    Swift

    public func bottom(of row: Row) -> Double
  • Returns the date-time value for a specific X coordinate in the diagram.

    Declaration

    Swift

    public func time(of x: Double) -> Time
  • Returns the row value for a specific Y coordinate in the diagram.

    Declaration

    Swift

    public func row(of y: Double) -> Row
  • Returns the Z-index based top most visible bar at a specific point (or close to it, if no bar is available at the exact point) in the diagram.

    Declaration

    Swift

    public func bar(at point: Point, maxDistance: Double? = nil,
                    acceptVerticalDistance: Bool? = nil) -> GanttChartBar?
  • Returns the item represented at the specified point in the diagram.

    Declaration

    Swift

    public func item(at point: Point) -> GanttChartItem?
  • Returns the Z-index based top most visible dependency line at a specific point (or close to it, if no dependency line is available at the exact point) in the diagram.

    Declaration

    Swift

    public func dependencyLine(at point: Point,
                               maxDistance: Double? = nil) -> GanttChartDependencyLine?
  • Returns the dependency represented at the specified point in the diagram.

    Declaration

    Swift

    public func dependency(at point: Point) -> GanttChartDependency?
  • Generates a polyline for the specified dependency. (The default diagram generation algorithm may be overridden by setting a custom diagramGenerator delegate to use instead.)

    Declaration

    Swift

    public func polyline(for dependency: GanttChartDependency) -> Polyline
  • Generates a dependency polyline considering the specified arguments. (The default diagram generation algorithm may be overridden by setting a custom diagramGenerator delegate to use instead of this function.)

    Declaration

    Swift

    public func dependencyPolyline(from start: Rectangle, to finish: Rectangle,
                                   type: GanttChartDependencyType = .fromFinishToStart,
                                   fromMilestone: Bool = false,
                                   toMilestone: Bool = false) -> Polyline
  • Returns the actual row count of the diagram, representing either the desired scrollable row count (if set to a larger value) or the total row count that the underlying item manager provides (at initialization time) with extra row count (if applicable).

    Declaration

    Swift

    public var actualRowCount: Int { get }
  • Defines the number of rows to supplementary display besides totalRowCount of the managed item collection, when desiredScrollableRowCount is not set and settings.allowsMovingBarsVertically is true; by default, 1 (permitting adding a new item just below the diagram.)

    Declaration

    Swift

    public var extraRowCount: Int { get set }
  • Returns the visible row range in the diagram, considering the current viewport.

    Declaration

    Swift

    public var visibleRange: RowRange { get }
  • Returns the row range in the diagram for the specified rectangular bounds.

    Declaration

    Swift

    public func range(for bounds: Rectangle) -> RowRange
  • Returns the row range in the diagram for the specified top coordinate and height.

    Declaration

    Swift

    public func range(top: Double, height: Double) -> RowRange
  • Returns the actual timeline of the diagram, representing either the scrollable timeline (if set) or the preferred timeline that the underlying item manager provides.

    Declaration

    Swift

    public var actualTimeline: TimeRange { get }
  • Returns the preferred timeline that the underlying item manager provides appended with margins based on preferredTimelineMargin and attachmentLabelWidth (if showsAttachments is set to true).

    Declaration

    Swift

    public var preferredTimeline: TimeRange { get }
  • Returns the visible timeline in the diagram, considering the current viewport.

    Declaration

    Swift

    public var visibleTimeline: TimeRange { get }
  • Returns the timeline in the diagram for the specified rectangular bounds.

    Declaration

    Swift

    public func timeline(for bounds: Rectangle) -> TimeRange
  • Returns the timeline in the diagram for the specified left coordinate and width.

    Declaration

    Swift

    public func timeline(left: Double, width: Double) -> TimeRange
  • Notifies the controller object that the total row count has changed due to external causes.

    Declaration

    Swift

    public func totalRowCountDidChange()
  • Notifies the controller object that the preferred timeline has changed due to external causes.

    Declaration

    Swift

    public func preferredTimelineDidChange()
  • Notifies the controller object that the filtered items have changed due to external causes.

    Declaration

    Swift

    public func filteredItemsDidChange()
  • Notifies the controller object that the filtered dependencies have changed due to external causes.

    Declaration

    Swift

    public func filteredDependenciesDidChange()
  • Notifies the controller object that the managed collection has changed due to external causes.

    Declaration

    Swift

    public func collectionDidChange()
  • Indicates the time granularity to be used upon updating the time values for items in the diagram. By default it is set to the continuous scale, indicating that any time is acceptable.

    Declaration

    Swift

    public var timeScale: TimeScale
  • Optional schedule to use when applying time granularity upon initializing or updating the time values for items in the diagram.

    Declaration

    Swift

    public var timeScaleSchedule: ScheduleDefinition?
  • Returns the schedule to use when applying time granularity upon updating the time values for items in the diagram (timeScaleSchedule when it is set, or the item’s schedule, as defined through the underlying item manager, otherwise.)

    Declaration

    Swift

    public func timeScaleSchedule(for item: GanttChartItem) -> ScheduleDefinition
  • Returns the schedule to use when applying time granularity upon initializing the time values for new items created in the diagram (timeScaleSchedule when it is set, or the default item schedule, as defined through the underlying item manager, otherwise.)

    Declaration

    Swift

    public var timeScaleScheduleForNewItems: ScheduleDefinition { get }
  • Objects that indicate the scheduled working or nonworking time intervals to be highlighted in the diagram. Values that are often used include: weekends of standard (or fullWeek) schedule.

    Declaration

    Swift

    public var scheduleHighlighters: [ScheduleTimeSelector] { get set }
  • Returns the highlighted schedule areas to be drawn in the viewport of the diagram. The array is internally cached until any of its input arguments changes in order to improve output performance.

    Declaration

    Swift

    public var highlightedScheduleAreas: [ScheduleTimeArea] { get }
  • Returns the highlighted schedule areas to be drawn in the specified rectangular area of the diagram.

    Declaration

    Swift

    public func highlightedScheduleAreas(in area: Rectangle) -> [ScheduleTimeArea]
  • Objects that indicate specific time intervals to be highlighted in the diagram.

    Declaration

    Swift

    public var intervalHighlighters: [TimeSelector] { get set }
  • Returns the highlighted interval areas to be drawn in the viewport of the diagram. The array is internally cached until any of its input arguments changes in order to improve output performance.

    Declaration

    Swift

    public var highlightedIntervalAreas: [TimeArea] { get }
  • Returns the highlighted interval areas to be drawn in the specified rectangular area of the diagram.

    Declaration

    Swift

    public func highlightedIntervalAreas(in area: Rectangle) -> [TimeArea]
  • Defines settings for the component, including behavioral and style setters, and localizable strings for the user interface.

    Declaration

    Swift

    public var settings: GanttChartContentSettings
  • User interface style settings for the component.

    Declaration

    Swift

    public var style: GanttChartContentStyle { get set }
  • Localizable strings that the component would use.

    Declaration

    Swift

    public var strings: GanttChartContentStrings { get set }
  • Draws the part of the diagram that matches the specified area, with support from the presenter delegate (by default, the user interface component).

    Declaration

    Swift

    public func draw(within area: Rectangle)
  • Draws the specified bar in the diagram, with support from the presenter delegate (by default, the user interface component).

    Declaration

    Swift

    public func draw(bar: GanttChartBar)
  • Draws the specified dependency in the diagram, with support from the presenter delegate (by default, the user interface component).

    Declaration

    Swift

    public func draw(dependencyLine: GanttChartDependencyLine)
  • Returns the tooltip string to be displayed for the specified point in the diagram, with support from the presenter delegate (by default, the user interface component).

    Declaration

    Swift

    public func toolTip(at point: Point) -> String?
  • Returns the default tooltip string to be displayed for the specified item in the diagram.

    Declaration

    Swift

    public func toolTip(for item: GanttChartItem) -> String?
  • Returns the default tooltip string to be displayed for the specified dependency in the diagram.

    Declaration

    Swift

    public func toolTip(for dependency: GanttChartDependency) -> String?
  • Returns the default mouse cursor to be displayed at the specified point in the diagram.

    Declaration

    Swift

    public func cursor(at point: Point) -> Cursor?
  • Activates the element at the specified point in the diagram, with support from the activator delegate, if available.

    Declaration

    Swift

    public func activate(at point: Point)
  • Selects the element at the specified point in the diagram.

    Declaration

    Swift

    public func select(at point: Point)
  • Initializes the specified newly created item, using support from the editor delegate.

    Declaration

    Swift

    public func initialize(item: GanttChartItem)
  • Initializes the specified newly created dependency, using support from the editor delegate.

    Declaration

    Swift

    public func initialize(dependency: GanttChartDependency)
  • Determines whether the specified item is editable, using support from the editor delegate.

    Declaration

    Swift

    public func canEdit(item: GanttChartItem) -> Bool
  • Determines whether the specified dependency is editable, using support from the editor delegate.

    Declaration

    Swift

    public func canEdit(dependency: GanttChartDependency) -> Bool
  • Initiates editing for the specified item, using support from the editor delegate.

    Declaration

    Swift

    public func edit(item: GanttChartItem)
  • Initiates editing for the specified dependency, using support from the editor delegate.

    Declaration

    Swift

    public func edit(dependency: GanttChartDependency)
  • Returns the element (bar, dependency line, or empty area) at a specific point in the diagram. When appropriate, the output information includes the possible actions (move, resize, etc.) to be performed on the element at the indicated position.

    Declaration

    Swift

    public func element(at point: Point) -> GanttChartElement
  • Begins dragging at a specific point in the diagram, allowing the end user to perform moving, resizing, and creating dependency operations. Optionally, disables scrolling by dragging support (when scrolling must be performed externally only, such as in iOS components).

    Declaration

    Swift

    public func beginDragging(at point: Point, acceptScrolling: Bool = true)
  • Continues the current dragging operation towards a specific point in the diagram.

    Declaration

    Swift

    public func continueDragging(to point: Point)
  • Ends the current dragging operation.

    Declaration

    Swift

    public func endDragging()
  • Indicates the current dragging operation.

    Declaration

    Swift

    public private(set) var draggingOperation: GanttChartDraggingOperation?
  • Indicates the current mouse cursor to be displayed during a dragging operation.

    Declaration

    Swift

    public private(set) var draggingCursor: Cursor?
  • Indicates the dragging completion action to be performed if the operation would end upon the current target.

    Declaration

    Swift

    public private(set) var draggingCompletion: GanttChartDraggingCompletion?
  • Begins a zooming operation in the diagram.

    Declaration

    Swift

    public func beginZooming()
  • Continues the current zooming operation in the diagram.

    Declaration

    Swift

    public func continueZooming(to scale: Double)
  • Ends the current zooming operation in the diagram.

    Declaration

    Swift

    public func endZooming()
  • Shows a dependency line thumb, when appropriate, at the specified point in the diagram.

    Declaration

    Swift

    public func showDependencyLineThumb(for point: Point) -> Bool
  • Hides the currently shown dependency line thumb from the diagram.

    Declaration

    Swift

    public func hideDependencyLineThumb()
  • Returns the dependency line thumb area when it’s shown in the diagram.

    Declaration

    Swift

    public private(set) var dependencyLineThumbArea: GanttChartDependencyLineThumbArea? { get set }
  • Returns the temporary dependency line when it’s shown in the diagram.

    Declaration

    Swift

    public private(set) var temporaryDependencyLine: GanttChartTemporaryDependencyLine? { get set }
  • Shows a temporary bar, when appropriate, at the specified point in the diagram.

    Declaration

    Swift

    public func showTemporaryBar(at point: Point) -> Bool
  • Hides the currently shown temporary bar from the diagram.

    Declaration

    Swift

    public func hideTemporaryBar()
  • Returns the temporary bar when it’s shown in the diagram.

    Declaration

    Swift

    public private(set) var temporaryBar: GanttChartTemporaryBar? { get set }
  • Scrolls the diagram to ensure the specified time interval (with margin, if set) is visible in the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scroll(to interval: TimeRange, margin: Double? = nil)
  • Scrolls the diagram to ensure the specified time (with margin, if set) is visible in the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scroll(to time: Time, margin: Double? = nil)
  • Scrolls the diagram to ensure the specified row range (with margin, if set) is visible in the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scrollVertically(to range: RowRange, margin: Double? = nil)
  • Scrolls the diagram to ensure the specified row (with margin, if set) is visible in the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scrollVertically(to row: Row, margin: Double? = nil)
  • Scrolls the diagram by the specified coordinate differences, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scrollBy(dx: Double = 0, dy: Double = 0)
  • Computes the central time of the visible timeline given the current viewport of the diagram.

    Declaration

    Swift

    public var visibleTimelineCenter: Time { get }
  • Scrolls the diagram to ensure the specified time is centered in the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scrollVisibleTimeline(toCenterOn value: Time)
  • Scrolls the diagram to ensure the specified time is on the left side of the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scrollVisibleTimeline(toStartOn value: Time)
  • Scrolls the diagram to ensure the specified time is on the right side of the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scrollVisibleTimeline(toFinishOn value: Time)
  • Computes the central row of the visible range given the current viewport of the diagram.

    Declaration

    Swift

    public var visibleRangeCenter: Row { get }
  • Scrolls the diagram to ensure the specified row is centered in the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scrollVisibleRange(toCenterOn value: Row)
  • Scrolls the diagram to ensure the specified row is at the top of the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scrollVisibleRange(toBeginWith value: Row)
  • Scrolls the diagram to ensure the specified row is at the bottom of the viewport, with support from the scroller delegate (by default, the user interface component).

    Declaration

    Swift

    public func scrollVisibleRange(toEndWith value: Row)
  • Focuses the element at the specified point in the diagram (highlighting it in the user interface), optionally also selecting it or bringing it to the front.

    Declaration

    Swift

    public func focusElement(at point: Point, selecting: Bool = false,
                             bringingToFront: Bool = false)
  • Cancels element focusing in the diagram.

    Declaration

    Swift

    public func cancelFocus()
  • Gets the currently focused element in the diagram.

    Declaration

    Swift

    public private(set) var focusedElement: GanttChartElement? { get set }
  • Gets the currently focused item in the diagram (if a bar was focused).

    Declaration

    Swift

    public var focusedItem: GanttChartItem? { get }
  • Gets the currently focused dependency in the diagram (if a dependency line was focused).

    Declaration

    Swift

    public var focusedDependency: GanttChartDependency? { get }
  • Gets the currently focused position in the diagram (if empty area was focused).

    Declaration

    Swift

    public var focusedEmptyAreaPosition: GanttChartPosition? { get }
  • Focuses and gets the element at the specified point in the diagram (highlighting it in the user interface), optionally also bringing it to the front.

    Declaration

    Swift

    public func elementFocusing(on point: Point,
                                bringingToFront: Bool = false) -> GanttChartElement?
  • Gets the currently selected element in the diagram.

    Declaration

    Swift

    public private(set) var selectedElement: GanttChartElement? { get set }
  • Gets or sets the currently selected item in the diagram (if a bar was focused).

    Declaration

    Swift

    public var selectedItem: GanttChartItem? { get set }
  • Gets or sets the currently selected dependency in the diagram (if a dependency line was focused).

    Declaration

    Swift

    public var selectedDependency: GanttChartDependency? { get set }
  • Creates and adds a new item in the diagram (considering timeScaleScheduleForNewItems), delegating the action to the underlying collection manager.

    Declaration

    Swift

    public func addNewItem(on row: Row, at time: Time, isMilestone: Bool)
  • Removes an existing item from the diagram, delegating the action to the underlying collection manager.

    Declaration

    Swift

    public func removeItem(_ item: GanttChartItem)
  • Removes an existing dependency from the diagram, delegating the action to the underlying collection manager.

    Declaration

    Swift

    public func removeDependency(_ dependency: GanttChartDependency)
  • Initializes periodic auto-refreshing of the user interface (useful when current time is displayed in the diagram).

    Declaration

    Swift

    public func initializeAutoRefreshTimer(interval: Double, in unit: TimeUnit = .seconds)
  • Disables periodic auto-refreshing. Must be used in order to avoid memory leaks when periodic auto-refreshing has been initialized.

    Declaration

    Swift

    public func invalidateAutoRefreshTimer()
  • Shifts the scrollable timeline by the interval specified as settings.autoShiftsScrollableTimelineBy if the visible timeline is over an end of the original scrollable timeline.

    Declaration

    Swift

    public func shiftScrollableTimelineIfNeeded()
  • Notifies the controller object that the settings have changed due to external causes.

    Declaration

    Swift

    public func settingsDidChange()
  • Specifies the style set to use upon presentation time. (By default, it is set to standard.)

    Declaration

    Swift

    public var theme: Theme { get set }
  • Specifies the mode (such as light or dark) to adapt the theme to upon presentation time. (By default, it is not set, and the effective appearance of the view is converted into an appropriate mode value, at runtime.)

    Declaration

    Swift

    public var mode: Mode? { get set }
  • Optional mode provider to determine the actual mode (such as light or dark) when mode value is not set. (By default, the user interface component.)

    Declaration

    Swift

    public var modeProvider: ModeProvider? { get set }
  • Returns the actual mode (such as light or dark) to adapt the theme to upon presentation time, considering mode value, the mode provider, or the default value (light).

    Declaration

    Swift

    public var actualMode: Mode { get }
  • Returns the style to be used upon selecting the specified custom theme.

    Declaration

    Swift

    public func styleForTheme(_ name: String,
                              mode: Mode? = nil) -> GanttChartContentStyle?
  • Sets the style to be used upon selecting the specified custom theme.

    Declaration

    Swift

    public func setStyleForTheme(_ name: String, mode: Mode? = nil,
                                 to value: GanttChartContentStyle?)
  • Optional observer delegate for the controller (usually the user interface component).

    Declaration

    Swift

    public weak var observer: GanttChartContentObserver?
  • Optional range observer delegate for the controller (usually a container controller).

    Declaration

    Swift

    public weak var rangeObserver: GanttChartContentRangeObserver?
  • Optional timeline observer delegate for the controller (usually a container controller).

    Declaration

    Swift

    public weak var timelineObserver: GanttChartContentTimelineObserver?
  • Optional scroller delegate for the controller (usually the user interface component).

    Declaration

    Swift

    public weak var scroller: GanttChartContentScroller?
  • Optional presenter delegate for the controller (usually the user interface component or a container controller).

    Declaration

    Swift

    public weak var presenter: GanttChartContentPresenter?
  • Optional activator delegate for the controller.

    Declaration

    Swift

    public weak var activator: GanttChartContentActivator?
  • Optional editor delegate for the controller.

    Declaration

    Swift

    public weak var editor: GanttChartContentEditor?
  • Optional selection observer delegate for the controller.

    Declaration

    Swift

    public weak var selectionObserver: GanttChartContentSelectionObserver?
  • Optional viewport observer delegate for the controller.

    Declaration

    Swift

    public weak var viewportObserver: GanttChartContentViewportObserver?
  • Optional style provider delegate to use for further customizing the style of the component, supporting runtime theme and mode changes.

    Declaration

    Swift

    public weak var styleProvider: GanttChartContentStyleProvider?
  • Optional style observer delegate to use for identifying runtime style updates (such as upon changing mode).

    Declaration

    Swift

    public weak var styleObserver: GanttChartContentStyleObserver?
  • Optional diagram generator delegate for the controller.

    Declaration

    Swift

    public weak var diagramGenerator: GanttChartDiagramGenerator?
  • Determines the actual diagram generator to use (the specified diagramGenerator or, by default, itself).

    Declaration

    Swift

    public var actualDiagramGenerator: GanttChartDiagramGenerator { get }