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 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 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 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 }
-
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?
-
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 }
-
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 }