This commit is contained in:
Kathy Ruffing 2010-11-08 14:40:56 +00:00
parent 300c6b43d2
commit 49bc9de205
2 changed files with 117 additions and 57 deletions

View File

@ -221,6 +221,7 @@ namespace VEPROMS
// ppBtnDefaultFmt
//
this.ppBtnDefaultFmt.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.ppBtnDefaultFmt.CallBasePaintBackground = true;
this.ppBtnDefaultFmt.Location = new System.Drawing.Point(587, 22);
this.ppBtnDefaultFmt.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.ppBtnDefaultFmt.Name = "ppBtnDefaultFmt";
@ -358,6 +359,7 @@ namespace VEPROMS
// ppBtnCvrtToLibDoc
//
this.ppBtnCvrtToLibDoc.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.ppBtnCvrtToLibDoc.CallBasePaintBackground = true;
this.ppBtnCvrtToLibDoc.Location = new System.Drawing.Point(21, 237);
this.ppBtnCvrtToLibDoc.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.ppBtnCvrtToLibDoc.Name = "ppBtnCvrtToLibDoc";
@ -618,6 +620,7 @@ namespace VEPROMS
// ppBtnDefaultPaginationStyle
//
this.ppBtnDefaultPaginationStyle.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.ppBtnDefaultPaginationStyle.CallBasePaintBackground = true;
this.ppBtnDefaultPaginationStyle.Location = new System.Drawing.Point(281, 166);
this.ppBtnDefaultPaginationStyle.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.ppBtnDefaultPaginationStyle.Name = "ppBtnDefaultPaginationStyle";
@ -633,6 +636,7 @@ namespace VEPROMS
// ppBtnDefaultNumColumns
//
this.ppBtnDefaultNumColumns.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.ppBtnDefaultNumColumns.CallBasePaintBackground = true;
this.ppBtnDefaultNumColumns.Location = new System.Drawing.Point(230, 227);
this.ppBtnDefaultNumColumns.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.ppBtnDefaultNumColumns.Name = "ppBtnDefaultNumColumns";
@ -689,6 +693,7 @@ namespace VEPROMS
// btnAutomation
//
this.btnAutomation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnAutomation.CallBasePaintBackground = true;
this.btnAutomation.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnAutomation.Dock = System.Windows.Forms.DockStyle.Top;
this.btnAutomation.Location = new System.Drawing.Point(0, 69);
@ -702,6 +707,7 @@ namespace VEPROMS
// btnLibDocs
//
this.btnLibDocs.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnLibDocs.CallBasePaintBackground = true;
this.btnLibDocs.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnLibDocs.Dock = System.Windows.Forms.DockStyle.Top;
this.btnLibDocs.Location = new System.Drawing.Point(0, 46);
@ -715,6 +721,7 @@ namespace VEPROMS
// btnFormat
//
this.btnFormat.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnFormat.CallBasePaintBackground = true;
this.btnFormat.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnFormat.Dock = System.Windows.Forms.DockStyle.Top;
this.btnFormat.Location = new System.Drawing.Point(0, 23);
@ -728,6 +735,7 @@ namespace VEPROMS
// btnGeneral
//
this.btnGeneral.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnGeneral.CallBasePaintBackground = true;
this.btnGeneral.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnGeneral.Dock = System.Windows.Forms.DockStyle.Top;
this.btnGeneral.Location = new System.Drawing.Point(0, 0);
@ -744,8 +752,8 @@ namespace VEPROMS
| System.Windows.Forms.AnchorStyles.Right)));
this.tcSectionProp.BackColor = System.Drawing.Color.Transparent;
this.tcSectionProp.CanReorderTabs = true;
this.tcSectionProp.Controls.Add(this.tcpFormat);
this.tcSectionProp.Controls.Add(this.tcpGeneral);
this.tcSectionProp.Controls.Add(this.tcpFormat);
this.tcSectionProp.Controls.Add(this.tcpAutomation);
this.tcSectionProp.Controls.Add(this.tcpLibDoc);
this.tcSectionProp.Controls.Add(this.tabControlPanel4);
@ -1126,15 +1134,17 @@ namespace VEPROMS
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CaptionFont = new System.Drawing.Font("Microsoft Sans Serif", 10.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ClientSize = new System.Drawing.Size(873, 391);
this.ControlBox = false;
this.Controls.Add(this.tcSectionProp);
this.Controls.Add(this.panSectBtns);
this.Controls.Add(this.ppCbShwDefSettings);
this.Controls.Add(this.ppLblDefSettingsInfo);
this.Controls.Add(this.ppBtnCancel);
this.Controls.Add(this.ppBtnOK);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmSectionProperties";
this.ShowIcon = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;

View File

@ -59,25 +59,8 @@ namespace VEPROMS
// if creating a new section, enable the StepSect and WordSect radio buttons
rbStepSect.Enabled = rbWordSect.Enabled = !(ii.HasWordContent || ii.HasStepContent);
// set up some of the format tab:
SetupPpCmbxSectionType();
ShowAvailableOptionsForSectionType();
// check type of section from document styles to determine if the stepsection checkbox should
// be checked.
int secindx = (int)sectionConfig.SectionType;
// find the index for the document style to determine whether this is a step or word section.
PlantFormat pf = _SectionConfig.MyDefaultFormat.PlantFormat;
for (int i = 0; i < pf.DocStyles.DocStyleList.Count; i++)
{
if (pf.DocStyles.DocStyleList[i].Index == secindx)
{
//_isStepSection = pf.DocStyles.DocStyleList[i].IsStepSection;
//SetupPpCmbxSectionType();
//ShowAvailableOptionsForSectionType();
rbStepSect.Checked = pf.DocStyles.DocStyleList[i].IsStepSection;
}
}
// if this has already been set to be a step section, i.e. HasStepContent, disable the libdoc tab
if (ii.HasStepContent) tcpLibDoc.Enabled = false;
}
private void btnSectPropOK_Click(object sender, EventArgs e)
@ -90,7 +73,10 @@ namespace VEPROMS
Settings.Default.ShowDefaultSectionProp = ppCbShwDefSettings.Checked;
Settings.Default.Save();
DialogResult = DialogResult.OK;
_SectionConfig.MySection.Save().Dispose();
// save the type based on selection.
_SectionConfig.MySection.MyContent.Type = ((DocStyle)ppCmbxStyleSectionType.SelectedItem).Index + 10000;
Section mySection = _SectionConfig.MySection.Save();
FinishSectionSave(mySection);
// if there was a document to delete, do it.
if (_DocumentToDelete != null)
{
@ -99,8 +85,36 @@ namespace VEPROMS
}
ppSectNumberStpRTB.SaveText();
ppSectTitleStpRTB.SaveText();
mySection.Dispose();
this.Close();
}
private static void FinishSectionSave(Section section)
{
ItemInfo sectinfo = ItemInfo.Get(section.ItemID);
// need to find out if this is a word document type section & if it is, create a new word doc.
bool isWordSect = true;
int sectype = (int)sectinfo.MyContent.Type - 10000;
PlantFormat pf = sectinfo.ActiveFormat.PlantFormat;
for (int i = 0; i < pf.DocStyles.DocStyleList.Count; i++)
{
if (pf.DocStyles.DocStyleList[i].Index == sectype)
{
isWordSect = !pf.DocStyles.DocStyleList[i].IsStepSection;
break;
}
}
if (isWordSect && !sectinfo.HasWordContent)
{
Content cont = Content.Get(sectinfo.MyContent.ContentID);
Byte[] tstbyte = System.Text.Encoding.Default.GetBytes("");
Document doc = Document.MakeDocument(null, tstbyte, null, null, null); // tstbyte, null, null, null);
Entry entry = cont.MyEntry;
entry.MyDocument = Document.Get(doc.DocID);
cont.Save().Dispose();
}
}
private void btnSectPropCancel_Click(object sender, EventArgs e)
{
_DocumentToDelete = null;
@ -160,7 +174,6 @@ namespace VEPROMS
_Initializing = true;
sectionConfigBindingSource.DataSource = _SectionConfig;
ppCmbxFormat.DataSource = null;
ppCmbxFormat.DisplayMember = "FullName";
ppCmbxFormat.ValueMember = "FullName";
@ -181,7 +194,6 @@ namespace VEPROMS
this.Width -= panSectBtns.Width;
}
// Get the default values for the property page information
FindDefaultValues();
@ -203,8 +215,19 @@ namespace VEPROMS
if (!_isStepSection)
ppCmbxLibDocFill();
// check type of section from document styles to determine if the stepsection checkbox should
// be checked.
int secindx = (int)_SectionConfig.SectionType;
// find the index for the document style to determine whether this is a step or word section.
PlantFormat pf = _SectionConfig.MyFormat != null ? _SectionConfig.MyFormat.PlantFormat : _SectionConfig.MyDefaultFormat.PlantFormat;
for (int i = 0; i < pf.DocStyles.DocStyleList.Count; i++)
{
if (pf.DocStyles.DocStyleList[i].Index == secindx)
rbStepSect.Checked = pf.DocStyles.DocStyleList[i].IsStepSection;
}
// set up some of the format tab:
SetupPpCmbxSectionType();
ShowAvailableOptionsForSectionType();
_Initializing = false;
}
@ -272,50 +295,71 @@ namespace VEPROMS
}
/// <summary>
/// Selection in Format combo box changed.
/// </summary>
/// <param name="sender">object</param>
/// <param name="e">EventArgs</param>
//private void ppCmbxFormat_SelectedValueChanged(object sender, EventArgs e)
//{
// if ((ppCmbxFormat.SelectedIndex != -1) && _DefaultFormatName != null && _DefaultFormatName.Equals(ppCmbxFormat.SelectedValue))
// {
// ppBtnDefaultFmt.Focus();
// ppBtnDefaultFmt.PerformClick();
// }
// ppBtnDefaultFmt.Visible = (ppCmbxFormat.SelectedValue != null);
// ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
// SetupPpCmbxSectionType();
//}
private void SetupPpCmbxSectionType()
{
bool myInit = _Initializing;
_Initializing = true;
PlantFormat pf = _SectionConfig.MyDefaultFormat.PlantFormat;
// pf will be the current selected format. If changing formats, then this will differ from the previously
// selected. If the format is being reset to default, selectedindex=-1. If this is a change, we'll need
// to check that there are enough docstyles to map the selected type of section.
PlantFormat pf = _SectionConfig.MyFormat != null ? _SectionConfig.MyFormat.PlantFormat : _SectionConfig.MyDefaultFormat.PlantFormat;
if (ppCmbxFormat.SelectedIndex >= 0)
pf = FormatInfoList.SortedFormatInfoList[ppCmbxFormat.SelectedIndex].PlantFormat;
else if (!_Initializing) // if the format was changed, it may have been set to default.
pf = _SectionConfig.MyDefaultFormat.PlantFormat;
_Initializing = true;
ppCmbxStyleSectionType.DisplayMember = "Name";
ppCmbxStyleSectionType.ValueMember = "Index";
// if this has been defined as a step section, only list step section document styles, if
// a word section, only list word section styles. If neither content types has been defined,
// list both.
DocStyleList locDocStyles = new DocStyleList(null);
//ItemInfo ii = ItemInfo.Get(_SectionConfig.MySection.ItemID);
// a word section, only list word section styles.
// Also, if changing the format, check to be sure that the section that is selected will map
// to something valid in the new format, i.e. a section type of word or step sections exist,
// index-wise in the new format.
PlantFormat opf = null;
int oldSelIndx = -1;
if (!myInit)
{
DocStyleList oldDocStyles = null;
opf = _SectionConfig.MyFormat != null ? _SectionConfig.MyFormat.PlantFormat : _SectionConfig.MyDefaultFormat.PlantFormat;
if (pf != opf)
{
oldDocStyles = new DocStyleList(null);
for (int i = 0; i < opf.DocStyles.DocStyleList.Count; i++)
{
if (_isStepSection && opf.DocStyles.DocStyleList[i].IsStepSection)
oldDocStyles.Add(opf.DocStyles.DocStyleList[i]); // find only step section types
else if (!_isStepSection && !opf.DocStyles.DocStyleList[i].IsStepSection)
oldDocStyles.Add(opf.DocStyles.DocStyleList[i]); // find only accessory (MS Word) section types
if (_SectionConfig.SectionType == opf.DocStyles.DocStyleList[i].Index) oldSelIndx = oldDocStyles.Count - 1;
}
}
if (oldSelIndx < 0) oldSelIndx = 0;
}
DocStyleList newDocStyles = new DocStyleList(null);
int selindx = -1;
for (int i = 0; i < pf.DocStyles.DocStyleList.Count; i++)
{
if (_isStepSection && pf.DocStyles.DocStyleList[i].IsStepSection)
locDocStyles.Add(pf.DocStyles.DocStyleList[i]); // add only step section types
newDocStyles.Add(pf.DocStyles.DocStyleList[i]); // add only step section types
else if (!_isStepSection && !pf.DocStyles.DocStyleList[i].IsStepSection)
locDocStyles.Add(pf.DocStyles.DocStyleList[i]); // add only accessory (MS Word) section types
if (_SectionConfig.SectionType == pf.DocStyles.DocStyleList[i].Index) selindx = locDocStyles.Count - 1;
newDocStyles.Add(pf.DocStyles.DocStyleList[i]); // add only accessory (MS Word) section types
if (_SectionConfig.SectionType == pf.DocStyles.DocStyleList[i].Index) selindx = newDocStyles.Count - 1;
}
ppCmbxStyleSectionType.DataSource = locDocStyles;
if (selindx < 0) selindx = 0;
// if changing format, check for valid type (see comment above)
if (!myInit && pf != opf)
{
if (oldSelIndx > newDocStyles.Count)
{
string msg = string.Format("The section type that is set is not available in the new format, it was reset to {0}. Verify that it is appropriate.", newDocStyles[0].Name);
MessageBox.Show(msg, "Non-existent section");
selindx = 0;
}
}
ppCmbxStyleSectionType.DataSource = newDocStyles;
ppCmbxStyleSectionType.SelectedIndex = selindx;
ppCmbxStyleSectionType.Refresh();
if (!_isStepSection)
ppCmbxLibDocFill();
@ -329,7 +373,7 @@ namespace VEPROMS
if (!_isStepSection) return; // not needed for accessory pages (word attachments)
bool myInit = _Initializing;
_Initializing = true;
PlantFormat pf = _SectionConfig.MyDefaultFormat.PlantFormat;
PlantFormat pf = _SectionConfig.MyFormat!=null?_SectionConfig.MyFormat.PlantFormat:_SectionConfig.MyDefaultFormat.PlantFormat;
CheckOffList chkoffList = pf.FormatData.ProcData.CheckOffData.CheckOffList;
CheckOffHeaderList chkoffHeaderList = pf.FormatData.ProcData.CheckOffData.CheckOffHeaderList;
if (chkoffList != null && chkoffList.Count > 0)
@ -365,14 +409,17 @@ namespace VEPROMS
private void ppCmbxFormat_SelectedIndexChanged(object sender, EventArgs e)
{
if (_Initializing) return;
bool didDefault = false;
Console.WriteLine("CmbxFormat.SelectedIndexChanged - Index = {0}", ppCmbxFormat.SelectedIndex);
if ((ppCmbxFormat.SelectedIndex != -1) && _DefaultFormatName != null && _DefaultFormatName.Equals(ppCmbxFormat.SelectedValue))
{
ppBtnDefaultFmt.Focus();
ppBtnDefaultFmt.PerformClick();
didDefault = true;
}
ppBtnDefaultFmt.Visible = (ppCmbxFormat.SelectedValue != null);
ppLblFormatDefault.Visible = ppCbShwDefSettings.Checked && ppBtnDefaultFmt.Visible;
SetupPpCmbxSectionType();
if (!didDefault)SetupPpCmbxSectionType();
}
private void ppCmbxStyleSectionType_SelectedValueChanged(object sender, EventArgs e)
@ -634,8 +681,11 @@ namespace VEPROMS
{
_isStepSection = rbStepSect.Checked;
rbWordSect.Checked = !rbStepSect.Checked;
SetupPpCmbxSectionType();
ShowAvailableOptionsForSectionType();
if (!_Initializing)
{
SetupPpCmbxSectionType();
ShowAvailableOptionsForSectionType();
}
}
private void ppCmbxSectPagination_SelectedValueChanged(object sender, EventArgs e)