Sql Script to Build Empty VE-PROMS Database
Use new settings (ConvertTo and ExecutableMode) New Settings Use new setting (PDF Folder) Use and Control new settings
This commit is contained in:
109
PROMS/DataLoader/frmPG.cs
Normal file
109
PROMS/DataLoader/frmPG.cs
Normal file
@@ -0,0 +1,109 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Reflection;
|
||||
|
||||
namespace DataLoader
|
||||
{
|
||||
public partial class frmPG : Form
|
||||
{
|
||||
private object _SelectedObject;
|
||||
public object SelectedObject
|
||||
{
|
||||
get { return _SelectedObject; }
|
||||
set { _SelectedObject = value; }
|
||||
}
|
||||
public frmPG(string title, object selectedObject)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.Text = title;
|
||||
_SelectedObject = selectedObject;
|
||||
}
|
||||
private void CheckValidity()
|
||||
{
|
||||
if (SelectedObject.GetType().Name == "DataLoaderSettings")
|
||||
{
|
||||
DataLoaderSettings myDls = (DataLoaderSettings)SelectedObject;
|
||||
string validity = myDls.ValidityCheck;
|
||||
pg.SelectedObject = SelectedObject;
|
||||
tbError.Text = validity;
|
||||
if (validity == "")
|
||||
tbError.Visible = false;
|
||||
else
|
||||
{
|
||||
using (Graphics gr = tbError.CreateGraphics())
|
||||
{
|
||||
SizeF sf = gr.MeasureString(validity, tbError.Font,tbError.ClientRectangle.Width-10);
|
||||
tbError.Height = (int)(tbError.Font.GetHeight(gr.DpiY) + sf.Height);
|
||||
}
|
||||
tbError.Visible = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
tbError.Visible = false;
|
||||
btnOK.Enabled = !tbError.Visible;
|
||||
}
|
||||
private void frmPG_Load(object sender, EventArgs e)
|
||||
{
|
||||
pg.PropertyValueChanged += new PropertyValueChangedEventHandler(pg_PropertyValueChanged);
|
||||
pg.SelectedObject = SelectedObject;
|
||||
Resize += new EventHandler(frmPG_Resize);
|
||||
CheckValidity();
|
||||
MoveSplitterTo(pg, SplitterWidth);
|
||||
}
|
||||
void pg_PropertyValueChanged(object s, PropertyValueChangedEventArgs e)
|
||||
{
|
||||
if (e.ChangedItem.Label == "VEProms Exe Folder")
|
||||
{
|
||||
DataLoaderSettings dls = SelectedObject as DataLoaderSettings;
|
||||
if (dls != null)
|
||||
dls.VESamFile = dls.VEPromsPath + "\\vesam.opt";
|
||||
}
|
||||
if (e.ChangedItem.Label == "Procedure Folder")
|
||||
{
|
||||
DataLoaderSettings dls = SelectedObject as DataLoaderSettings;
|
||||
if (dls != null)
|
||||
dls.PDFFolder = "";
|
||||
}
|
||||
CheckValidity();
|
||||
}
|
||||
void frmPG_Resize(object sender, EventArgs e)
|
||||
{
|
||||
MoveSplitterTo(pg, SplitterWidth);
|
||||
}
|
||||
private int _SplitterWidth = 0;
|
||||
public int SplitterWidth
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_SplitterWidth == 0)
|
||||
{
|
||||
using (Graphics gr = this.CreateGraphics())
|
||||
_SplitterWidth = 180 * ((int)gr.DpiX) / 96;
|
||||
}
|
||||
return _SplitterWidth;
|
||||
}
|
||||
}
|
||||
static void MoveSplitterTo(PropertyGrid grid, int x)
|
||||
{
|
||||
// HEALTH WARNING: reflection can be brittle...
|
||||
FieldInfo field = typeof(PropertyGrid)
|
||||
.GetField("gridView",
|
||||
BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
field.FieldType
|
||||
.GetMethod("MoveSplitterTo",
|
||||
BindingFlags.NonPublic | BindingFlags.Instance)
|
||||
.Invoke(field.GetValue(grid), new object[] { x });
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
PropertyDescriptor pd = pg.SelectedGridItem.PropertyDescriptor;
|
||||
pd.ResetValue(pg.SelectedObject);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user