/// <summary> /// Initializes a new instance of the <see cref="CalendarStateConfigurationChangeEventArgs" /> class. /// </summary> /// <param name="calendarStateConfiguration">The calendar state configuration model.</param> /// <param name="propertyName">Name of the property.</param> public CalendarStateConfigurationChangeEventArgs(CalendarStateConfiguration calendarStateConfiguration, string propertyName) : base(propertyName) { Argument.IsNotNull("calendarStateConfiguration", calendarStateConfiguration); Model = calendarStateConfiguration; }
/// <summary> /// Loads raw configuration data. /// </summary> /// <param name="configuration"> /// The configuration object in context of which operation is executed. /// </param> /// <param name="rawConfigurationData"> /// The raw configuration data. /// </param> public static void LoadRawConfiguration(this RanttConfiguration configuration, RawConfigurationData rawConfigurationData) { configuration.IsInitializing = true; configuration.AvailableWorkspaces.Clear(); configuration.ResourceConfigurations.Clear(); configuration.AttributeConfigurations.Clear(); configuration.CalendarStateConfigurations.Clear(); foreach (RawResourceConfiguration rawResource in rawConfigurationData.ResourceConfigurations) { ResourceConfiguration resourceConfiguration = new ResourceConfiguration(rawResource.Name, rawResource.Position, rawResource.IsVisible); configuration.ResourceConfigurations.Add(resourceConfiguration.Name, resourceConfiguration); resourceConfiguration.PropertyChanged += (sender, args) => configuration.RaiseConfigurationChangeEvent(sender, args.PropertyName); } foreach (RawBaseAttributeConfiguration rawBaseAttributeConfiguration in rawConfigurationData.BaseAttributeConfigurations) { AttributeConfiguration attributeConfiguration = rawBaseAttributeConfiguration.GetAttributeConfiguration(); configuration.AttributeConfigurations.Add(attributeConfiguration.Name, attributeConfiguration); if (rawConfigurationData.ExtendedAttributeConfigurations.ContainsKey(attributeConfiguration.Name)) { foreach (RawAttributeExtendedConfiguration extendedConfiguration in rawConfigurationData.ExtendedAttributeConfigurations[attributeConfiguration.Name]) { attributeConfiguration.InitializeAttributeValue(extendedConfiguration.Value); attributeConfiguration.SetAttributeValueColor(extendedConfiguration.Value, CustomColorConverter.StringToColor(extendedConfiguration.Color)); attributeConfiguration.SetAttributeValueVisibility(extendedConfiguration.Value, extendedConfiguration.Visibility); } } attributeConfiguration.PropertyChanged += (sender, args) => configuration.RaiseConfigurationChangeEvent(sender, args.PropertyName); } foreach (RawCalendarStateConfiguration rawCalendarStateConfiguration in rawConfigurationData.CalendarStateConfigurations) { CalendarStateConfiguration calendarStateConfiguration = new CalendarStateConfiguration(rawCalendarStateConfiguration.Name, CustomColorConverter.StringToColor(rawCalendarStateConfiguration.Color)) { IsVisible = rawCalendarStateConfiguration.IsVisible }; calendarStateConfiguration.PropertyChanged += (sender, args) => configuration.RaiseConfigurationChangeEvent(sender, args.PropertyName); } RawWorkspaceConfiguration rawWorkspace = rawConfigurationData.CurrentWorkspace; configuration.CurrentWorkspace = rawWorkspace == null ? null : new WorkspaceConfiguration { Name = rawWorkspace.Name, GroupByAttributeName = rawWorkspace.GroupByAttributeName, HighlightPast = rawWorkspace.HighlightPast, AreTooltipsEnabled = rawWorkspace.AreTooltipsEnabled, IsDataRowEnabled = rawWorkspace.IsDataRowEnabled, IsPlotRowEnabled = rawWorkspace.IsPlotRowEnabled, OperationColorAttribute = rawWorkspace.OperationColorAttribute, PlotType = rawWorkspace.PlotType, PlotInterval = rawWorkspace.PlotInterval, RelativeStartTime = rawWorkspace.RelativeStartTime, SelectedAttributes = rawWorkspace.SelectedAttributes, ShowCurrentTime = rawWorkspace.ShowCurrentTime, ShowHorizontalGridLines = rawWorkspace.ShowHorizontalGridLines, ShowVerticalGridLines = rawWorkspace.ShowVerticalGridLines, UseRelativeTime = rawWorkspace.UseRelativeTime, RelativeDuration = rawWorkspace.RelativeDuration, ShowCountData = rawWorkspace.ShowCountData, ShowDurationData = rawWorkspace.ShowDurationData }; foreach (string availableWorkspace in rawConfigurationData.AvailableWorkspaces) { if ((configuration.CurrentWorkspace != null) && (configuration.CurrentWorkspace.Name == availableWorkspace)) { configuration.AvailableWorkspaces.Add(availableWorkspace, configuration.CurrentWorkspace); } else { configuration.AvailableWorkspaces.Add(availableWorkspace, null); } } configuration.IsInitializing = false; }