public override void RefreshResults() { AberrationDetectionChartParameters AberrationDetectionChartParameters = (AberrationDetectionChartParameters)Parameters; if (!LoadingCombos) { if (AberrationDetectionChartParameters != null) { if (AberrationDetectionChartParameters.ColumnNames.Count > 0 && !String.IsNullOrEmpty(AberrationDetectionChartParameters.ColumnNames[0])) { //CreateInputVariableList(); infoPanel.Visibility = System.Windows.Visibility.Collapsed; waitPanel.Visibility = System.Windows.Visibility.Visible; messagePanel.MessagePanelType = EpiDashboard.Controls.MessagePanelType.StatusPanel; descriptionPanel.PanelMode = EpiDashboard.Controls.GadgetDescriptionPanel.DescriptionPanelMode.Collapsed; baseWorker = new BackgroundWorker(); baseWorker.DoWork += new System.ComponentModel.DoWorkEventHandler(Execute); baseWorker.RunWorkerAsync(); base.RefreshResults(); } else { ClearResults(); waitPanel.Visibility = System.Windows.Visibility.Collapsed; } } } }
public void SetChartLabels(AberrationDetectionChartParameters Parameters) { //EI-98 xAxisCoordinates.FontSize = Parameters.XAxisFontSize; yAxisCoordinates.FontSize = Parameters.YAxisFontSize; tblockXAxisLabel.FontSize = Parameters.XAxisLabelFontSize; tblockYAxisLabel.FontSize = Parameters.YAxisLabelFontSize; }
/// <summary> /// TODO: Rename this method /// </summary> /// <param name="dataList"></param> /// <param name="aberrationDetails"></param> private void AddChart(List <AberrationChartData> dataList, DataTable aberrationDetails, string strata) { AberrationDetectionChartParameters AbDetChartParameters = (AberrationDetectionChartParameters)Parameters; Controls.Charting.AberrationChart abChart = new Controls.Charting.AberrationChart(); abChart.DashboardHelper = this.DashboardHelper; abChart.SetChartSize(double.Parse(AbDetChartParameters.ChartWidth.ToString()), double.Parse(AbDetChartParameters.ChartHeight.ToString())); abChart.SetChartData(dataList, aberrationDetails); abChart.SetChartLabels(AbDetChartParameters); panelMain.Children.Add(abChart); SetVisuals(abChart); if (AbDetChartParameters.StrataVariableNames.Count > 0) { abChart.IndicatorTitle = strata; } abChart.Margin = new Thickness(0, 0, 0, 48); }
private void SetVisuals(Controls.Charting.AberrationChart aberrationChart) { AberrationDetectionChartParameters AbDetChartParameters = (AberrationDetectionChartParameters)Parameters; aberrationChart.Chart.InnerMargins = new Thickness(20, 30, 30, 50); aberrationChart.YAxisLabel = AbDetChartParameters.YAxisLabel; switch (AbDetChartParameters.XAxisLabelType) { case 3: aberrationChart.XAxisLabel = AbDetChartParameters.XAxisLabel; break; case 1: Field field = DashboardHelper.GetAssociatedField(AbDetChartParameters.ColumnNames[0]); if (field != null && field is IDataField) { RenderableField rField = field as RenderableField; aberrationChart.XAxisLabel = rField.PromptText; } else { aberrationChart.XAxisLabel = AbDetChartParameters.ColumnNames[0]; } break; case 2: aberrationChart.XAxisLabel = string.Empty; break; default: aberrationChart.XAxisLabel = AbDetChartParameters.ColumnNames[0]; break; } aberrationChart.ChartTitle = AbDetChartParameters.ChartTitle; }
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)); AberrationDetectionChartParameters AbDetChartParameters = (AberrationDetectionChartParameters)Parameters; string freqVar = AbDetChartParameters.ColumnNames[0]; string weightVar = AbDetChartParameters.WeightVariableName; string strataVar = string.Empty; bool includeMissing = AbDetChartParameters.IncludeMissing; int lagTime = DEFAULT_LAG_TIME; double deviations = DEFAULT_DEVIATIONS; int timePeriod = DEFAULT_TIME_PERIOD; if (!String.IsNullOrEmpty(AbDetChartParameters.LagTime)) { int.TryParse(AbDetChartParameters.LagTime, out lagTime); } if (!String.IsNullOrEmpty(AbDetChartParameters.Deviations)) { double.TryParse(AbDetChartParameters.Deviations, out deviations); } if (!String.IsNullOrEmpty(AbDetChartParameters.TimePeriod)) { int.TryParse(AbDetChartParameters.TimePeriod, out timePeriod); } List <string> stratas = new List <string>(); if (!string.IsNullOrEmpty(strataVar)) { stratas.Add(strataVar); } try { RequestUpdateStatusDelegate requestUpdateStatus = new RequestUpdateStatusDelegate(RequestUpdateStatusMessage); CheckForCancellationDelegate checkForCancellation = new CheckForCancellationDelegate(IsCancelled); AbDetChartParameters.GadgetStatusUpdate += new GadgetStatusUpdateHandler(requestUpdateStatus); AbDetChartParameters.GadgetCheckForCancellation += new GadgetCheckForCancellationHandler(checkForCancellation); if (this.DataFilters != null && this.DataFilters.Count > 0) { AbDetChartParameters.CustomFilter = this.DataFilters.GenerateDataFilterString(false); } else { AbDetChartParameters.CustomFilter = string.Empty; } Dictionary <DataTable, List <DescriptiveStatistics> > stratifiedFrequencyTables = DashboardHelper.GenerateFrequencyTable(AbDetChartParameters); List <AberrationChartData> dataList = new List <AberrationChartData>(); DataTable aberrationDetails = new DataTable(); aberrationDetails.Columns.Add(new DataColumn("Date", typeof(string))); aberrationDetails.Columns.Add(new DataColumn("Count", typeof(double))); aberrationDetails.Columns.Add(new DataColumn("Expected", typeof(double))); aberrationDetails.Columns.Add(new DataColumn("Difference", typeof(string))); foreach (KeyValuePair <DataTable, List <DescriptiveStatistics> > tableKvp in stratifiedFrequencyTables) { dataList = new List <AberrationChartData>(); aberrationDetails = new DataTable(); aberrationDetails.Columns.Add(new DataColumn("Date", typeof(string))); aberrationDetails.Columns.Add(new DataColumn("Count", typeof(double))); aberrationDetails.Columns.Add(new DataColumn("Expected", typeof(double))); aberrationDetails.Columns.Add(new DataColumn("Difference", typeof(string))); double count = 0; foreach (DescriptiveStatistics ds in tableKvp.Value) { count = count + ds.observations; } string strataValue = tableKvp.Key.TableName; DataTable table = tableKvp.Key; AddFillerRows(table); double lastAvg = double.NegativeInfinity; double lastStdDev = double.NegativeInfinity; Queue <double> frame = new Queue <double>(); List <AberrationChartData> actualValues = new List <AberrationChartData>(); int rowCount = 1; var rows = from DataRow row in table.Rows orderby row[0] select row; foreach (System.Data.DataRow row in rows /*table.Rows*/) { if (!row[freqVar].Equals(DBNull.Value) || (row[freqVar].Equals(DBNull.Value) && includeMissing == true)) { DateTime displayValue = DateTime.Parse(row[freqVar].ToString()); frame.Enqueue((double)row["freq"]); AberrationChartData actualValue = new AberrationChartData(); actualValue.Date = displayValue; // strataValue; actualValue.Actual = (double)row[1]; //actualValue.S = row[0]; //dataList.Add(actualValue); if (frame.Count > lagTime - 1 /*6*/) { double[] frameArray = frame.ToArray(); double frameAvg = frameArray.Average(); frame.Dequeue(); double stdDev = CalculateStdDev(frameArray); if (lastAvg != double.NegativeInfinity) { actualValue.Expected = lastAvg; //dataList.Add(trendValue); if ((double)row["freq"] > lastAvg + (/*2.99*/ deviations * lastStdDev)) { double freq = (double)row["freq"]; actualValue.Aberration = freq; double dvs = (freq - lastAvg) / lastStdDev; aberrationDetails.Rows.Add(displayValue.ToShortDateString(), (double)row["freq"], Math.Round(lastAvg, 2), Math.Round(dvs, 2).ToString() + " standard deviations"); } } lastAvg = frameAvg; lastStdDev = stdDev; } dataList.Add(actualValue); rowCount++; } } this.Dispatcher.BeginInvoke(new AddChartDelegate(AddChart), dataList, aberrationDetails, strataValue); } this.Dispatcher.BeginInvoke(new SimpleCallback(RenderFinish)); } catch (Exception ex) { this.Dispatcher.BeginInvoke(new RenderFinishWithErrorDelegate(RenderFinishWithError), ex.Message); } finally { stopwatch.Stop(); Debug.Print("Aberration Detection chart gadget took " + stopwatch.Elapsed.ToString() + " seconds to complete."); Debug.Print(DashboardHelper.DataFilters.GenerateDataFilterString()); } } }
/// <summary> /// Serializes the gadget into Xml /// </summary> /// <param name="doc">The Xml docment</param> /// <returns>XmlNode</returns> public override XmlNode Serialize(XmlDocument doc) { AberrationDetectionChartParameters AbDetChartParameters = (AberrationDetectionChartParameters)Parameters; System.Xml.XmlElement element = doc.CreateElement("aberrationChartGadget"); string xmlString = string.Empty; element.InnerXml = xmlString; element.AppendChild(SerializeFilters(doc)); System.Xml.XmlAttribute id = doc.CreateAttribute("id"); System.Xml.XmlAttribute locationY = doc.CreateAttribute("top"); System.Xml.XmlAttribute locationX = doc.CreateAttribute("left"); System.Xml.XmlAttribute collapsed = doc.CreateAttribute("collapsed"); System.Xml.XmlAttribute type = doc.CreateAttribute("gadgetType"); System.Xml.XmlAttribute actualHeight = doc.CreateAttribute("actualHeight"); id.Value = this.UniqueIdentifier.ToString(); locationY.Value = Canvas.GetTop(this).ToString("F0"); locationX.Value = Canvas.GetLeft(this).ToString("F0"); collapsed.Value = "false"; // currently no way to collapse the gadget, so leave this 'false' for now type.Value = "EpiDashboard.Gadgets.Charting.AberrationChartGadget"; actualHeight.Value = this.ActualHeight.ToString(); element.Attributes.Append(locationY); element.Attributes.Append(locationX); element.Attributes.Append(collapsed); element.Attributes.Append(type); element.Attributes.Append(id); if (IsCollapsed == false) { element.Attributes.Append(actualHeight); } double height = 600; double width = 800; double.TryParse(AbDetChartParameters.ChartHeight.ToString(), out height); double.TryParse(AbDetChartParameters.ChartWidth.ToString(), out width); //mainVariable XmlElement freqVarElement = doc.CreateElement("mainVariable"); if (AbDetChartParameters.ColumnNames.Count > 0) { if (!String.IsNullOrEmpty(AbDetChartParameters.ColumnNames[0].ToString())) { freqVarElement.InnerText = AbDetChartParameters.ColumnNames[0].ToString().Replace("<", "<"); element.AppendChild(freqVarElement); } } //strataVariables XmlElement StrataVariableNameElement = doc.CreateElement("strataVariable"); XmlElement StrataVariableNamesElement = doc.CreateElement("strataVariables"); if (AbDetChartParameters.StrataVariableNames.Count == 1) { StrataVariableNameElement.InnerText = AbDetChartParameters.StrataVariableNames[0].ToString().Replace("<", "<"); element.AppendChild(StrataVariableNameElement); } else if (AbDetChartParameters.StrataVariableNames.Count > 1) { foreach (string strataColumn in AbDetChartParameters.StrataVariableNames) { XmlElement strataElement = doc.CreateElement("strataVariable"); strataElement.InnerText = strataColumn.Replace("<", "<"); StrataVariableNamesElement.AppendChild(strataElement); } element.AppendChild(StrataVariableNamesElement); } //weightVariable XmlElement weightVariableElement = doc.CreateElement("weightVariable"); if (!String.IsNullOrEmpty(AbDetChartParameters.WeightVariableName)) { weightVariableElement.InnerText = AbDetChartParameters.WeightVariableName.Replace("<", "<"); element.AppendChild(weightVariableElement); } //height XmlElement heightElement = doc.CreateElement("height"); heightElement.InnerText = AbDetChartParameters.ChartHeight.ToString().Replace("<", "<"); element.AppendChild(heightElement); //width XmlElement widthElement = doc.CreateElement("width"); widthElement.InnerText = AbDetChartParameters.ChartWidth.ToString().Replace("<", "<"); element.AppendChild(widthElement); //sort? //allValues? //includeMissing? CustomOutputHeading = headerPanel.Text; CustomOutputDescription = descriptionPanel.Text; //customHeading XmlElement customHeadingElement = doc.CreateElement("customHeading"); customHeadingElement.InnerText = AbDetChartParameters.GadgetTitle.Replace("<", "<"); element.AppendChild(customHeadingElement); //customDescription XmlElement customDescriptionElement = doc.CreateElement("customDescription"); customDescriptionElement.InnerText = AbDetChartParameters.GadgetDescription.Replace("<", "<"); element.AppendChild(customDescriptionElement); //customCaption XmlElement customCaptionElement = doc.CreateElement("customCaption"); if (!String.IsNullOrEmpty(CustomOutputCaption)) { customCaptionElement.InnerText = CustomOutputCaption.Replace("<", "<"); } else { customCaptionElement.InnerText = string.Empty; } element.AppendChild(customCaptionElement); //lagTime XmlElement LagTimeElement = doc.CreateElement("lagTime"); LagTimeElement.InnerText = AbDetChartParameters.LagTime.ToString().Replace("<", "<"); element.AppendChild(LagTimeElement); //deviations XmlElement deviationsElement = doc.CreateElement("deviations"); deviationsElement.InnerText = AbDetChartParameters.Deviations.ToString().Replace("<", "<"); element.AppendChild(deviationsElement); //timePeriod XmlElement timePeriodElement = doc.CreateElement("timePeriod"); timePeriodElement.InnerText = AbDetChartParameters.TimePeriod.ToString().Replace("<", "<"); element.AppendChild(timePeriodElement); //yAxisLabel XmlElement yAxisLabelElement = doc.CreateElement("yAxisLabel"); yAxisLabelElement.InnerText = AbDetChartParameters.YAxisLabel.ToString().Replace("<", "<"); element.AppendChild(yAxisLabelElement); ////yAxisFormatString //xAxisLabelType XmlElement xAxisLabelTypeElement = doc.CreateElement("xAxisLabelType"); xAxisLabelTypeElement.InnerText = AbDetChartParameters.XAxisLabelType.ToString().Replace("<", "<"); element.AppendChild(xAxisLabelTypeElement); //xAxisLabel XmlElement xAxisLabelElement = doc.CreateElement("xAxisLabel"); xAxisLabelElement.InnerText = AbDetChartParameters.XAxisLabel.ToString().Replace("<", "<"); element.AppendChild(xAxisLabelElement); //chartTitle XmlElement chartTitleElement = doc.CreateElement("chartTitle"); chartTitleElement.InnerText = AbDetChartParameters.ChartTitle.ToString().Replace("<", "<"); element.AppendChild(chartTitleElement); //EI-98 //yAxisLabelFontSize XmlElement yAxisLabelFontSizeElement = doc.CreateElement("yAxisLabelFontSize"); yAxisLabelFontSizeElement.InnerText = AbDetChartParameters.YAxisLabelFontSize.ToString().Replace("<", "<"); element.AppendChild(yAxisLabelFontSizeElement); //xAxisLabelFontSize XmlElement xAxisLabelFontSize = doc.CreateElement("xAxisLabelFontSize"); xAxisLabelFontSize.InnerText = AbDetChartParameters.XAxisLabelFontSize.ToString().Replace("<", "<"); element.AppendChild(xAxisLabelFontSize); //yAxisFontSize XmlElement yAxisFontSizeElement = doc.CreateElement("yAxisFontSize"); yAxisFontSizeElement.InnerText = AbDetChartParameters.YAxisFontSize.ToString().Replace("<", "<"); element.AppendChild(yAxisFontSizeElement); //xAxisFontSize XmlElement xAxisFontSize = doc.CreateElement("xAxisFontSize"); xAxisFontSize.InnerText = AbDetChartParameters.XAxisFontSize.ToString().Replace("<", "<"); element.AppendChild(xAxisFontSize); SerializeAnchors(element); return(element); }
public AberrationDetectionChartProperties( DashboardHelper dashboardHelper, IGadget gadget, AberrationDetectionChartParameters parameters, List <Grid> strataGridList ) { InitializeComponent(); this.DashboardHelper = dashboardHelper; this.Gadget = gadget; this.Parameters = parameters; this.StrataGridList = strataGridList; //Variable fields List <string> fieldNames = new List <string>(); List <string> weightFieldNames = new List <string>(); List <string> strataFieldNames = new List <string>(); ColumnDataType columnDataType = ColumnDataType.DateTime | ColumnDataType.UserDefined; fieldNames = DashboardHelper.GetFieldsAsList(columnDataType); weightFieldNames.Add(string.Empty); columnDataType = ColumnDataType.Numeric | ColumnDataType.UserDefined; weightFieldNames.AddRange(DashboardHelper.GetFieldsAsList(columnDataType)); strataFieldNames.Add(string.Empty); columnDataType = ColumnDataType.Numeric | ColumnDataType.Boolean | ColumnDataType.Text | ColumnDataType.UserDefined; strataFieldNames.AddRange(DashboardHelper.GetFieldsAsList(columnDataType)); fieldNames.Sort(); weightFieldNames.Sort(); strataFieldNames.Sort(); if (fieldNames.Contains("SYSTEMDATE")) { fieldNames.Remove("SYSTEMDATE"); } if (DashboardHelper.IsUsingEpiProject) { if (fieldNames.Contains("RecStatus")) { fieldNames.Remove("RecStatus"); } if (weightFieldNames.Contains("RecStatus")) { weightFieldNames.Remove("RecStatus"); } if (strataFieldNames.Contains("RecStatus")) { strataFieldNames.Remove("RecStatus"); } if (strataFieldNames.Contains("FKEY")) { strataFieldNames.Remove("FKEY"); } if (strataFieldNames.Contains("GlobalRecordId")) { strataFieldNames.Remove("GlobalRecordId"); } } cmbField.ItemsSource = fieldNames; cmbFieldWeight.ItemsSource = weightFieldNames; listboxFieldStrata.ItemsSource = strataFieldNames; txtYAxisLabelValue.Text = "Count"; txtXAxisLabelValue.Text = String.Empty; 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 AberrationChartGadget).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); txtLagTime.PreviewKeyDown += new KeyEventHandler(txtInput_PositiveIntegerOnly_PreviewKeyDown); txtDeviations.PreviewKeyDown += new KeyEventHandler(txtInput_PositiveIntegerOnly_PreviewKeyDown); txtTimePeriod.PreviewKeyDown += new KeyEventHandler(txtInput_PositiveIntegerOnly_PreviewKeyDown); #region Translation lblConfigExpandedTitleTxt.Text = DashboardSharedStrings.GADGET_CONFIG_TITLE_ABERRATION_CHART; tbtnVariables.Title = DashboardSharedStrings.GADGET_TABBUTTON_VARIABLES; tbtnVariables.Description = DashboardSharedStrings.GADGET_TABDESC_ABERRATION_CHART; tbtnSorting.Title = DashboardSharedStrings.GADGET_TABBUTTON_SORTING; tbtnSorting.Description = DashboardSharedStrings.GADGET_TABDESC_SORTING; tbtnDisplay.Title = DashboardSharedStrings.GADGET_TABBUTTON_DISPLAY; tbtnDisplay.Description = DashboardSharedStrings.GADGET_TABDESC_DISPLAY; tbtnDisplayLabels.Title = DashboardSharedStrings.GADGET_TABBUTTON_LABELS; tbtnDisplayLabels.Description = DashboardSharedStrings.GADGET_TABDESC_LABELS; tbtnFilters.Title = DashboardSharedStrings.GADGET_TABBUTTON_FILTERS; tbtnFilters.Description = DashboardSharedStrings.GADGET_TABDESC_FILTERS; tblockPanelVariablesTxt.Text = DashboardSharedStrings.GADGET_PANELHEADER_VARIABLES; tblockPanelSortingTxt.Text = DashboardSharedStrings.GADGET_PANELHEADER_SORTING; tblockGroupingSubheaderTxt.Text = DashboardSharedStrings.GADGET_PANELSUBHEADER_GROUPING; tblockPanelDisplayTxt.Text = DashboardSharedStrings.GADGET_PANELHEADER_DISPLAY; tblockTitleNDescSubheaderTxt.Text = DashboardSharedStrings.GADGET_PANELSUBHEADER_TITLENDESC; tblockTitleTxt.Text = DashboardSharedStrings.GADGET_GADET_TITLE; tblockDescTxt.Text = DashboardSharedStrings.GADGET_DESCRIPTION; tblockDimensionsTxt.Text = DashboardSharedStrings.GADGET_DIMENSIONS; tblockWidth.Text = DashboardSharedStrings.GADGET_WIDTH; tblockHeight.Text = DashboardSharedStrings.GADGET_HEIGHT; tblockYAxisSubheaderTxt.Text = DashboardSharedStrings.GADGET_PANELSUBHEADER_YAXIS; tblockYAxisLabelValue.Text = DashboardSharedStrings.GADGET_YAXIS_LABEL; tblockYAxisLabelFontSize.Text = DashboardSharedStrings.GADGET_YAXIS_LABEL_FONTSIZE; tblockYAxisFontSize.Text = DashboardSharedStrings.GADGET_YAXIS_DATA_FONTSIZE; tblockXAxisSubheaderTxt.Text = DashboardSharedStrings.GADGET_XAXIS; tblockXAxisLabelType.Text = DashboardSharedStrings.GADGET_XAXIS_LABEL_TYPE; tblockXAxisLabelValue.Text = DashboardSharedStrings.GADGET_XAXIS_LABEL; tblockXAxisLabelFontSize.Text = DashboardSharedStrings.GADGET_XAXIS_LABEL_FONTSIZE; tblockXAxisFontSize.Text = DashboardSharedStrings.GADGET_XAXIS_DATA_FONTSIZE; tblockTitleSubTitleTxt.Text = DashboardSharedStrings.GADGET_SUBHEADER_TITLESUBTITLE; tblockChartTitleValue.Text = DashboardSharedStrings.GADGET_CHART_TITLE; tblockPanelDataFilterTxt.Text = DashboardSharedStrings.GADGET_PANELHEADER_DATA_FILTER; tblockAnyFilterGadgetOnlyTxt.Text = DashboardSharedStrings.GADGET_FILTER_GADGET_ONLY; tblockMainVariable.Text = DashboardSharedStrings.GADGET_DATE_VARIABLE; tblockWeightVariable.Text = DashboardSharedStrings.GADGET_COUNT_VARIABLE_OPT; tblockLagTimeDays.Text = DashboardSharedStrings.GADGET_LAG_TIME_DAYS; tblockThresh.Text = DashboardSharedStrings.GADGET_THRESHOLD; tblockTimePeriod.Text = DashboardSharedStrings.GADGET_DAYS_PRIOR; tblockIndicatorTxt.Text = DashboardSharedStrings.GADGET_INDICATOR_VARIABLES_OPT; tblockPanelLabelsTxt.Text = DashboardSharedStrings.GADGET_PANELSHEADER_LABELS; btnOKTxt.Text = DashboardSharedStrings.BUTTON_OK; btnCancelTxt.Text = DashboardSharedStrings.BUTTON_CANCEL; #endregion // Translation }