/// <summary> /// Default constructor /// </summary> public LineChartParametersBase(LineChartParameters parameters) : base(parameters) { LineType = parameters.LineType; LineKind = parameters.LineKind; Y2LineKind = parameters.Y2LineKind; }
/// <summary> /// Copy constructor /// </summary> public LineChartParameters(LineChartParameters parameters) : base(parameters) { LineType = parameters.LineType; YAxisFontSize = parameters.YAxisFontSize; YAxisLabelFontSize = parameters.YAxisLabelFontSize; XAxisFontSize = parameters.XAxisFontSize; XAxisLabelFontSize = parameters.XAxisLabelFontSize; }
//public LineChartSettings LineChartSettings { get; set; } public LineChart(DashboardHelper dashboardHelper, LineChartParameters parameters, List<XYColumnChartData> dataList) { InitializeComponent(); //this.Settings = settings; //this.LineChartSettings = settings; LineChartParameters = parameters; this.DashboardHelper = dashboardHelper; SetChartProperties(); SetChartData(dataList); xyChart.Legend.BorderBrush = Brushes.Gray; }
/// <summary> /// Copy constructor /// </summary> public LineChartParameters(LineChartParameters parameters) : base(parameters) { LineType = parameters.LineType; YAxisFontSize = parameters.YAxisFontSize; YAxisLabelFontSize = parameters.YAxisLabelFontSize; XAxisFontSize = parameters.XAxisFontSize; XAxisLabelFontSize = parameters.XAxisLabelFontSize; ChartTitle = parameters.ChartTitle; ChartSubTitle = parameters.ChartSubTitle; GadgetTitle = parameters.GadgetTitle; GadgetDescription = parameters.GadgetDescription; PaletteColors = parameters.PaletteColors; }
public LineChartProperties( DashboardHelper dashboardHelper, IGadget gadget, LineChartParameters parameters, List<Grid> strataGridList ) { InitializeComponent(); this.DashboardHelper = dashboardHelper; this.Gadget = gadget; this.Parameters = parameters; this.StrataGridList = strataGridList; List<string> fields = new List<string>(); List<string> weightFields = new List<string>(); List<string> strataItems = new List<string>(); //Variable fields fields.Add(String.Empty); ColumnDataType columnDataType = ColumnDataType.Boolean | ColumnDataType.DateTime | ColumnDataType.Numeric | ColumnDataType.Text | ColumnDataType.UserDefined; foreach (string fieldName in DashboardHelper.GetFieldsAsList(columnDataType)) { if (DashboardHelper.IsUsingEpiProject) { if (!(fieldName == "RecStatus")) fields.Add(fieldName); } else { fields.Add(fieldName); } } cmbField.ItemsSource = fields; //Weight Fields weightFields.Add(String.Empty); columnDataType = ColumnDataType.Numeric | ColumnDataType.UserDefined; foreach (string fieldName in DashboardHelper.GetFieldsAsList(columnDataType)) { if (DashboardHelper.IsUsingEpiProject) { if (!(fieldName == "RecStatus")) weightFields.Add(fieldName); } else { weightFields.Add(fieldName); } } weightFields.Sort(); cmbFieldWeight.ItemsSource = weightFields; cmbSecondYAxisVariable.ItemsSource = weightFields; //Strata Fields strataItems.Add(String.Empty); columnDataType = ColumnDataType.Numeric | ColumnDataType.Boolean | ColumnDataType.Text | ColumnDataType.UserDefined; foreach (string fieldName in DashboardHelper.GetFieldsAsList(columnDataType)) { if (DashboardHelper.IsUsingEpiProject) { if (!(fieldName == "RecStatus" || fieldName == "FKEY" || fieldName == "GlobalRecordId")) strataItems.Add(fieldName); } else { strataItems.Add(fieldName); } } listboxFieldStrata.ItemsSource = strataItems; cmbFieldCrosstab.ItemsSource = strataItems; txtYAxisLabelValue.Text = "Count"; txtXAxisLabelValue.Text = String.Empty; cmbLegendDock.SelectedIndex = 1; CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(cmbField.ItemsSource); PropertyGroupDescription groupDescription = new PropertyGroupDescription("VariableCategory"); view.GroupDescriptions.Add(groupDescription); RowFilterControl = new RowFilterControl(this.DashboardHelper, Dialogs.FilterDialogMode.ConditionalMode, (gadget as LineChartGadget).DataFilters, true); RowFilterControl.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; panelFilters.Children.Add(RowFilterControl); //EI-98 txtXAxisFontSize.Text = parameters.XAxisFontSize.ToString(); txtYAxisFontSize.Text = parameters.YAxisFontSize.ToString(); txtXAxisLabelFontSize.Text = parameters.XAxisLabelFontSize.ToString(); txtYAxisLabelFontSize.Text = parameters.YAxisLabelFontSize.ToString(); txtWidth.PreviewKeyDown += new KeyEventHandler(txtInput_PositiveIntegerOnly_PreviewKeyDown); txtHeight.PreviewKeyDown += new KeyEventHandler(txtInput_PositiveIntegerOnly_PreviewKeyDown); txtLegendFontSize.PreviewKeyDown += new KeyEventHandler(txtInput_PositiveIntegerOnly_PreviewKeyDown); #region Translation #endregion // Translation }
/// <summary> /// Copy constructor /// </summary> public LineChartParameters(LineChartParameters parameters) : base(parameters) { LineType = parameters.LineType; }
protected override void worker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { lock (syncLock) { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); this.Dispatcher.BeginInvoke(new SimpleCallback(SetGadgetToProcessingState)); this.Dispatcher.BeginInvoke(new SimpleCallback(ClearResults)); LineChartParameters LineChartParameters = (LineChartParameters)Parameters; string freqVar = LineChartParameters.ColumnNames[0]; string weightVar = LineChartParameters.WeightVariableName; string crosstabVar = LineChartParameters.CrosstabVariableName; bool includeMissing = LineChartParameters.IncludeMissing; List<string> stratas = new List<string>(); try { RequestUpdateStatusDelegate requestUpdateStatus = new RequestUpdateStatusDelegate(RequestUpdateStatusMessage); CheckForCancellationDelegate checkForCancellation = new CheckForCancellationDelegate(IsCancelled); LineChartParameters.GadgetStatusUpdate += new GadgetStatusUpdateHandler(requestUpdateStatus); LineChartParameters.GadgetCheckForCancellation += new GadgetCheckForCancellationHandler(checkForCancellation); if (this.DataFilters != null && this.DataFilters.Count > 0) { LineChartParameters.CustomFilter = this.DataFilters.GenerateDataFilterString(false); } else { LineChartParameters.CustomFilter = string.Empty; } if (!string.IsNullOrEmpty(crosstabVar.Trim())) { List<string> crosstabVarList = new List<string>(); crosstabVarList.Add(crosstabVar); foreach (Strata strata in DashboardHelper.GetStrataValuesAsDictionary(crosstabVarList, false, false)) { LineChartParameters parameters = new LineChartParameters(LineChartParameters); if (!string.IsNullOrEmpty(parameters.CustomFilter)) { parameters.CustomFilter = "(" + parameters.CustomFilter + ") AND " + strata.SafeFilter; } else { parameters.CustomFilter = strata.SafeFilter; } parameters.CrosstabVariableName = string.Empty; Dictionary<DataTable, List<DescriptiveStatistics>> stratifiedFrequencyTables = DashboardHelper.GenerateFrequencyTable(parameters); GenerateChartData(stratifiedFrequencyTables, strata); System.Threading.Thread.Sleep(100); } } else { Dictionary<DataTable, List<DescriptiveStatistics>> stratifiedFrequencyTables = DashboardHelper.GenerateFrequencyTable(LineChartParameters); GenerateChartData(stratifiedFrequencyTables); } this.Dispatcher.BeginInvoke(new SimpleCallback(RenderFinish)); } catch (Exception ex) { this.Dispatcher.BeginInvoke(new RenderFinishWithErrorDelegate(RenderFinishWithError), ex.Message); } finally { stopwatch.Stop(); Debug.Print("Line chart gadget took " + stopwatch.Elapsed.ToString() + " seconds to complete."); Debug.Print(DashboardHelper.DataFilters.GenerateDataFilterString()); } } }