205 lines
6.0 KiB
C#
205 lines
6.0 KiB
C#
using Sarand.PatientMgr.Win.Forms.Base;
|
|
using Sarand.PatientMgr.Win.Forms.Panels;
|
|
using Sarand.Win.Forms.Utils;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Sarand.PatientMgr.Win.Forms.Config
|
|
{
|
|
//=======================================================================
|
|
public partial class SpmForm_Config : SpmForm
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Configuration.
|
|
public new class Config : SpmForm.Config
|
|
{
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Definitions.
|
|
public enum ConfigPanelType
|
|
{
|
|
Unknown = 0,
|
|
Departments,
|
|
Operations,
|
|
Employees,
|
|
Patients,
|
|
Procedures,
|
|
EmployeeRoles,
|
|
FacilityTemplates
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Data members.
|
|
private Config config = null;
|
|
private SpmPanel_Config_Menu panelMenu = null;
|
|
private ConfigPanelType panelType = ConfigPanelType.Unknown;
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
private SpmForm_Config () : this(new Config()) { }
|
|
public SpmForm_Config (Config config) : base(config)
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
protected override void Dispose (bool disposing)
|
|
{
|
|
if (disposing)
|
|
{
|
|
if (components != null) components.Dispose();
|
|
if (panelMenu != null) panelMenu.Dispose();
|
|
}
|
|
base.Dispose(disposing);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Properties.
|
|
[Browsable(false), ReadOnly(true), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
|
|
public ConfigPanelType PanelType
|
|
{
|
|
get { return panelType; }
|
|
set
|
|
{
|
|
SwitchPanel(value);
|
|
}
|
|
}
|
|
private void SwitchPanel (ConfigPanelType panelType)
|
|
{
|
|
if (this.panelType == panelType) return;
|
|
|
|
SpmPanel panel = null;
|
|
switch (panelType)
|
|
{
|
|
case ConfigPanelType.Departments:
|
|
{
|
|
SpmPanel_Departments.Config panelConfig = new SpmPanel_Departments.Config(SpmPanel_Departments.PanelMode.Maintain);
|
|
panel = new SpmPanel_Departments(panelConfig);
|
|
break;
|
|
}
|
|
case ConfigPanelType.FacilityTemplates:
|
|
{
|
|
SpmPanel_FacilityTemplates.Config panelConfig = new SpmPanel_FacilityTemplates.Config();
|
|
panelConfig.Mode = SpmPanel_FacilityTemplates.PanelMode.Maintain;
|
|
panel = new SpmPanel_FacilityTemplates(panelConfig);
|
|
break;
|
|
}
|
|
case ConfigPanelType.Operations:
|
|
{
|
|
/* ToDo Operations panel
|
|
SpmPanel_Operations.Config panelConfig = new SpmPanel_Operations.Config();
|
|
panelConfig.Mode = SpmPanel_Operations.PanelMode.Maintain;
|
|
panel = new SpmPanel_Operations(panelConfig);
|
|
*/
|
|
break;
|
|
}
|
|
case ConfigPanelType.Procedures:
|
|
{
|
|
SpmPanel_Procedures.Config panelConfig = new SpmPanel_Procedures.Config();
|
|
panelConfig.Mode = SpmPanel_Procedures.PanelMode.Maintain;
|
|
panel = new SpmPanel_Procedures(panelConfig);
|
|
break;
|
|
}
|
|
case ConfigPanelType.Patients:
|
|
{
|
|
/* ToDo Patients panel
|
|
SpmPanel_Patients.Config panelConfig = new SpmPanel_Patients.Config();
|
|
panelConfig.Mode = SpmPanel_Patients.PanelMode.Maintain;
|
|
panel = new SpmPanel_Patients(panelConfig);
|
|
*/
|
|
break;
|
|
}
|
|
case ConfigPanelType.Employees:
|
|
{
|
|
/* ToDo Employees panel
|
|
SpmPanel_Employees.Config panelConfig = new SpmPanel_Employees.Config();
|
|
panelConfig.Mode = SpmPanel_Employees.PanelMode.Maintain;
|
|
panel = new SpmPanel_Employees(panelConfig);
|
|
*/
|
|
break;
|
|
}
|
|
case ConfigPanelType.EmployeeRoles:
|
|
{
|
|
SpmPanel_EmployeeRoles.Config panelConfig = new SpmPanel_EmployeeRoles.Config();
|
|
panelConfig.Mode = SpmPanel_EmployeeRoles.PanelMode.Maintain;
|
|
panel = new SpmPanel_EmployeeRoles(panelConfig);
|
|
break;
|
|
}
|
|
}
|
|
if (panel == null) return;
|
|
|
|
// Clear existing view.
|
|
while (splitContainer.Panel2.Controls.Count > 0)
|
|
{
|
|
Control control = splitContainer.Panel2.Controls[0];
|
|
splitContainer.Panel2.Controls.RemoveAt(0);
|
|
control.Dispose();
|
|
}
|
|
// Add new view.
|
|
splitContainer.Panel2.Controls.Add(panel);
|
|
panel.Dock = DockStyle.Fill;
|
|
|
|
this.panelType = panelType;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// I n i t i a l i s a t i o n
|
|
//-------------------------------------------------------------------
|
|
protected override void OnCreateControl ()
|
|
{
|
|
base.OnCreateControl();
|
|
if (this.IsDesignerHosted()) return;
|
|
|
|
// Spliter.
|
|
splitContainer.SplitterDistance = 200;
|
|
splitContainer.FixedPanel = FixedPanel.Panel1;
|
|
splitContainer.IsSplitterFixed = true;
|
|
|
|
// Menu panel.
|
|
SpmPanel_Config_Menu.Config menuConfig = new SpmPanel_Config_Menu.Config();
|
|
menuConfig.ConfigForm = this;
|
|
panelMenu = new SpmPanel_Config_Menu(menuConfig);
|
|
splitContainer.Panel1.Controls.Add(panelMenu);
|
|
panelMenu.Dock = DockStyle.Fill;
|
|
panelMenu.RefreshPanel();
|
|
|
|
SetControlActivity();
|
|
}
|
|
protected override void OnShown (EventArgs e)
|
|
{
|
|
base.OnShown(e);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// C o n t r o l A c t i v i t y
|
|
//-------------------------------------------------------------------
|
|
protected override void SetControlActivity ()
|
|
{
|
|
SetControlsReadOnly();
|
|
}
|
|
protected override void SetControlsReadOnly ()
|
|
{
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// F o r m A c t i o n s
|
|
//-------------------------------------------------------------------
|
|
public void RefreshView()
|
|
{
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// F o r m E v e n t s
|
|
//-------------------------------------------------------------------
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|