177 lines
5.4 KiB
C#
177 lines
5.4 KiB
C#
///
|
|
/// Copyright (c) 2016-2022 Sensus Slovensko a.s.
|
|
///
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Windows.Forms;
|
|
using ProductionTracing.Resources;
|
|
|
|
namespace ProductionTracing.Forms
|
|
{
|
|
public partial class StatisticsOptionsDlg : Form
|
|
{
|
|
public bool TwoDim;
|
|
public int RowItemIx;
|
|
public int ColumnItemIx;
|
|
public bool FilterEnabled;
|
|
public int FilteredItemIx;
|
|
public string FilteredValue;
|
|
|
|
IList<ItemSpec> projectedItems;
|
|
|
|
public StatisticsOptionsDlg(IList<ItemSpec> projectedItems)
|
|
{
|
|
InitializeComponent();
|
|
|
|
Localize();
|
|
|
|
this.projectedItems = projectedItems;
|
|
|
|
TwoDim = Program.LocalSettings.TwoDim;
|
|
twoDimCheckBox.Checked = TwoDim;
|
|
columnsComboBox.Enabled = TwoDim;
|
|
|
|
FilterEnabled = Program.LocalSettings.FilterEnabled;
|
|
filterCheckBox.Checked = FilterEnabled;
|
|
filterGroupBox.Enabled = FilterEnabled;
|
|
filteredValueTextBox.Text = Program.LocalSettings.FilteredValue;
|
|
|
|
RowItemIx = 0;
|
|
rowsComboBox.Text = projectedItems[0].Caption;
|
|
///
|
|
ColumnItemIx = 0;
|
|
columnsComboBox.Text = projectedItems[0].Caption;
|
|
///
|
|
FilteredItemIx = 0;
|
|
filteredItemComboBox.Text = projectedItems[0].Caption;
|
|
///
|
|
for (int i = 1; i < projectedItems.Count; i++)
|
|
{
|
|
string columnCaption = projectedItems[i].Caption;
|
|
|
|
rowsComboBox.Items.Add(columnCaption);
|
|
columnsComboBox.Items.Add(columnCaption);
|
|
filteredItemComboBox.Items.Add(columnCaption);
|
|
|
|
if (columnCaption == Program.LocalSettings.RowItemID)
|
|
{
|
|
RowItemIx = i;
|
|
rowsComboBox.Text = columnCaption;
|
|
}
|
|
|
|
if (columnCaption == Program.LocalSettings.ColumnItemID)
|
|
{
|
|
ColumnItemIx = i;
|
|
columnsComboBox.Text = columnCaption;
|
|
}
|
|
|
|
if (columnCaption == Program.LocalSettings.FilteredItemId)
|
|
{
|
|
FilteredItemIx = i;
|
|
filteredItemComboBox.Text = columnCaption;
|
|
}
|
|
}
|
|
}
|
|
|
|
void Localize()
|
|
{
|
|
Text = Strings.Statistics;
|
|
okButton.Text = Strings.OkBtnText;
|
|
cancelButton.Text = Strings.Cancel;
|
|
rowsGroupBox.Text = Strings.Rows;
|
|
columnsGroupBox.Text = Strings.Columns;
|
|
}
|
|
|
|
private void twoDimCheckBox_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
columnsComboBox.Enabled = twoDimCheckBox.Checked;
|
|
}
|
|
|
|
private void filterCheckBox_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
filterGroupBox.Enabled = filterCheckBox.Checked;
|
|
}
|
|
|
|
private void okButton_Click(object sender, EventArgs e)
|
|
{
|
|
TwoDim = twoDimCheckBox.Checked;
|
|
|
|
RowItemIx = -1; /// -1 = No selection
|
|
|
|
for (int i = 0; i < rowsComboBox.Items.Count; i++)
|
|
{
|
|
if (rowsComboBox.Text.Equals(rowsComboBox.Items[i]))
|
|
{
|
|
RowItemIx = i + 1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (TwoDim)
|
|
{
|
|
ColumnItemIx = -1; /// -1 = No selection
|
|
|
|
for (int i = 0; i < columnsComboBox.Items.Count; i++)
|
|
{
|
|
if (columnsComboBox.Text.Equals(columnsComboBox.Items[i]))
|
|
{
|
|
ColumnItemIx = i + 1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
ColumnItemIx = 0;
|
|
}
|
|
|
|
FilterEnabled = filterCheckBox.Checked;
|
|
if (FilterEnabled)
|
|
{
|
|
FilteredItemIx = -1; /// -1 = No selection
|
|
|
|
for (int i = 0; i < filteredItemComboBox.Items.Count; i++)
|
|
{
|
|
if (filteredItemComboBox.Text.Equals(filteredItemComboBox.Items[i]))
|
|
{
|
|
FilteredItemIx = i + 1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
FilteredItemIx = 0;
|
|
}
|
|
|
|
if (RowItemIx == -1 || ColumnItemIx == -1)
|
|
{
|
|
MessageBox.Show(Strings.Error, Strings.Error, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
|
DialogResult = DialogResult.Cancel;
|
|
}
|
|
|
|
Program.LocalSettings.TwoDim = TwoDim;
|
|
Program.LocalSettings.RowItemID = rowsComboBox.Text;
|
|
if (TwoDim)
|
|
{
|
|
Program.LocalSettings.ColumnItemID = columnsComboBox.Text;
|
|
}
|
|
Program.LocalSettings.FilterEnabled = FilterEnabled;
|
|
if (FilterEnabled)
|
|
{
|
|
Program.LocalSettings.FilteredItemId = filteredItemComboBox.Text;
|
|
FilteredValue = filteredValueTextBox.Text;
|
|
Program.LocalSettings.FilteredValue = FilteredValue;
|
|
}
|
|
Program.LocalSettings.Save();
|
|
|
|
DialogResult = DialogResult.OK;
|
|
Close();
|
|
}
|
|
|
|
private void cancelButton_Click(object sender, EventArgs e)
|
|
{
|
|
}
|
|
}
|
|
}
|