SourceCode/PROMS/VEPROMS_UI/frmVersionsProperties.cs
2007-11-20 20:01:55 +00:00

531 lines
19 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using VEPROMS.CSLA.Library;
using System.Drawing.Imaging;
using VEPROMS.Properties;
using DataLoader;
using DescriptiveEnum;
namespace VEPROMS
{
public partial class frmVersionsProperties : DevComponents.DotNetBar.Office2007Form
{
// Default values
private string _DefaultFormatName = null;
private string _DefaultROGraficFileExtension = null;
private string _DefaultROPrefix = null;
private string _DefaultImagePrefix = null;
private string _DefaultPagination = null;
private string _DefaultWatermark = null;
private string _DefaultChgBarType = null;
private string _DefaultChgBarLoc = null;
private string _DefaultChgBarText = null;
private string _DefaultChgBarUsrMsg1 = null;
private string _DefaultChgBarUsrMsg2 = null;
private bool _DefaultDisableDuplex = false;
//
private bool _Initializing;
private DocVersionConfig _DocVersionConfig;
public frmVersionsProperties(DocVersionConfig docVersionConfig)
{
_DocVersionConfig = docVersionConfig;
_Initializing = true;
InitializeComponent();
btnGeneral.PerformClick(); // always start with General tab or button
_Initializing = false;
//build the caption
this.Text = string.Format("{0} Properties",_DocVersionConfig.Name);
}
private void btnFlderPropOK_Click(object sender, EventArgs e)
{
docVersionConfigBindingSource.EndEdit();
// Save Default settings for User
//
// Save whether we should display the default values on this property page
Settings.Default.ShowDefaultVersionProp = ppCbShwDefSettings.Checked;
Settings.Default.Save();
DialogResult = DialogResult.OK;
this.Close();
}
private void btnFldrPropCancel_Click(object sender, EventArgs e)
{
docVersionConfigBindingSource.CancelEdit();
this.Close();
}
private void FindDefaultValues()
{
_DocVersionConfig.ParentLookup = true;
// get default format
_DefaultFormatName = _DocVersionConfig.DefaultFormatSelection;
if (_DefaultFormatName != null && !(_DefaultFormatName.Equals("")))
{
ppLblFormatDefault.Text = string.Format("({0})", _DefaultFormatName);
ppCmbxFormat.WatermarkText = string.Format("{0}", _DefaultFormatName);
}
// Get the default Change Bar Type
_DefaultChgBarType = _DocVersionConfig.Print_ChangeBar.ToString();
if (!(_DefaultChgBarType.Equals("")))
{
string tstr = EnumDescConverter.GetEnumDescription(_DocVersionConfig.Print_ChangeBar);
ppLblChangeBarTypeDefault.Text = string.Format("({0})", tstr);
ppCmbxChangeBarType.WatermarkText = string.Format("{0}", tstr);
}
// Get the default Change Bar Location
_DefaultChgBarLoc = _DocVersionConfig.Print_ChangeBarLoc.ToString();
if (!(_DefaultChgBarLoc.Equals("")))
{
string tstr = EnumDescConverter.GetEnumDescription(_DocVersionConfig.Print_ChangeBarLoc);
ppLblChgBarPosDefault.Text = string.Format("({0})", tstr);
ppCmbxChgBarPos.WatermarkText = string.Format("{0}", tstr);
}
// Get the default Change Bar text
_DefaultChgBarText = _DocVersionConfig.Print_ChangeBarText.ToString();
if (!(_DefaultChgBarText.Equals("")))
{
string tstr = EnumDescConverter.GetEnumDescription(_DocVersionConfig.Print_ChangeBarText);
ppLblChgBarTxtTypeDefault.Text = string.Format("({0})", tstr);
ppCmbxChgBarTxtType.WatermarkText = string.Format("{0}", tstr);
}
// Get the default User Change Bar Message 1
_DefaultChgBarUsrMsg1 = _DocVersionConfig.Print_UserCBMess1;
if (!(_DefaultChgBarUsrMsg1.Equals("")))
{
ppLblChgBarUserMsgOneDefault.Text = string.Format("({0})", _DefaultChgBarUsrMsg1);
}
// Get the default User Change Bar Message 2
_DefaultChgBarUsrMsg2 = _DocVersionConfig.Print_UserCBMess2;
if (!(_DefaultChgBarUsrMsg2.Equals("")))
{
ppLblChgBarUserMsgTwoDefault.Text = string.Format("{0}", _DefaultChgBarUsrMsg2);
}
// Get the default RO Graphic file extension
_DefaultROGraficFileExtension = _DocVersionConfig.Graphics_defaultext;
if (!(_DefaultROGraficFileExtension.Equals("")))
{
ppLblGraphicFileExtDefault.Text = string.Format("({0})", _DefaultROGraficFileExtension);
ppCmbxGrphFileExt.WatermarkText = string.Format("{0}", _DefaultROGraficFileExtension);
}
// Get the default Referenced Objects prefix
_DefaultROPrefix = _DocVersionConfig.RODefaults_setpointprefix;
if (!(_DefaultROPrefix.Equals("")))
{
ppLblROPrefixDefault.Text = string.Format("({0})", _DefaultROPrefix);
ppCmbxDefROPrefix.WatermarkText = string.Format("{0}", _DefaultROPrefix);
}
// Get the default RO Graphics prefix
_DefaultImagePrefix = _DocVersionConfig.RODefaults_graphicsprefix;
if (!(_DefaultImagePrefix.Equals("")))
{
ppLblImagePrefixDefault.Text = string.Format("({0})", _DefaultImagePrefix);
ppCmbxDefImgPrefix.WatermarkText = string.Format("{0}", _DefaultImagePrefix);
}
// Get the default Print Pagination
_DefaultPagination = _DocVersionConfig.Print_Pagination.ToString();
if (!(_DefaultPagination.Equals("")))
{
string tstr = EnumDescConverter.GetEnumDescription(_DocVersionConfig.Print_Pagination);
ppLblPaginationDefault.Text = string.Format("({0})", tstr);
ppCmbxPagination.WatermarkText = string.Format("{0}", tstr);
}
// Get the default Watermark
_DefaultWatermark = _DocVersionConfig.Print_Watermark.ToString();
if (!(_DefaultWatermark.Equals("")))
{
string tstr = EnumDescConverter.GetEnumDescription(_DocVersionConfig.Print_Watermark);
ppLblWatermarkDefault.Text = string.Format("({0})", tstr);
ppCmbxWatermark.WatermarkText = string.Format("{0}", tstr);
}
// Get the default Disable Duplex
_DefaultDisableDuplex = _DocVersionConfig.Print_DisableDuplex;
ppLblAutoDuplexDefault.Text = string.Format("(Duplex {0})", (_DefaultDisableDuplex) ? "OFF" : "ON");
//// Get the default Format Columns
//_DefaultFormatColumns = _FolderConfig.Format_Columns.ToString();
//if (!(_DefaultFormatColumns.Equals("")))
// folderPropStepEditorColumnsDefault.Text = string.Format("({0})", _DefaultFormatColumns);
_DocVersionConfig.ParentLookup = false;
}
private void frmVersionsProperties_Load(object sender, EventArgs e)
{
// populate the a list box of possible graphic file types
// supported by .NET
//foreach (ImageCodecInfo info in ImageCodecInfo.GetImageDecoders())
//{
// string st = string.Format("{0} - ({1})", info.FormatDescription, info.FilenameExtension);
// comboBoxEx1.Items.Add(st);
// // comboBoxEx1.Items.Add(info.FormatDescription);
//}
docVersionConfigBindingSource.DataSource = _DocVersionConfig;
formatInfoListBindingSource.DataSource = FormatInfoList.Get();
imageCodecInfoBindingSource.DataSource = ImageCodecInfo.GetImageDecoders();
// Get the saved settings for this user
//
// Get setting telling us whether to display the default values on this property page
ppCbShwDefSettings.Checked = (Settings.Default["ShowDefaultVersionProp"] != null) ? Settings.Default.ShowDefaultVersionProp : false;
// Get the User's property page style "PropPageStyle"
// 1 - Button Dialog (default)
// 2 - Tab Dialog
if ((int)Settings.Default["PropPageStyle"] == 2) // tabbed interface
{
tcVersions.TabsVisible = true;
panVerBtns.Visible = false;
this.Width -= panVerBtns.Width;
}
// Get the default values for the property page information
FindDefaultValues();
ppCmbxChangeBarType.DataSource = EnumDetail<DocVersionConfig.PrintChangeBar>.Details();
ppCmbxChangeBarType.DisplayMember = "Description";
ppCmbxChangeBarType.ValueMember = "EValue";
ppCmbxChgBarPos.DataSource = EnumDetail<DocVersionConfig.PrintChangeBarLoc>.Details();
ppCmbxChgBarPos.DisplayMember = "Description";
ppCmbxChgBarPos.ValueMember = "EValue";
ppCmbxChgBarTxtType.DataSource = EnumDetail<DocVersionConfig.PrintChangeBarText>.Details();
ppCmbxChgBarTxtType.DisplayMember = "Description";
ppCmbxChgBarTxtType.ValueMember = "EValue";
ppCmbxWatermark.DataSource = EnumDetail<DocVersionConfig.PrintWatermark>.Details();
ppCmbxWatermark.DisplayMember = "Description";
ppCmbxWatermark.ValueMember = "EValue";
ppCmbxPagination.DataSource = EnumDetail<DocVersionConfig.PrintPagination>.Details();
ppCmbxPagination.DisplayMember = "Description";
ppCmbxPagination.ValueMember = "EValue";
ppCmbxProcSetType.DataSource = EnumDetail<VersionTypeEnum>.Details();
ppCmbxProcSetType.DisplayMember = "Description";
ppCmbxProcSetType.ValueMember = "EValue";
}
private void ppBtnDefaultFmt_Click(object sender, EventArgs e)
{
ppCmbxFormat.SelectedIndex = -1;
}
private void ppBtnFldrDlg_Click(object sender, EventArgs e)
{
dlgROFolder = new FolderBrowserDialog();
if (dlgROFolder.ShowDialog() == DialogResult.OK)
{
ppTxbxRoFoldLoc.Text = dlgROFolder.SelectedPath;
}
}
private void ppTxbxRoFoldLoc_TextChanged(object sender, EventArgs e)
{
string tpath = ppTxbxRoFoldLoc.Text + "\\RO.FST";
if (File.Exists(tpath))
{
ROFST rofst = new ROFST(tpath);
ROFST.rodbi[] rodblist = rofst.GetRODatabaseList();
for (int i = 0; i < rodblist.Length; i++)
{
string mitem = string.Format("{0} - {1}", rodblist[i].dbiTitle, rodblist[i].dbiAP);
switch (rodblist[i].dbiType)
{
case 7: ppCmbxDefROPrefix.Items.Add(mitem); //cmbxROdbList.Items.Add(mitem); // setpoint
break;
case 8: ppCmbxDefImgPrefix.Items.Add(mitem); //cmbxIGdbList.Items.Add(mitem); // graphic
break;
default: // user defined
ppCmbxDefROPrefix.Items.Add(mitem); //cmbxROdbList.Items.Add(mitem);
ppCmbxDefImgPrefix.Items.Add(mitem);//cmbxIGdbList.Items.Add(mitem);
break;
}
}
}
}
private void ppCmbxGrphFileExt_SelectedValueChanged(object sender, EventArgs e)
{
if ((ppCmbxGrphFileExt.SelectedIndex != -1) && _DefaultROGraficFileExtension.Equals(ppCmbxGrphFileExt.SelectedValue))
{
ppBtnDefaultGrfExt.Focus();
ppBtnDefaultGrfExt.PerformClick();
}
ppBtnDefaultGrfExt.Visible = (ppCmbxGrphFileExt.SelectedValue != null);
}
private void ppBtnDefaultGrfExt_Click(object sender, EventArgs e)
{
ppCmbxGrphFileExt.SelectedIndex = -1;
}
private void ppCmbxDefROPrefix_TextChanged(object sender, EventArgs e)
{
// TEMPORARY
// Just to simulate selection from the drop down list
// Once the DataSource is established, we can use the SelectedValueChanged()
//folderPropROPrefixDefault.Visible =
ppBtnDefaultROPrefix.Visible = (ppCmbxDefROPrefix.SelectedItem != null);
}
private void ppBtnDefaultROPrefix_Click(object sender, EventArgs e)
{
ppCmbxDefROPrefix.SelectedIndex = -1;
}
private void ppCmbxDefImgPrefix_TextChanged(object sender, EventArgs e)
{
// TEMPORARY
// Just to simulate selection from the drop down list
// Once the DataSource is established, we can use the SelectedValueChanged()
//folderProptImagePrefixDefault.Visible =
ppBtnDefaultImgPrefix.Visible = (ppCmbxDefImgPrefix.SelectedItem != null);
}
private void ppBtnDefaultImgPrefix_Click(object sender, EventArgs e)
{
ppCmbxDefImgPrefix.SelectedIndex = -1;
}
private void ppCmbxPagination_SelectedValueChanged(object sender, EventArgs e)
{
DocVersionConfig.PrintPagination pgtn = (DocVersionConfig.PrintPagination)Enum.Parse(typeof(DocVersionConfig.PrintPagination), _DefaultPagination);
if ((ppCmbxPagination.SelectedIndex != -1) &&
ppCmbxPagination.SelectedValue.Equals(pgtn))
{
ppBtnDefPagination.Focus();
ppBtnDefPagination.PerformClick();
}
ppBtnDefPagination.Visible = (ppCmbxPagination.SelectedValue != null);
ppLblPaginationDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefPagination.Visible;
}
private void ppBtnDefPagination_Click(object sender, EventArgs e)
{
ppCmbxPagination.SelectedIndex = -1;
}
private void ppCmbxWatermark_SelectedValueChanged(object sender, EventArgs e)
{
DocVersionConfig.PrintWatermark wtr = (DocVersionConfig.PrintWatermark)Enum.Parse(typeof(DocVersionConfig.PrintWatermark), _DefaultWatermark);
if ((ppCmbxWatermark.SelectedIndex != -1) &&
ppCmbxWatermark.SelectedValue.Equals(wtr))
{
ppBtnDefWatermark.Focus();
ppBtnDefWatermark.PerformClick();
}
ppBtnDefWatermark.Visible = (ppCmbxWatermark.SelectedValue != null);
ppLblWatermarkDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefWatermark.Visible;
}
private void ppBtnDefWatermark_Click(object sender, EventArgs e)
{
ppCmbxWatermark.SelectedIndex = -1;
}
private void ppChbxDisAutoDuplex_CheckedChanged(object sender, EventArgs e)
{
ppBtnDeftDisAutoDuplx.Visible = (_DefaultDisableDuplex != ppChbxDisAutoDuplex.Checked);
ppLblAutoDuplexDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDeftDisAutoDuplx.Visible;
}
private void ppCmbxFormat_SelectedValueChanged(object sender, EventArgs e)
{
if ((ppCmbxFormat.SelectedIndex != -1) && _DefaultFormatName.Equals(ppCmbxFormat.SelectedValue))
{
ppBtnDefaultFmt.Focus();
ppBtnDefaultFmt.PerformClick();
}
ppBtnDefaultFmt.Visible = (ppCmbxFormat.SelectedValue != null);
ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
}
private void setEnabledUserSpecifiedChgBarCombos(DocVersionConfig.PrintChangeBar pcb)
{
ppGpbxUserSpecCB.Enabled =
ppCmbxChgBarPos.Enabled =
ppCmbxChgBarTxtType.Enabled =
ppBtnDefaultCbPos.Enabled =
ppBtnDefCbTxtTyp.Enabled = (ppCmbxChangeBarType.SelectedValue != null &&
ppCmbxChangeBarType.SelectedValue.Equals(DocVersionConfig.PrintChangeBar.WithUserSpecified)) ||
(ppCmbxChangeBarType.SelectedValue == null && pcb.Equals(DocVersionConfig.PrintChangeBar.WithUserSpecified));
}
private void ppCmbxChangeBarType_SelectedValueChanged(object sender, EventArgs e)
{
DocVersionConfig.PrintChangeBar pcb = (DocVersionConfig.PrintChangeBar)Enum.Parse(typeof(DocVersionConfig.PrintChangeBar), _DefaultChgBarType);
if ((ppCmbxChangeBarType.SelectedIndex != -1) &&
ppCmbxChangeBarType.SelectedValue.Equals(pcb))
{
ppBtnDefaultChgBar.Focus();
ppBtnDefaultChgBar.PerformClick();
}
ppBtnDefaultChgBar.Visible = (ppCmbxChangeBarType.SelectedValue != null);
ppLblChangeBarTypeDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultChgBar.Visible;
setEnabledUserSpecifiedChgBarCombos(pcb);
}
private void ppBtnDefaultChgBar_Click(object sender, EventArgs e)
{
ppCmbxChangeBarType.SelectedIndex = -1;
}
private void ppCmbxChgBarPos_SelectedValueChanged(object sender, EventArgs e)
{
DocVersionConfig.PrintChangeBarLoc cbl = (DocVersionConfig.PrintChangeBarLoc)Enum.Parse(typeof(DocVersionConfig.PrintChangeBarLoc), _DefaultChgBarLoc);
if ((ppCmbxChgBarPos.SelectedIndex != -1) &&
ppCmbxChgBarPos.SelectedValue.Equals(cbl))
{
ppBtnDefaultCbPos.Focus();
ppBtnDefaultCbPos.PerformClick();
}
ppBtnDefaultCbPos.Visible = (ppCmbxChgBarPos.SelectedValue != null);
ppLblChgBarPosDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultCbPos.Visible;
}
private void ppBtnDefaultCbPos_Click(object sender, EventArgs e)
{
ppCmbxChgBarPos.SelectedIndex = -1;
}
private void setEnabledUserSpecifiedChgBarText()
{
ppGpbxUserSpecTxt.Enabled =
ppTxbxChangeBarUserMsgOne.Enabled =
ppTxbxChangeBarUserMsgTwo.Enabled =
ppBtnDefCbTxt1.Enabled =
ppBtnDefCbTxt2.Enabled = (ppCmbxChgBarTxtType.SelectedValue != null &&
ppCmbxChgBarTxtType.SelectedValue.Equals(DocVersionConfig.PrintChangeBarText.UserDef));
}
private void ppCmbxChgBarTxtType_SelectedValueChanged(object sender, EventArgs e)
{
DocVersionConfig.PrintChangeBarText cbt = (DocVersionConfig.PrintChangeBarText)Enum.Parse(typeof(DocVersionConfig.PrintChangeBarText), _DefaultChgBarText);
if ((ppCmbxChgBarTxtType.SelectedIndex != -1) &&
ppCmbxChgBarTxtType.SelectedValue.Equals(cbt))
{
ppBtnDefCbTxtTyp.Focus();
ppBtnDefCbTxtTyp.PerformClick();
}
ppBtnDefCbTxtTyp.Visible = (ppCmbxChgBarTxtType.SelectedValue != null);
ppLblChgBarTxtTypeDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxtTyp.Visible;
setEnabledUserSpecifiedChgBarText();
}
private void ppBtnDefCbTxtTyp_Click(object sender, EventArgs e)
{
ppCmbxChgBarTxtType.SelectedIndex = -1;
}
private void ppTxbxChangeBarUserMsgOne_TextChanged(object sender, EventArgs e)
{
ppBtnDefCbTxt1.Visible = (ppTxbxChangeBarUserMsgOne.Text != null);
}
private void ppTxbxChangeBarUserMsgTwo_TextChanged(object sender, EventArgs e)
{
ppBtnDefCbTxt2.Visible = (ppTxbxChangeBarUserMsgTwo.Text != null);
}
private void defaultSettingsVisiblity()
{
ppLblChgBarUserMsgOneDefault.Visible =
ppLblChgBarUserMsgTwoDefault.Visible =
ppLblDefSettingsInfo.Visible = ppCbShwDefSettings.Checked;
ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
ppLblChangeBarTypeDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultChgBar.Visible;
ppLblChgBarPosDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultCbPos.Visible;
ppLblChgBarTxtTypeDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefCbTxtTyp.Visible;
ppLblGraphicFileExtDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultGrfExt.Visible;
ppLblROPrefixDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultROPrefix.Visible;
ppLblImagePrefixDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultImgPrefix.Visible;
ppLblPaginationDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefPagination.Visible;
ppLblWatermarkDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefWatermark.Visible;
ppLblAutoDuplexDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDeftDisAutoDuplx.Visible;
}
private void ppCbShwDefSettings_CheckedChanged(object sender, EventArgs e)
{
defaultSettingsVisiblity();
}
private void tabGeneral_Layout(object sender, LayoutEventArgs e)
{
if (!_Initializing)
defaultSettingsVisiblity();
}
private void btnGeneral_Click(object sender, EventArgs e)
{
ClearAllCheckedButtons();
tcVersions.SelectedTab = tiGeneral;
btnGeneral.Checked = true;
}
private void btnRefObjs_Click(object sender, EventArgs e)
{
ClearAllCheckedButtons();
tcVersions.SelectedTab = tiRefObjs;
btnRefObjs.Checked = true;
}
private void btnOutputSettings_Click(object sender, EventArgs e)
{
ClearAllCheckedButtons();
tcVersions.SelectedTab = tiOutputSettings;
btnOutputSettings.Checked = true;
}
private void btnFmtSettings_Click(object sender, EventArgs e)
{
ClearAllCheckedButtons();
tcVersions.SelectedTab = tiFmtSettings;
btnFmtSettings.Checked = true;
}
private void btnLibDocs_Click(object sender, EventArgs e)
{
ClearAllCheckedButtons();
tcVersions.SelectedTab = tiLibDocs;
btnLibDocs.Checked = true;
}
private void ClearAllCheckedButtons()
{
btnGeneral.Checked = false;
btnRefObjs.Checked = false;
btnOutputSettings.Checked = false;
btnFmtSettings.Checked = false;
btnLibDocs.Checked = false;
}
}
}