Compare commits
50 Commits
B2024-032-
...
B2024-041
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f178156c3a | ||
![]() |
ef0908ec13 | ||
616acf0e37 | |||
3cff87cf97 | |||
![]() |
9202d903a5 | ||
![]() |
a9a9a56c09 | ||
aee7819a9c | |||
![]() |
d3bc1c4725 | ||
d0474b22f9 | |||
5bd1f94be0 | |||
![]() |
629fe1b615 | ||
![]() |
c92b888ec2 | ||
5df42daa71 | |||
![]() |
9349396d9a | ||
![]() |
38425a05f9 | ||
![]() |
9d1b99b08e | ||
![]() |
4f7a762bf1 | ||
![]() |
11cb2e0efd | ||
78f58bea19 | |||
![]() |
a2e830d0c3 | ||
![]() |
2ffab17caf | ||
![]() |
49aba5c67b | ||
1b24177b68 | |||
bf7a967633 | |||
f5669e50a8 | |||
![]() |
2ae0d0d454 | ||
![]() |
241785846e | ||
![]() |
0d6fd6950c | ||
![]() |
bb99d6444c | ||
![]() |
db4f114caf | ||
80d83da9c9 | |||
54e02e6263 | |||
c4af911f15 | |||
f9690ee772 | |||
623c6a7941 | |||
7a5129208c | |||
e15c56f1e2 | |||
![]() |
5d808e436a | ||
20e40a5c49 | |||
885dae812d | |||
35bd91f7e8 | |||
305f2768bb | |||
5f733161c6 | |||
4fc13acd1a | |||
365f6a23c8 | |||
331d5751c3 | |||
dfb965edbc | |||
![]() |
c7cc69fd73 | ||
d187aa885d | |||
b1b4535d9b |
@@ -241,6 +241,21 @@ namespace JR.Utils.GUI.Forms
|
||||
return FlexibleMessageBoxForm.Show(owner, text, caption, buttons, icon, defaultButton);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Shows the specified message box.
|
||||
/// </summary>
|
||||
/// <param name="owner">The owner.</param>
|
||||
/// <param name="text">The text.</param>
|
||||
/// <param name="caption">The caption.</param>
|
||||
/// <param name="buttons">The buttons.</param>
|
||||
/// <param name="icon">The icon.</param>
|
||||
/// <param name="defaultButton">The default button.</param>
|
||||
/// <returns>The dialog result.</returns>
|
||||
public static DialogResult ShowCustom(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
|
||||
{
|
||||
return FlexibleMessageBoxForm.ShowCustom(null, text, caption, buttons, icon);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Internal form class
|
||||
@@ -420,15 +435,15 @@ namespace JR.Utils.GUI.Forms
|
||||
private static readonly String STANDARD_MESSAGEBOX_SEPARATOR_SPACES = " ";
|
||||
|
||||
//These are the possible buttons (in a standard MessageBox)
|
||||
private enum ButtonID { OK = 0, CANCEL, YES, NO, ABORT, RETRY, IGNORE };
|
||||
|
||||
private enum ButtonID { OK = 0, CANCEL, YES, NO, ABORT, RETRY, IGNORE, OVERWRITE, RENAME };
|
||||
|
||||
//These are the buttons texts for different languages.
|
||||
//If you want to add a new language, add it here and in the GetButtonText-Function
|
||||
private enum TwoLetterISOLanguageID { en, de, es, it };
|
||||
private static readonly String[] BUTTON_TEXTS_ENGLISH_EN = { "OK", "Cancel", "&Yes", "&No", "&Abort", "&Retry", "&Ignore" }; //Note: This is also the fallback language
|
||||
private static readonly String[] BUTTON_TEXTS_GERMAN_DE = { "OK", "Abbrechen", "&Ja", "&Nein", "&Abbrechen", "&Wiederholen", "&Ignorieren" };
|
||||
private static readonly String[] BUTTON_TEXTS_SPANISH_ES = { "Aceptar", "Cancelar", "&Sí", "&No", "&Abortar", "&Reintentar", "&Ignorar" };
|
||||
private static readonly String[] BUTTON_TEXTS_ITALIAN_IT = { "OK", "Annulla", "&Sì", "&No", "&Interrompi", "&Riprova", "&Ignora" };
|
||||
private static readonly String[] BUTTON_TEXTS_ENGLISH_EN = { "OK", "Cancel", "&Yes", "&No", "&Abort", "&Retry", "&Ignore", "&Overwrite", "&Rename" }; //Note: This is also the fallback language
|
||||
private static readonly String[] BUTTON_TEXTS_GERMAN_DE = { "OK", "Abbrechen", "&Ja", "&Nein", "&Abbrechen", "&Wiederholen", "&Ignorieren", "&Overwrite", "&Rename" };
|
||||
private static readonly String[] BUTTON_TEXTS_SPANISH_ES = { "Aceptar", "Cancelar", "&Sí", "&No", "&Abortar", "&Reintentar", "&Ignorar", "&Overwrite", "&Rename" };
|
||||
private static readonly String[] BUTTON_TEXTS_ITALIAN_IT = { "OK", "Annulla", "&Sì", "&No", "&Interrompi", "&Riprova", "&Ignora", "&Overwrite", "&Rename" };
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -693,6 +708,7 @@ namespace JR.Utils.GUI.Forms
|
||||
|
||||
flexibleMessageBoxForm.CancelButton = flexibleMessageBoxForm.button3;
|
||||
break;
|
||||
|
||||
|
||||
case MessageBoxButtons.OK:
|
||||
default:
|
||||
@@ -709,16 +725,38 @@ namespace JR.Utils.GUI.Forms
|
||||
flexibleMessageBoxForm.defaultButton = defaultButton;
|
||||
}
|
||||
|
||||
#endregion
|
||||
private static void SetDialogButtonsCustom(FlexibleMessageBoxForm flexibleMessageBoxForm)
|
||||
{
|
||||
flexibleMessageBoxForm.visibleButtonsCount = 3;
|
||||
|
||||
#region Private event handlers
|
||||
flexibleMessageBoxForm.button1.Visible = true;
|
||||
flexibleMessageBoxForm.button1.Text = flexibleMessageBoxForm.GetButtonText(ButtonID.CANCEL);
|
||||
flexibleMessageBoxForm.button1.DialogResult = DialogResult.Abort;
|
||||
|
||||
/// <summary>
|
||||
/// Handles the Shown event of the FlexibleMessageBoxForm control.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
|
||||
private void FlexibleMessageBoxForm_Shown(object sender, EventArgs e)
|
||||
flexibleMessageBoxForm.button2.Visible = true;
|
||||
flexibleMessageBoxForm.button2.Text = flexibleMessageBoxForm.GetButtonText(ButtonID.OVERWRITE);
|
||||
flexibleMessageBoxForm.button2.DialogResult = DialogResult.Retry;
|
||||
|
||||
flexibleMessageBoxForm.button3.Visible = true;
|
||||
flexibleMessageBoxForm.button3.Text = flexibleMessageBoxForm.GetButtonText(ButtonID.RENAME);
|
||||
flexibleMessageBoxForm.button3.DialogResult = DialogResult.Ignore;
|
||||
|
||||
flexibleMessageBoxForm.ControlBox = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private event handlers
|
||||
|
||||
/// <summary>
|
||||
/// Handles the Shown event of the FlexibleMessageBoxForm control.
|
||||
/// </summary>
|
||||
/// <param name="sender">The source of the event.</param>
|
||||
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
|
||||
private void FlexibleMessageBoxForm_Shown(object sender, EventArgs e)
|
||||
{
|
||||
int buttonIndexToFocus = 1;
|
||||
Button buttonToFocus;
|
||||
@@ -866,6 +904,46 @@ namespace JR.Utils.GUI.Forms
|
||||
return flexibleMessageBoxForm.ShowDialog(owner);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Shows the specified message box.
|
||||
/// </summary>
|
||||
/// <param name="owner">The owner.</param>
|
||||
/// <param name="text">The text.</param>
|
||||
/// <param name="caption">The caption.</param>
|
||||
/// <param name="buttons">The buttons.</param>
|
||||
/// <param name="icon">The icon.</param>
|
||||
/// <param name="defaultButton">The default button.</param>
|
||||
/// <returns>The dialog result.</returns>
|
||||
public static DialogResult ShowCustom(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon)
|
||||
{
|
||||
//Create a new instance of the FlexibleMessageBox form
|
||||
var flexibleMessageBoxForm = new FlexibleMessageBoxForm();
|
||||
flexibleMessageBoxForm.ShowInTaskbar = false;
|
||||
|
||||
//Bind the caption and the message text
|
||||
flexibleMessageBoxForm.CaptionText = caption;
|
||||
flexibleMessageBoxForm.MessageText = text;
|
||||
flexibleMessageBoxForm.FlexibleMessageBoxFormBindingSource.DataSource = flexibleMessageBoxForm;
|
||||
|
||||
//Set the buttons visibilities and texts. Also set a default button.
|
||||
SetDialogButtonsCustom(flexibleMessageBoxForm);
|
||||
|
||||
//Set the dialogs icon. When no icon is used: Correct placement and width of rich text box.
|
||||
SetDialogIcon(flexibleMessageBoxForm, icon);
|
||||
|
||||
//Set the font for all controls
|
||||
flexibleMessageBoxForm.Font = FONT;
|
||||
flexibleMessageBoxForm.richTextBoxMessage.Font = FONT;
|
||||
|
||||
//Calculate the dialogs start size (Try to auto-size width to show longest text row). Also set the maximum dialog size.
|
||||
SetDialogSizes(flexibleMessageBoxForm, text, caption);
|
||||
|
||||
//Set the dialogs start position when given. Otherwise center the dialog on the current screen.
|
||||
SetDialogStartPosition(flexibleMessageBoxForm, owner);
|
||||
//Show the dialog
|
||||
return flexibleMessageBoxForm.ShowDialog(owner);
|
||||
}
|
||||
|
||||
#endregion
|
||||
} //class FlexibleMessageBoxForm
|
||||
|
||||
|
@@ -126,6 +126,7 @@
|
||||
<Content Include="fmtall\BVPSAOPall.xml" />
|
||||
<Content Include="fmtall\BVPSAtchall.xml" />
|
||||
<Content Include="fmtall\BVPSBCKall.xml" />
|
||||
<Content Include="fmtall\BVPSAOPDEVall.xml" />
|
||||
<Content Include="fmtall\BVPSFlexDEVall.xml" />
|
||||
<Content Include="fmtall\BVPSDEVall.xml" />
|
||||
<Content Include="fmtall\BVPSNIBCKall.xml" />
|
||||
@@ -406,6 +407,7 @@
|
||||
<Content Include="genmacall\BVPSAOP.svg" />
|
||||
<Content Include="genmacall\BVPSAtch.svg" />
|
||||
<Content Include="genmacall\BVPSbck.svg" />
|
||||
<Content Include="genmacall\BVPSAOPdev.svg" />
|
||||
<Content Include="genmacall\BVPSFlexdev.svg" />
|
||||
<Content Include="genmacall\BVPSdev.svg" />
|
||||
<Content Include="genmacall\BVPSNIBCK.svg" />
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
PROMS/Formats/fmtall/BVPSAOPDEVall.xml
Normal file
BIN
PROMS/Formats/fmtall/BVPSAOPDEVall.xml
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
PROMS/Formats/genmacall/BVPSAOPdev.svg
Normal file
BIN
PROMS/Formats/genmacall/BVPSAOPdev.svg
Normal file
Binary file not shown.
@@ -1320,6 +1320,10 @@ namespace VEPROMS
|
||||
if (swtbtnPDFLinks.Value)
|
||||
swtbtnPDFdtPrefixSuffix.Value = false;
|
||||
BuildPDFFileName();
|
||||
// C2024-013: When Create RO & Transition Hyperlinks in pdf is ON, disable the MergePdf
|
||||
// button. The Create RO & Transition Hyperlinks option looks for individual file names
|
||||
// for procedures.
|
||||
btnMergePDFs.Enabled = !swtbtnPDFLinks.Value;
|
||||
}
|
||||
|
||||
// C2019-004: Allow user to define duplex blank page text. The text box for blank page text is always enabled for procedures with
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -99,6 +99,10 @@ namespace VEPROMS
|
||||
MyProcedure = procedureInfo;
|
||||
InitializeComponent();
|
||||
this.Text = mode + " Dialog for " + procedureInfo.DisplayNumber;
|
||||
|
||||
//Preset path for single procedures.
|
||||
PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database;
|
||||
txtExport.Text = string.Format(@"{0}\{1}.pxml", PEIPath, MyProcedure.DisplayNumber.Replace("/", "_").Replace("\\", "_"));
|
||||
}
|
||||
private void dlgExportImport_Load(object sender, EventArgs e)
|
||||
{
|
||||
@@ -172,6 +176,7 @@ namespace VEPROMS
|
||||
}
|
||||
else if (MyProcedure != null)
|
||||
{
|
||||
txtExport.Enabled = true;
|
||||
txtExport.Text = string.Format(@"{0}\{1}.pxml", PEIPath, MyProcedure.DisplayNumber.Replace("/", "_").Replace("\\", "_"));
|
||||
}
|
||||
}
|
||||
@@ -190,6 +195,8 @@ namespace VEPROMS
|
||||
private bool successfullExport = true;
|
||||
private void btnDoExport_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
btnExport.Enabled = false;
|
||||
string msg = "Finished Exporting:\n\n";
|
||||
if (_MyMode.ToUpper().Contains("FORMAT"))
|
||||
@@ -220,6 +227,42 @@ namespace VEPROMS
|
||||
}
|
||||
else if (MyProcedure != null)
|
||||
{
|
||||
var fileLocation = txtExport.Text;
|
||||
if (File.Exists(fileLocation))
|
||||
{ // C2022-029 if an existing export of the same name is found, provide option to overwrite it
|
||||
DialogResult ovewriteEx = FlexibleMessageBox.ShowCustom(null, "There is already another export file with the same name. You can choose to either overwrite the existing file or have the existing file renamed with the original creation date appended.\r\n\r\nSelecting 'Cancel' will cancel the export.", "What would you like to do?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);// == DialogResult.Yes;
|
||||
|
||||
// Extract directory, filename, and extension
|
||||
string directory = Path.GetDirectoryName(fileLocation);
|
||||
string filename = Path.GetFileNameWithoutExtension(fileLocation);
|
||||
string extension = Path.GetExtension(fileLocation);
|
||||
fileLocation = $"{directory}\\{filename}{extension}";
|
||||
|
||||
if (ovewriteEx == DialogResult.Abort)
|
||||
{
|
||||
MessageBox.Show("Export has been cancelled", "You have chosen to cancel the export.", MessageBoxButtons.OK, MessageBoxIcon.Information); // C2020-042 changed mesage box title
|
||||
btnCloseExport.Enabled = true;
|
||||
return;
|
||||
}
|
||||
else if (ovewriteEx == DialogResult.Retry)
|
||||
{
|
||||
//Overwrite will occur, set msg.
|
||||
msg = "The export file has been overwritten. ";
|
||||
}
|
||||
else if (ovewriteEx == DialogResult.Ignore)
|
||||
{
|
||||
// Get the modified date of the existing file, create a datestamp for use in name, set newlocation to move to
|
||||
DateTime modifiedDate = File.GetLastWriteTime(fileLocation);
|
||||
string datestamp = modifiedDate.ToString("yyyyMMddHHmmss");
|
||||
string newFileLocation = $"{directory}\\{filename}_{datestamp}{extension}";
|
||||
|
||||
//Move and set msg.
|
||||
File.Move(fileLocation, newFileLocation);
|
||||
msg = "The previous export has been renamed, the export file has been created. ";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
this.Cursor = Cursors.WaitCursor;
|
||||
MyStart = DateTime.Now;
|
||||
btnDoExport.Enabled = false;
|
||||
@@ -230,7 +273,7 @@ namespace VEPROMS
|
||||
XmlElement xe = xd.CreateElement("formats");
|
||||
xd.DocumentElement.AppendChild(xe);
|
||||
ExportFormats(FormatInfoList.GetFormatInfoListUsed(), xe, "formats", false);
|
||||
xd.Save(txtExport.Text);
|
||||
xd.Save(fileLocation);
|
||||
TimeSpan elapsed = DateTime.Now.Subtract(MyStart);
|
||||
lblExportStatus.Text = "Export Completed in " + elapsed.ToString();
|
||||
this.Cursor = Cursors.Default;
|
||||
@@ -706,7 +749,7 @@ namespace VEPROMS
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FlexibleMessageBox.Show("The import failed, check the error log for more information.", "Import Failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
FlexibleMessageBox.Show(null, "The import failed, check the error log for more information.", "Import Failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
_MyLog.Warn("Failure During Import", ex);
|
||||
}
|
||||
return false;
|
||||
|
@@ -400,6 +400,7 @@ namespace VEPROMS
|
||||
this.pnlImport.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
14
PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs
generated
14
PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs
generated
@@ -45,7 +45,6 @@ namespace VEPROMS
|
||||
this.itemContainer3 = new DevComponents.DotNetBar.ItemContainer();
|
||||
this.btnNew = new DevComponents.DotNetBar.ButtonItem();
|
||||
this.btnOpen = new DevComponents.DotNetBar.ButtonItem();
|
||||
this.btnPrint = new DevComponents.DotNetBar.ButtonItem();
|
||||
this.btnPrepare = new DevComponents.DotNetBar.ButtonItem();
|
||||
this.btnAdmin = new DevComponents.DotNetBar.ButtonItem();
|
||||
this.btnUpdateFormats = new DevComponents.DotNetBar.ButtonItem();
|
||||
@@ -339,7 +338,6 @@ namespace VEPROMS
|
||||
this.itemContainer3.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
|
||||
this.btnNew,
|
||||
this.btnOpen,
|
||||
this.btnPrint,
|
||||
this.btnPrepare,
|
||||
this.btnAdmin});
|
||||
//
|
||||
@@ -365,16 +363,7 @@ namespace VEPROMS
|
||||
this.btnOpen.SubItemsExpandWidth = 24;
|
||||
this.btnOpen.Text = "&Open...";
|
||||
this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click);
|
||||
//
|
||||
// btnPrint
|
||||
//
|
||||
this.btnPrint.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText;
|
||||
this.btnPrint.Enabled = false;
|
||||
this.btnPrint.Image = ((System.Drawing.Image)(resources.GetObject("btnPrint.Image")));
|
||||
this.btnPrint.Name = "btnPrint";
|
||||
this.btnPrint.SubItemsExpandWidth = 24;
|
||||
this.btnPrint.Text = "Create &PDF";
|
||||
this.btnPrint.Click += new System.EventHandler(this.btnPrint_Click);
|
||||
|
||||
//
|
||||
// btnPrepare
|
||||
//
|
||||
@@ -1646,7 +1635,6 @@ namespace VEPROMS
|
||||
private DevComponents.DotNetBar.ButtonItem btnNew;
|
||||
private DevComponents.DotNetBar.ButtonItem btnOpen;
|
||||
private DevComponents.DotNetBar.ButtonItem btnPrepare;
|
||||
private DevComponents.DotNetBar.ButtonItem btnPrint;
|
||||
private DevComponents.DotNetBar.ItemContainer icRecentDocs;
|
||||
private DevComponents.DotNetBar.LabelItem labelItem8;
|
||||
private DevComponents.DotNetBar.ItemContainer itemContainer5;
|
||||
|
@@ -2098,7 +2098,6 @@ namespace VEPROMS
|
||||
btnAdministrativeTools.Click += new EventHandler(btnAdministrativeTools_Click);
|
||||
btnAdmin.SubItems.Add(btnAdministrativeTools);
|
||||
|
||||
this.superTooltip1.SetSuperTooltip(btnPrint, new SuperTooltipInfo("Create PDF", null, null, null, null, eTooltipColor.Gray));
|
||||
this.superTooltip1.SetSuperTooltip(btnExit, new SuperTooltipInfo("Exit", null, null, null, null, eTooltipColor.Gray));
|
||||
this.superTooltip1.SetSuperTooltip(btnOptions, new SuperTooltipInfo("Options", null, null, null, null, eTooltipColor.Gray));
|
||||
this.superTooltip1.SetSuperTooltip(btnManageSecurity, new SuperTooltipInfo("Manage Security", null, null, null, null, eTooltipColor.Gray));
|
||||
@@ -3126,22 +3125,44 @@ namespace VEPROMS
|
||||
if (dvi != null)
|
||||
{
|
||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(dvi, true);
|
||||
if (dvi.MultiUnitCount == 0) prnDlg.SelectedSlave = -1;
|
||||
if (dvi.MultiUnitCount == 0)
|
||||
{
|
||||
prnDlg.SelectedSlave = -1;
|
||||
}
|
||||
else if (dvi.MultiUnitCount > 0)
|
||||
{
|
||||
string[] arguments = Environment.GetCommandLineArgs();
|
||||
for (int i = 0; i < arguments.Length; i++)
|
||||
{
|
||||
if (arguments[i].Contains("/C="))
|
||||
{
|
||||
Console.WriteLine("In arguments loop");
|
||||
//int num;
|
||||
string[] childarg = arguments[i].Split('=');
|
||||
if (int.TryParse(childarg[1], out int num))
|
||||
{
|
||||
prnDlg.SelectedSlave = num;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
prnDlg.AllowDateTimePrefixSuffix = false; //C2018-033 don't append any selected date/time pdf file prefix or suffix (defined in working draft properties)
|
||||
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||
//prnDlg.FormClosed += new FormClosedEventHandler(prnDlg_FormClosed);
|
||||
//while (!_RunNext) Application.DoEvents();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
ranAuto = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ranAuto)
|
||||
{
|
||||
this.Close();
|
||||
if (ranAuto)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4092,10 +4113,6 @@ namespace VEPROMS
|
||||
|
||||
lblUser.Text = tc.SelectedDisplayTabItem.MyUserRole;
|
||||
|
||||
if (tc.SelectedDisplayTabItem.MyItemInfo.MyDocVersion.MultiUnitCount > 1)
|
||||
btnPrint.Visible = false;
|
||||
else
|
||||
btnPrint.Visible = true;
|
||||
|
||||
// Reset the ribbon buttons B2016-148 (ex. a copystep done in a different procedure tab my require the paste step options to be active
|
||||
if (tc.SelectedDisplayTabItem != null && tc.SelectedDisplayTabItem.MyStepTabPanel != null) // MyStepTabPanel will be null if the active tab is a Word Attachment
|
||||
@@ -4350,7 +4367,6 @@ namespace VEPROMS
|
||||
ctrlAnnotationDetails.UpdateAnnotationGrid(_CurrentItem); // set the CurrentItem (send Message) when the MSWord section is opened.
|
||||
}
|
||||
|
||||
btnPrint.Enabled = (_CurrentItem != null);
|
||||
}
|
||||
|
||||
void _LastStepRTB_EditModeChanged(object sender, EventArgs args)
|
||||
@@ -4842,12 +4858,7 @@ namespace VEPROMS
|
||||
StepRTB.MyFontFamily = cmbFont.SelectedValue as FontFamily;
|
||||
}
|
||||
|
||||
private void btnPrint_Click(object sender, EventArgs e)
|
||||
{
|
||||
DlgPrintProcedure prnDlg = new DlgPrintProcedure(this._CurrentItem.MyProcedure);
|
||||
prnDlg.MySessionInfo = MySessionInfo;
|
||||
prnDlg.ShowDialog(this); // RHM 20120925 - Center dialog over PROMS window
|
||||
}
|
||||
|
||||
|
||||
private void lblResolution_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
@@ -254,7 +254,7 @@ namespace VEPROMS
|
||||
//
|
||||
this.ppBtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ppBtnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.ppBtnCancel.Location = new System.Drawing.Point(742, 342);
|
||||
this.ppBtnCancel.Location = new System.Drawing.Point(742, 338);
|
||||
this.ppBtnCancel.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.ppBtnCancel.Name = "ppBtnCancel";
|
||||
this.ppBtnCancel.Size = new System.Drawing.Size(56, 21);
|
||||
@@ -266,7 +266,7 @@ namespace VEPROMS
|
||||
// ppBtnOK
|
||||
//
|
||||
this.ppBtnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.ppBtnOK.Location = new System.Drawing.Point(669, 342);
|
||||
this.ppBtnOK.Location = new System.Drawing.Point(669, 338);
|
||||
this.ppBtnOK.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.ppBtnOK.Name = "ppBtnOK";
|
||||
this.ppBtnOK.Size = new System.Drawing.Size(56, 21);
|
||||
|
@@ -29,6 +29,7 @@ namespace VEPROMS
|
||||
private List<MiniConfig> _DeletedApples;
|
||||
private List<EnhancedMiniConfig> _Enhanced;
|
||||
private DocVersionConfig _DocVersionConfig;
|
||||
private string _OrgPDFPath; // B2024-030 used to save last PDF path
|
||||
|
||||
// Default values
|
||||
private string _DefaultFormatName = null;
|
||||
@@ -97,6 +98,7 @@ namespace VEPROMS
|
||||
|
||||
_Initializing = true;
|
||||
InitializeComponent();
|
||||
_OrgPDFPath = _DocVersionConfig.Print_PDFLocation; // B2024-030 save last PDF path
|
||||
btnGeneral.PerformClick(); // always start with General tab or button
|
||||
_Initializing = false;
|
||||
|
||||
@@ -323,8 +325,6 @@ namespace VEPROMS
|
||||
tiApplicability.Visible = false;
|
||||
}
|
||||
|
||||
ppTxtBxPDFLoc.TextChanged += new EventHandler(ppTxtBxPDFLoc_TextChanged);
|
||||
|
||||
//end add new applicability stuff
|
||||
lblProcSetRev.Visible = ppRTxtProcSetRev.Visible = _DocVersionConfig.MyDocVersion.MyDocVersionInfo.ActiveFormat.MyStepSectionPrintData.UseXtraRevNumber;
|
||||
|
||||
@@ -538,11 +538,32 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
|
||||
// The following code was added to fix Bug B2013-117
|
||||
private void ppTxtBxPDFLoc_TextChanged(object sender, EventArgs e)
|
||||
//B2024-030 Check the PDF Location path and prompt to create the folders if needed
|
||||
private void CheckPDFLocationPath()
|
||||
{
|
||||
if (_Initializing == false)
|
||||
_DocVersionConfig.Print_PDFLocation = ppTxtBxPDFLoc.Text;
|
||||
string pdfloc = ppTxtBxPDFLoc.Text;
|
||||
if (pdfloc == string.Empty) return;
|
||||
if (!Directory.Exists(ppTxtBxPDFLoc.Text))
|
||||
{
|
||||
string msg = string.Format(" The Folder: '{0}' does not exist. \n\nCreate it?", ppTxtBxPDFLoc.Text);
|
||||
DialogResult dr = MessageBox.Show(msg, "PDF Location Folder Not Found", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
|
||||
if (dr == DialogResult.Yes)
|
||||
{
|
||||
try
|
||||
{
|
||||
Directory.CreateDirectory(ppTxtBxPDFLoc.Text);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message, "Error trying to create folder", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
_DocVersionConfig.Print_PDFLocation = _OrgPDFPath; // reset to the path we started with
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_DocVersionConfig.Print_PDFLocation = _OrgPDFPath; // reset to the path we started with
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string AddSlaveNode(MiniConfig mc)
|
||||
@@ -588,6 +609,9 @@ namespace VEPROMS
|
||||
|
||||
private void btnVersionsPropOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
//B2024-030 Check the PDF Location path and prompt to create the folders if needed
|
||||
CheckPDFLocationPath();
|
||||
|
||||
docVersionConfigBindingSource.EndEdit(); // need to end the edit session first or any format selection chanage will not stick B2015-157
|
||||
|
||||
// if there is a change to the format, clean up any overridden formats that point to the selected item before saving the format change:
|
||||
@@ -773,7 +797,6 @@ namespace VEPROMS
|
||||
|
||||
// B2019-132 update the association count for this working draft
|
||||
_DocVersionConfig.MyDocVersion.MyDocVersionInfo.RefreshDocVersionAssociations();
|
||||
|
||||
this.Close();
|
||||
}
|
||||
|
||||
|
@@ -1309,7 +1309,8 @@ namespace VEPROMS.CSLA.Library
|
||||
else if (addType == EAddpingPart.Replace) // what about user interface for enhanced pasted steps?
|
||||
{
|
||||
ItemInfo enhReplaceItem = ItemInfo.Get(edSource.ItemID);
|
||||
newEnhancedItemInfo = Item.PasteReplace(enhReplaceItem, tmpCopyEnhancedID, chgid);
|
||||
TreeNode trn = null;
|
||||
newEnhancedItemInfo = Item.PasteReplace(enhReplaceItem, tmpCopyEnhancedID, chgid, trn);
|
||||
}
|
||||
|
||||
// update the config data for the new enhanced item (procedure, section or step) to point back to the correct source
|
||||
@@ -2497,13 +2498,16 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
#endregion
|
||||
#region PasteReplace
|
||||
public static ItemInfo PasteReplace(ItemInfo itemInfo, int copyStartID, string chgid)
|
||||
|
||||
|
||||
|
||||
public static ItemInfo PasteReplace(ItemInfo itemInfo, int copyStartID, string chgid, TreeNode treeNodeReplace)
|
||||
{
|
||||
bool tmp= false;
|
||||
return PasteReplace(itemInfo, copyStartID, chgid, ref tmp);
|
||||
bool tmp = false;
|
||||
return PasteReplace(itemInfo, copyStartID, chgid, treeNodeReplace, ref tmp);
|
||||
}
|
||||
// B2017-179 return a bool (firstTrans) if we could not replace the step but the user wants to position to the first transition that needs resolved
|
||||
public static ItemInfo PasteReplace(ItemInfo itemInfo, int copyStartID, string chgid, ref bool firstTrans)
|
||||
public static ItemInfo PasteReplace(ItemInfo itemInfo, int copyStartID, string chgid, TreeNode treeNodeReplace, ref bool firstTrans)
|
||||
{
|
||||
firstTrans = false;
|
||||
if (!CanDeleteObject())
|
||||
@@ -2560,7 +2564,14 @@ namespace VEPROMS.CSLA.Library
|
||||
}
|
||||
else
|
||||
{
|
||||
newItemInfo.MyParent.OnNewChild(new ItemInfoInsertEventArgs(newItemInfo, ItemInfo.EAddpingPart.Child));
|
||||
//Create tree node for copied procedure when no other procedures exist in the folder
|
||||
VETreeNode vtn = treeNodeReplace as VETreeNode;
|
||||
DocVersionInfo dvi = vtn.VEObject as DocVersionInfo;
|
||||
|
||||
ItemInfo newProc = dvi.PasteChild(copyStartID);
|
||||
VETreeNode tn1 = new VETreeNode(newProc);
|
||||
treeNodeReplace.Nodes.Add(tn1); // add tree node to end of list.
|
||||
treeNodeReplace = tn1;
|
||||
}
|
||||
return newItemInfo;
|
||||
}
|
||||
|
@@ -56,6 +56,9 @@ namespace Volian.Controls.Library
|
||||
|
||||
private ROFSTLookup.rochild selectedChld;
|
||||
|
||||
private DisplayTags displayTags;
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Properties
|
||||
@@ -268,6 +271,10 @@ namespace Volian.Controls.Library
|
||||
_searchTimer.Stop();
|
||||
}
|
||||
|
||||
|
||||
// Initialize the DisplayTags object
|
||||
displayTags = new DisplayTags();
|
||||
|
||||
_progressBar = null;
|
||||
}
|
||||
|
||||
@@ -927,7 +934,7 @@ namespace Volian.Controls.Library
|
||||
bool replacingRO = (_savCurROLink != null);
|
||||
|
||||
string insrpl = (replacingRO) ? "Cannot Replace" : "Cannot Insert";
|
||||
string errormsg = string.Empty;
|
||||
string errormsg = string.Empty;
|
||||
|
||||
switch (selectedRO.type)
|
||||
{
|
||||
@@ -968,7 +975,10 @@ namespace Volian.Controls.Library
|
||||
errormsg = (replacingRO) ? "a graphics RO with a non-graphcis RO." : "a Graphics RO in an non-Figure or a non-Accessory Page type.";
|
||||
//TODO: Prompt user to insert a new substep type that handles x/y Plots and place this RO into it
|
||||
goodToGo = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
@@ -688,8 +688,14 @@ namespace Volian.Controls.Library
|
||||
edtitm.PasteSiblingAfter(copyStartID);
|
||||
break;
|
||||
case ItemInfo.EAddpingPart.Replace:
|
||||
|
||||
EditItem ei = edtitm.PasteReplace(copyStartID);
|
||||
if (ei == null) return false; //B2017-179 PasteReplace will return null if was aborted
|
||||
if (ei == null)
|
||||
{
|
||||
CloseTabItem(_MyDisplayTabItems["Item - " + myItemInfo.ItemID.ToString()]); //Grab itemID and set to close open tab.
|
||||
return false; //B2017-179 PasteReplace will return null if was aborted
|
||||
}
|
||||
|
||||
if (ei.MyItemInfo.ItemID != edtitm.MyItemInfo.ItemID)
|
||||
{
|
||||
edtitm.Dispose();
|
||||
|
@@ -640,7 +640,7 @@ namespace Volian.Controls.Library
|
||||
this.btnFSrestore.Location = new System.Drawing.Point(112, 27);
|
||||
this.btnFSrestore.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnFSrestore.Name = "btnFSrestore";
|
||||
this.btnFSrestore.Size = new System.Drawing.Size(54, 26);
|
||||
this.btnFSrestore.Size = new System.Drawing.Size(54, 20);
|
||||
this.btnFSrestore.TabIndex = 6;
|
||||
this.btnFSrestore.Text = "Restore";
|
||||
this.btnFSrestore.UseVisualStyleBackColor = true;
|
||||
|
@@ -96,6 +96,22 @@ namespace Volian.Controls.Library
|
||||
get { return Visible; }
|
||||
set { if (Visible != value) Visible = value; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Expose text properties for height and widht to handle selecting RO Image Types.
|
||||
/// </summary>
|
||||
public string TbFSwd
|
||||
{
|
||||
get {return tbFSWd.Text;}
|
||||
set { tbFSWd.Text = value; tbFSWd.Refresh(); trBarFS.Value = Convert.ToInt32(value); }
|
||||
}
|
||||
|
||||
public string TbFSht
|
||||
{
|
||||
get { return tbFSHt.Text; }
|
||||
set { tbFSHt.Text = value; tbFSHt.Refresh(); _origFigureSizeRatio = float.Parse(value) / float.Parse(tbFSWd.Text); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
#region Constructor
|
||||
public DisplayTags()
|
||||
@@ -383,6 +399,8 @@ namespace Volian.Controls.Library
|
||||
cmbCheckoff.Enabled = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// show the part of panel for resizing a figure (if figure already exists: MyImage is set for non-RO existing images & content.text has a link in it)
|
||||
if (MyEditItem.MyItemInfo.IsFigure && (MyEditItem.MyItemInfo.MyContent.MyImage != null || MyEditItem.MyItemInfo.MyContent.Text.ToUpper().Contains("#LINK")))
|
||||
{
|
||||
@@ -391,20 +409,41 @@ namespace Volian.Controls.Library
|
||||
int wd = (MyEditItem as ImageItem).MyPictureBox.Width;
|
||||
_origFigureSizeRatio = (float)ht / (float)wd; // use this to keep width/height ratio while changing size.
|
||||
float wd1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageWidth - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.LeftMargin;
|
||||
float ht1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageLength - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.TopMargin - 36; // 36 is to allow for end message
|
||||
float wd2 = Math.Min(wd1, ht1 / _origFigureSizeRatio); // keep original ratio
|
||||
trBarFS.Maximum = Math.Max((int)wd2, trBarFS.Maximum);
|
||||
if (wd > trBarFS.Maximum) trBarFS.Maximum = wd + 1;
|
||||
trBarFS.Minimum = Math.Min(wd, 72);
|
||||
trBarFS.Value = (int)wd;
|
||||
ImageItem ii = MyEditItem as ImageItem;
|
||||
_origFigureSizeWidth = ii.MyPictureBox.Width;
|
||||
tbFSWd.Text = ii.MyPictureBox.Width.ToString();
|
||||
tbFSHt.Text = ii.MyPictureBox.Height.ToString();
|
||||
float ht1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageLength - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.TopMargin - 36; // 36 is to allow for end message
|
||||
float wd2 = Math.Min(wd1, ht1 / _origFigureSizeRatio); // keep original ratio
|
||||
|
||||
SetFigure(wd1, wd2);
|
||||
|
||||
tbFSWd.Text = wd.ToString();
|
||||
tbFSHt.Text = ht.ToString();
|
||||
|
||||
//trBarFS.Maximum = Math.Max((int)wd2, trBarFS.Maximum);
|
||||
//if (wd > trBarFS.Maximum) trBarFS.Maximum = wd + 1;
|
||||
//trBarFS.Minimum = Math.Min(wd, 72);
|
||||
//trBarFS.Value = (int)wd;
|
||||
//ImageItem ii = MyEditItem as ImageItem;
|
||||
//_origFigureSizeWidth = ii.MyPictureBox.Width;
|
||||
//tbFSWd.Text = ii.MyPictureBox.Width.ToString();
|
||||
//tbFSHt.Text = ii.MyPictureBox.Height.ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
groupPanelFigSize.Visible = false;
|
||||
if (MyEditItem.MyItemInfo.IsFigure)
|
||||
{
|
||||
//No Current image, but still show groupPanelFigSize, will adjust when file is selected, but let's give it a default
|
||||
//size on using the picturebox.
|
||||
groupPanelFigSize.Visible = true;
|
||||
int ht = (MyEditItem as ImageItem).MyPictureBox.Height;
|
||||
int wd = (MyEditItem as ImageItem).MyPictureBox.Width;
|
||||
_origFigureSizeRatio = (float)ht / (float)wd; // use this to keep width/height ratio while changing size.
|
||||
float wd1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageWidth - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.LeftMargin;
|
||||
float ht1 = (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.PageLength - (float)MyEditItem.MyItemInfo.MyDocStyle.Layout.TopMargin - 36; // 36 is to allow for end message
|
||||
float wd2 = Math.Min(wd1, ht1 / _origFigureSizeRatio); // keep original ratio
|
||||
|
||||
SetFigure(wd1, wd2);
|
||||
}
|
||||
else
|
||||
groupPanelFigSize.Visible = false;
|
||||
}
|
||||
|
||||
// change bar setting depends on whether step has changed (dts) as compared to date/time off the
|
||||
@@ -516,6 +555,22 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
_Initalizing = false;
|
||||
}
|
||||
public void SetFigure(double wd, double wd2)
|
||||
{
|
||||
// Check MyEditItem type and cast if needed
|
||||
ImageItem ii = MyEditItem as ImageItem;
|
||||
if (ii == null) return;
|
||||
|
||||
// Set the values as needed
|
||||
trBarFS.Maximum = Math.Max((int)wd2, trBarFS.Maximum);
|
||||
if (wd > trBarFS.Maximum) trBarFS.Maximum = (int)wd + 1;
|
||||
trBarFS.Minimum = Math.Min((int)wd, 72);
|
||||
trBarFS.Value = (int)wd;
|
||||
_origFigureSizeWidth = ii.MyPictureBox.Width;
|
||||
//tbFSWd.Text = ii.MyPictureBox.Width.ToString();
|
||||
//tbFSHt.Text = ii.MyPictureBox.Height.ToString();
|
||||
}
|
||||
|
||||
private int DoListStepTypes(FormatData fmtdata, StepData topType, string curType)
|
||||
{
|
||||
int cursel=-1;
|
||||
@@ -857,7 +912,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
private float _origFigureSizeRatio = 0; // keep original ratio & width in case of 'restore'
|
||||
private int _origFigureSizeWidth = 0;
|
||||
public int _origFigureSizeWidth = 0;
|
||||
// support user changing size using slider. This saves change back to ImageItem and sets
|
||||
// width/height text boxes to slider values.
|
||||
private void trBarFS_Scroll(object sender, EventArgs e)
|
||||
@@ -871,11 +926,14 @@ namespace Volian.Controls.Library
|
||||
// restore the orignal image size
|
||||
private void btnFSrestore_Click(object sender, EventArgs e)
|
||||
{
|
||||
tbFSWd.Text = _origFigureSizeWidth.ToString();
|
||||
int ht = (int)(_origFigureSizeRatio * _origFigureSizeWidth);
|
||||
tbFSHt.Text = ht.ToString();
|
||||
(MyEditItem as ImageItem).SizeImage(_origFigureSizeWidth, ht);
|
||||
trBarFS.Value = _origFigureSizeWidth;
|
||||
if (_origFigureSizeWidth != 0)
|
||||
{
|
||||
tbFSWd.Text = _origFigureSizeWidth.ToString();
|
||||
int ht = (int)(_origFigureSizeRatio * _origFigureSizeWidth);
|
||||
tbFSHt.Text = ht.ToString();
|
||||
(MyEditItem as ImageItem).SizeImage(_origFigureSizeWidth, ht);
|
||||
trBarFS.Value = _origFigureSizeWidth;
|
||||
}
|
||||
}
|
||||
// user entered width in text box, this event gets called on leave of text box.
|
||||
private void tbFSWd_Leave(object sender, EventArgs e)
|
||||
|
@@ -1209,7 +1209,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
EditItem child = null;
|
||||
if (MyItemInfo.IsFigure)
|
||||
child = new ImageItem(MyItemInfo, MyStepPanel, this, ChildRelation.After, true, nextEditItem, FigInsType);
|
||||
child = new ImageItem(MyItemInfo, MyStepPanel, this, ChildRelation.After, true, nextEditItem, FigInsType, _MyStepPropertiesPanel);
|
||||
else if (MyItemInfo.IsRtfRaw)
|
||||
child = new RtfRawItem(MyItemInfo, MyStepPanel, this, ChildRelation.After, true, nextEditItem);
|
||||
else if (MyItemInfo.MyContent.MyGrid != null)
|
||||
@@ -1222,7 +1222,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
EditItem child = null;
|
||||
if (MyItemInfo.IsFigure)
|
||||
child = new ImageItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem, FigInsType);
|
||||
child = new ImageItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem, FigInsType, _MyStepPropertiesPanel);
|
||||
else if (MyItemInfo.IsRtfRaw)
|
||||
child = new RtfRawItem(MyItemInfo, MyStepPanel, this, ChildRelation.Before, true, nextEditItem);
|
||||
if (MyItemInfo.MyContent.MyGrid != null)
|
||||
@@ -1825,6 +1825,7 @@ namespace Volian.Controls.Library
|
||||
EditItem newFocus = null;
|
||||
EditItem nextEditItem = MyNextEditItem;
|
||||
EditItem prevEditItem = MyPreviousEditItem;
|
||||
if (MyStepPanel?.SelectedEditItem?.ActiveParent == null) return null; //Was causing an error when active parent was null and the replaced proc was opened in the editor.
|
||||
EditItem parentEditItem = ActiveParent;
|
||||
|
||||
StepConfig savOrigPasteConfig = MyItemInfo.MyConfig as StepConfig;
|
||||
@@ -1835,7 +1836,8 @@ namespace Volian.Controls.Library
|
||||
bool gotoFirstTrans = false;
|
||||
try
|
||||
{
|
||||
newItemInfo = Item.PasteReplace(MyItemInfo, copyStartID, GetChangeId(MyItemInfo), ref gotoFirstTrans);
|
||||
TreeNode treeNodeReplace = null;
|
||||
newItemInfo = Item.PasteReplace(MyItemInfo, copyStartID, GetChangeId(MyItemInfo), treeNodeReplace, ref gotoFirstTrans);
|
||||
if (gotoFirstTrans) //B2017-179 could not replace step, we are positioning onto the first transition that needs resolved
|
||||
{
|
||||
MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OpenItem(newItemInfo);
|
||||
|
@@ -256,6 +256,8 @@ namespace Volian.Controls.Library
|
||||
private int _origCfgHt = 0; // keep track if original size was stored in cfg
|
||||
private int _origCfgWd = 0;
|
||||
private bool _pastedNew = false; // need this for flagging newly pasted image (may need to clear cfg)
|
||||
private DisplayTags _displayTags;
|
||||
|
||||
#endregion
|
||||
#region Constructors
|
||||
public ImageItem()
|
||||
@@ -266,6 +268,7 @@ namespace Volian.Controls.Library
|
||||
public ImageItem(ItemInfo itemInfo, StepPanel myStepPanel, EditItem myParentEditItem, ChildRelation myChildRelation, bool expand)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
MyItemInfo = itemInfo;
|
||||
SetupEditItem(itemInfo, myStepPanel, myParentEditItem, myChildRelation, expand, null, false);
|
||||
if (MyItemInfo.MyContent.MyImage != null && MyItemInfo.MyContent.MyImage.Data != null) // this is figure/image (not RO)
|
||||
@@ -307,6 +310,7 @@ namespace Volian.Controls.Library
|
||||
this.Height = MyPictureBox.Height + 10;
|
||||
_newSizeWd = wd / (MyStepPanel.DPI / 72);
|
||||
_newSizeHt = ht / (MyStepPanel.DPI / 72);
|
||||
|
||||
if (!MyItemInfo.FormatStepData.StepEditData.TypeMenu.MenuItem.ToUpper().Contains("AER")) ItemLocation = TableLocation(MyStepSectionLayoutData, ItemWidth);
|
||||
_IsDirty = true;
|
||||
}
|
||||
@@ -330,13 +334,23 @@ namespace Volian.Controls.Library
|
||||
MyPictureBox.SizeMode = PictureBoxSizeMode.Zoom; // as resize matches width/height.
|
||||
this.Width = MyPictureBox.Width + ImageMargin;
|
||||
this.Height = MyPictureBox.Height + 10;
|
||||
if (_displayTags != null)
|
||||
{
|
||||
_displayTags._origFigureSizeWidth = wd;
|
||||
_displayTags.TbFSwd = wd.ToString();
|
||||
_displayTags.TbFSht = ht.ToString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
// the following gets called for 'NEW' images
|
||||
private E_ImageSource InsType = E_ImageSource.None;
|
||||
public ImageItem(ItemInfo itemInfo, StepPanel myStepPanel, EditItem myParentEditItem, ChildRelation myChildRelation, bool expand, EditItem nextEditItem, ImageItem.E_ImageSource insType)
|
||||
public ImageItem(ItemInfo itemInfo, StepPanel myStepPanel, EditItem myParentEditItem, ChildRelation myChildRelation, bool expand, EditItem nextEditItem, ImageItem.E_ImageSource insType, DisplayTags displayTags)
|
||||
{
|
||||
InitializeComponent();
|
||||
MyItemInfo = itemInfo;
|
||||
_displayTags = displayTags;
|
||||
|
||||
if (MyItemInfo.MyContent.MyImage != null && MyItemInfo.MyContent.MyImage.Data != null) // this is figure/image (not RO)
|
||||
{
|
||||
SetupEditItem(itemInfo, myStepPanel, myParentEditItem, myChildRelation, expand, nextEditItem, false);
|
||||
@@ -368,8 +382,8 @@ namespace Volian.Controls.Library
|
||||
FileName = null;
|
||||
//InitializeComponent();
|
||||
SetupEditItem(itemInfo, myStepPanel, myParentEditItem, myChildRelation, expand, nextEditItem, false);
|
||||
MyPictureBox.Width = 100;
|
||||
MyPictureBox.Height = 100;
|
||||
//MyPictureBox.Width = 100;
|
||||
//MyPictureBox.Height = 100;
|
||||
this.Width = 100 + ImageMargin;
|
||||
this.Height = 100;
|
||||
if (insType == ImageItem.E_ImageSource.File)
|
||||
@@ -546,6 +560,7 @@ namespace Volian.Controls.Library
|
||||
imageText = val;
|
||||
}
|
||||
AddROImageToScreen(W, H, imageText);
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@@ -2001,7 +2001,7 @@ namespace Volian.Controls.Library
|
||||
btnReviewCreatePDF.Click -= new System.EventHandler(btnPdfCreate_Click);
|
||||
btnReviewPdfQuickCreate.SubItems.Clear();
|
||||
btnReviewPdfQuickCreate.Tag = null;
|
||||
btnReviewPdfQuickCreate.Click -= new System.EventHandler(btnPdfCreate_Click);
|
||||
btnReviewPdfQuickCreate.Click -= new System.EventHandler(btnPdfQuickCreate_Click);
|
||||
int k = 0;
|
||||
foreach (string s in unitNames)
|
||||
{
|
||||
|
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
Binary file not shown.
@@ -1612,7 +1612,13 @@ namespace Volian.Controls.Library
|
||||
if (!docVersionIsEnhanced && !docVersionIsSource && !procIsSource) canPaste = true;
|
||||
else if (docVersionIsSource && !procIsSource) canPaste = true;
|
||||
else if (docVersionIsSource) canPaste = (!procIsSource || (iiClipboard.MyDocVersion.ItemID == dvi.ItemID));
|
||||
else if (docVersionIsEnhanced) canPaste = !procIsSource;
|
||||
else if (docVersionIsEnhanced)
|
||||
{
|
||||
// B2024-028 Do not allow paste of non-enhanced into enhanced set
|
||||
// (consistent with paste before/after, i.e. don't allow)
|
||||
canPaste = false;
|
||||
cm.MenuItems.Add("CANNOT PASTE HERE, Click for more information...", new EventHandler(mi_Click));
|
||||
}
|
||||
if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation.
|
||||
if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click));
|
||||
}
|
||||
@@ -1670,9 +1676,9 @@ namespace Volian.Controls.Library
|
||||
if (!prCanPaste)
|
||||
{
|
||||
if (prToIsEnhanced)
|
||||
cm.MenuItems.Add("CANNOT PASTE HERE, Click for more information...", new EventHandler(mi_Click));
|
||||
cm.MenuItems.Add("CANNOT PASTE HERE, Click for more information...", new EventHandler(mi_Click));
|
||||
else
|
||||
cm.MenuItems.Add("CANNOT PASTE HERE. Click for more information...", new EventHandler(mi_Click));
|
||||
cm.MenuItems.Add("CANNOT PASTE HERE. Click for more information...", new EventHandler(mi_Click));
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
@@ -2012,7 +2018,6 @@ namespace Volian.Controls.Library
|
||||
// lots of paste options:
|
||||
case "Paste Procedure":
|
||||
case "Paste Procedure Before":
|
||||
case "Replace Existing Procedure":
|
||||
case "Paste Procedure After":
|
||||
case "Paste Section":
|
||||
case "Paste Section Before":
|
||||
@@ -2025,6 +2030,18 @@ namespace Volian.Controls.Library
|
||||
case "Paste Subsection":
|
||||
tv_NodePaste(mi.Text);
|
||||
break;
|
||||
case "Replace Existing Procedure":
|
||||
DialogResult ovewriteEx = FlexibleMessageBox.Show("This will overwrite the selected procedure with then one you copied, would you like to overwrite it?\r\n\r\nSelecting 'Cancel' will cancel the paste action.", "Overwrite the procedure?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);// == DialogResult.Yes;
|
||||
|
||||
if (ovewriteEx == DialogResult.Cancel) break;
|
||||
else
|
||||
{
|
||||
TreeNode treenodeDirectory = SelectedNode.Parent;
|
||||
tv_NodePaste(mi.Text);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case "Delete":
|
||||
if (tv_NodeDelete())
|
||||
{
|
||||
@@ -2103,8 +2120,9 @@ namespace Volian.Controls.Library
|
||||
"It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here");
|
||||
break;
|
||||
case "CANNOT PASTE HERE, Click for more information...":
|
||||
// B2024-028 clarify message
|
||||
FlexibleMessageBox.Show("You have copied a document that is NOT linked to an Enhanced Document.\n\n" +
|
||||
"It CANNOT be pasted before or after an Enhanced Document.", "Cannot Paste Here");
|
||||
"You cannot paste a Non-Enhanced Procedure into an Enhanced Procedure Set.", "Cannot Paste Here");
|
||||
break;
|
||||
//case "Check Out Procedure Set":
|
||||
// CheckOutDocVersion(SelectedNode as VETreeNode);
|
||||
@@ -2390,6 +2408,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
VETreeNode tn = SelectedNode as VETreeNode;
|
||||
TreeNode treeNodeReplace = SelectedNode.Parent; //Get Tree Node of Parent we are proc we are placing into.
|
||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||
// Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section)
|
||||
if (dvi != null)
|
||||
@@ -2425,13 +2444,17 @@ namespace Volian.Controls.Library
|
||||
else if (p.IndexOf("After") > -1)
|
||||
PasteBeforeOrAfter(MenuSelections.StepAfter, tn, iiClipboard.ItemID);
|
||||
else if (p.IndexOf("Replace") > -1)
|
||||
PasteReplace(tn, iiClipboard.ItemID);
|
||||
{
|
||||
PasteReplace(tn, iiClipboard.ItemID, treeNodeReplace);
|
||||
}
|
||||
else // paste as child
|
||||
PasteAsChild(tn, iiClipboard.ItemID);
|
||||
this.Cursor = Cursors.Default;
|
||||
|
||||
//if (p.IndexOf("Replace") <= -1)
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
|
||||
private void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
|
||||
public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
|
||||
{
|
||||
// Only need to handle paste in tree since this will create a new procedure.
|
||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||
@@ -2518,7 +2541,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
SelectedNode = (VETreeNode)((newtype == MenuSelections.StepAfter) ? tn.NextNode : tn.PrevNode);
|
||||
}
|
||||
private void PasteReplace(VETreeNode tn, int copyStartID)
|
||||
private void PasteReplace(VETreeNode tn, int copyStartID, TreeNode treeNodeReplace)
|
||||
{
|
||||
VETreeNode prevtn = (VETreeNode) tn.PrevNode;
|
||||
VETreeNode partn = (VETreeNode) tn.Parent;
|
||||
@@ -2529,23 +2552,43 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
// first, check if a changeid is required.
|
||||
string chgId = OnGetChangeId(this, new vlnTreeItemInfoEventArgs(ii));
|
||||
ItemInfo replItemInfo = Item.PasteReplace(ii, copyStartID, chgId);
|
||||
ItemInfo replItemInfo = Item.PasteReplace(ii, copyStartID, chgId, treeNodeReplace);
|
||||
|
||||
StepConfig replItemConfig = ii.MyConfig as StepConfig;
|
||||
if (replItemInfo != null)
|
||||
{
|
||||
OnOpenItem(this, new vlnTreeItemInfoEventArgs(replItemInfo));
|
||||
ItemInfo newEnhStep = replItemInfo.PasteEnhancedItems(copyStartID, ii, ItemInfo.EAddpingPart.Replace, chgId);
|
||||
}
|
||||
}
|
||||
// B2018-047: was crashing on the following line (before change it was casting the result to a VETreeNote when the partn.FirstNode was just a TreeNode)
|
||||
SelectedNode = prevtn != null ? prevtn.NextNode : partn.FirstNode;
|
||||
|
||||
|
||||
}
|
||||
private void tv_NodeCopy()
|
||||
public void PasteRepalceEmpty(VETreeNode tn, int copyStartID)
|
||||
{
|
||||
if (SelectedNode==null)return;
|
||||
VETreeNode tn = SelectedNode as VETreeNode;
|
||||
OnNodeCopy(this, new vlnTreeEventArgs(tn));
|
||||
// Only need to handle paste in tree since this will create a new procedure.
|
||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||
if (dvi.DocVersionAssociationCount == 0)
|
||||
{
|
||||
// Set docversionassociation to the copied docversion association
|
||||
// so that the rofst for ro's can be found. (if there is no association set)
|
||||
ROFstInfo rfi = GetAssociationRofstId(copyStartID);
|
||||
Association myAs = Association.MakeAssociation(dvi.Get(), rfi.GetJustROFst(), "");
|
||||
dvi.RefreshDocVersionAssociations();
|
||||
}
|
||||
ItemInfo newProc = dvi.PasteChild(copyStartID);
|
||||
VETreeNode tn1 = new VETreeNode(newProc);
|
||||
SelectedNode.Nodes.Add(tn1); // add tree node to end of list.
|
||||
SelectedNode = tn1;
|
||||
}
|
||||
private void tv_NodeCopy()
|
||||
{
|
||||
if (SelectedNode == null) return;
|
||||
VETreeNode tn = SelectedNode as VETreeNode;
|
||||
OnNodeCopy(this, new vlnTreeEventArgs(tn));
|
||||
}
|
||||
|
||||
#endregion
|
||||
#region PropertyPagesInterface
|
||||
private void SetupNodeProperties()
|
||||
@@ -3058,6 +3101,15 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
SaveEnhancedForSection(sourceSect, newenhSection, sed.Type);
|
||||
RefreshRelatedNode(SectionInfo.Get(newenhSection.ItemID));
|
||||
// B2024-023: when inserting a source section, the associated
|
||||
// enhanced section did not appear in tree view or in edit window (if it
|
||||
// was displayed in editor). Add to tree view and close the enhanced
|
||||
// procedure edit window. Note that closing of edit window was done to
|
||||
// be consistent on what happens upon delete of source w/ and enhanced
|
||||
// section.
|
||||
SectionInfo tmpsi = SectionInfo.Get(newenhSection.ItemID);
|
||||
RefreshRelatedNode(ProcedureInfo.Get(tmpsi.MyParent.ItemID));
|
||||
OnSectionShouldClose(this, new vlnTreeSectionInfoEventArgs(tmpsi, true));
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
@@ -699,7 +699,7 @@ namespace Volian.Print.Library
|
||||
|
||||
try
|
||||
{
|
||||
if (File.Exists(outputFileName))
|
||||
if (File.Exists(outputFileName) && !OverWrite && !outputFileName.Contains("PageNumberPass") && !outputFileName.Contains("Foldout"))
|
||||
{
|
||||
if (!BaselineTesting && !SaveLinks) // B2024-031 don't do if creating PDF hyperlinks
|
||||
{
|
||||
@@ -836,14 +836,6 @@ namespace Volian.Print.Library
|
||||
OnStatusChanged("Print " + myProcedure.DisplayNumber, PromsPrinterStatusType.Start);
|
||||
string outputFileName = pdfFolder + "\\" + Prefix + PDFFile; // RHM20150506 Multiline ItemID TextBox
|
||||
|
||||
if (!OverWrite && File.Exists(outputFileName))
|
||||
{
|
||||
if (MessageBox.Show(outputFileName + " exists. Overwrite file?", "File Exists", MessageBoxButtons.YesNo) == DialogResult.No)
|
||||
{
|
||||
ProfileTimer.Pop(profileDepth);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
string retval = PrintProcedureOrFoldout(myProcedure, null, outputFileName, makePlacekeeper, makeContinuousActionSummary, makeTimeCriticalAction);
|
||||
ProfileTimer.Pop(profileDepth);
|
||||
return retval;
|
||||
|
Reference in New Issue
Block a user