123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- using System.Linq;
- using System.Windows;
- using Comal.Classes;
- using InABox.Configuration;
- using InABox.DynamicGrid;
- using InABox.Wpf;
- namespace PRSDesktop
- {
- /// <summary>
- /// Interaction logic for ScheduleSettings.xaml
- /// </summary>
- public partial class FactorySettings : ThemableWindow
- {
- private readonly GlobalConfiguration<FactorySetup> config = new();
- private readonly FactorySetup settings;
- public FactorySettings()
- {
- InitializeComponent();
- settings = config.Load();
- Groups.OnSelectItem += Groups_OnSelectItem;
- Groups.Groups = settings.Groups;
- Groups.Refresh(true, true);
- Sections.Sections = settings.Sections;
- Sections.Refresh(true, true);
- //Stages.Model.RowHeights.DefaultLineSize = 20;
- //Stages.Model.ColumnCount = 8;
- //Stages.Model.ColumnWidths[0] = 20;
- //Stages.Model.ColumnWidths[1] = 20;
- //Stages.Model.ColumnWidths[2] = 0;
- //Stages.Model.ColumnWidths[3] = 0;
- //Stages.Model.ColumnWidths[4] = 0;
- //Stages.Model.ColumnWidths[5] = 50;
- //Stages.Model.ColumnWidths[6] = 20;
- //Stages.Model.ColumnWidths[7] = 20;
- //Stages.Model.HeaderColumns = 0;
- //Stages.Model.RowCount = 0;
- //Stages.Model.RowCount = settings.Sections.Count + 2;
- }
- private void Groups_OnSelectItem(object sender, DynamicGridSelectionEventArgs e)
- {
- Sections.CurrentGroup = e.Rows?.FirstOrDefault()?.Get<FactoryGroup, string>(x => x.Group) ?? "";
- Sections.Refresh(false, true);
- }
- //private void Stages_SizeChanged(object sender, SizeChangedEventArgs e)
- //{
- // Stages.Model.ColumnWidths[3] = (e.NewSize.Width - 130) / 3;
- // Stages.Model.ColumnWidths[4] = (e.NewSize.Width - 130) * 2 / 3;
- //}
- //private void Stages_QueryCellInfo(object sender, Syncfusion.Windows.Controls.Grid.GridQueryCellInfoEventArgs e)
- //{
- // try
- // {
- // int row = e.Cell.RowIndex - 1;
- // int col = e.Cell.ColumnIndex;
- // switch (col)
- // {
- // case 0:
- // if ((row == -1) || ((row > 0) && (row < settings.Sections.Count)))
- // GridUtils.SetButtonImage(e.Style, PRSDesktop.Resources.uparrow, Stages.Model, col);
- // else
- // GridUtils.SetButtonImage(e.Style, null, Stages.Model, col);
- // break;
- // case 1:
- // if (row < settings.Sections.Count - 1)
- // GridUtils.SetButtonImage(e.Style, PRSDesktop.Resources.downarrow, Stages.Model, col);
- // else
- // GridUtils.SetButtonImage(e.Style, null, Stages.Model, col);
- // break;
- // case 2:
- // if (row == -1)
- // e.Style.CellValue = "Guid";
- // else if (row < settings.Sections.Count)
- // e.Style.CellValue = settings.Sections[row].ID.ToString();
- // else
- // e.Style.CellValue = "";
- // break;
- // case 3:
- // if (row == -1)
- // e.Style.CellValue = "Group";
- // else if (row < settings.Sections.Count)
- // e.Style.CellValue = settings.Sections[row].Group;
- // else
- // e.Style.CellValue = "";
- // e.Style.VerticalAlignment = VerticalAlignment.Center;
- // break;
- // case 4:
- // if (row == -1)
- // e.Style.CellValue = "Section Name";
- // else if (row < settings.Sections.Count)
- // e.Style.CellValue = settings.Sections[row].Name;
- // else
- // e.Style.CellValue = "";
- // e.Style.VerticalAlignment = VerticalAlignment.Center;
- // break;
- // case 5:
- // if (row == -1)
- // e.Style.CellValue = "Stations";
- // else if (row < settings.Sections.Count)
- // e.Style.CellValue = settings.Sections[row].Stations.ToString();
- // else
- // e.Style.CellValue = "";
- // e.Style.HorizontalAlignment = HorizontalAlignment.Center;
- // e.Style.VerticalAlignment = VerticalAlignment.Center;
- // break;
- // case 6:
- // if (row == -1)
- // GridUtils.SetButtonImage(e.Style, PRSDesktop.Resources.shared, Stages.Model, col);
- // else if (row < settings.Sections.Count)
- // GridUtils.SetButtonImage(e.Style, settings.Sections[row].Shared ? PRSDesktop.Resources.shared : null, Stages.Model, col);
- // else
- // GridUtils.SetButtonImage(e.Style, null, Stages.Model, col);
- // break;
- // case 7:
- // if (row < settings.Sections.Count)
- // GridUtils.SetButtonImage(e.Style, PRSDesktop.Resources.delete, Stages.Model, col);
- // else
- // GridUtils.SetButtonImage(e.Style, null, Stages.Model, col);
- // break;
- // }
- // } catch (Exception err)
- // {
- // MessageBox.Show(err.Message);
- // }
- //}
- //private void Stages_CommitCellInfo(object sender, Syncfusion.Windows.Controls.Grid.GridCommitCellInfoEventArgs e)
- //{
- // FactorySection section;
- // if (e.Style.RowIndex > settings.Sections.Count)
- // {
- // section = new FactorySection() { ID = Guid.NewGuid(), Stations = 1 };
- // settings.Sections.Add(section);
- // }
- // else
- // section = settings.Sections[e.Style.RowIndex - 1];
- // switch (e.Cell.ColumnIndex)
- // {
- // case 3:
- // section.Group = e.Style.CellValue.ToString();
- // break;
- // case 4:
- // section.Name = e.Style.CellValue.ToString();
- // break;
- // case 5:
- // section.Stations = Convert.ToInt32(e.Style.CellValue.ToString());
- // break;
- // }
- // Stages.Model.RowCount = 0;
- // Stages.Model.RowCount = settings.Sections.Count + 2;
- //}
- //private void Stages_CellClick(object sender, GridCellClickEventArgs e)
- //{
- // int index = e.RowIndex - 1;
- // if ((index < 0) || (index >= settings.Sections.Count))
- // return;
- // FactorySection section = settings.Sections[index];
- // switch (e.ColumnIndex)
- // {
- // case 0:
- // if (index > 0)
- // {
- // settings.Sections.Remove(section);
- // settings.Sections.Insert(index - 1, section);
- // e.Handled = true;
- // }
- // break;
- // case 1:
- // if (e.RowIndex < settings.Sections.Count - 1)
- // {
- // settings.Sections.Remove(section);
- // settings.Sections.Insert(index+1, section);
- // e.Handled = true;
- // }
- // break;
- // case 6:
- // if (index > -1)
- // {
- // section.Shared = !section.Shared;
- // e.Handled = true;
- // }
- // break;
- // case 7:
- // settings.Sections.Remove(section);
- // e.Handled = true;
- // break;
- // }
- // if (e.Handled)
- // {
- // Stages.Model.RowCount = 0;
- // Stages.Model.RowCount = settings.Sections.Count + 2;
- // }
- //}
- private void Button_Click(object sender, RoutedEventArgs e)
- {
- Sections.CurrentGroup = "";
- config.Save(settings);
- DialogResult = true;
- Close();
- }
- private void CancelButton_Click(object sender, RoutedEventArgs e)
- {
- DialogResult = false;
- Close();
- }
- }
- }
|