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.Details(); ppCmbxChangeBarType.DisplayMember = "Description"; ppCmbxChangeBarType.ValueMember = "EValue"; ppCmbxChgBarPos.DataSource = EnumDetail.Details(); ppCmbxChgBarPos.DisplayMember = "Description"; ppCmbxChgBarPos.ValueMember = "EValue"; ppCmbxChgBarTxtType.DataSource = EnumDetail.Details(); ppCmbxChgBarTxtType.DisplayMember = "Description"; ppCmbxChgBarTxtType.ValueMember = "EValue"; ppCmbxWatermark.DataSource = EnumDetail.Details(); ppCmbxWatermark.DisplayMember = "Description"; ppCmbxWatermark.ValueMember = "EValue"; ppCmbxPagination.DataSource = EnumDetail.Details(); ppCmbxPagination.DisplayMember = "Description"; ppCmbxPagination.ValueMember = "EValue"; ppCmbxProcSetType.DataSource = EnumDetail.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; } } }