Compare commits

...

12 Commits

Author SHA1 Message Date
Kevin Laskey
4e24eed202 UI work and preliminary work on delete process for folders and UI for annotations 2024-06-21 15:46:22 -04:00
d0474b22f9 Merge pull request 'C2022-029 - Export Single Procedure (Overwrite/Rename/Cancel)' (#341) from C2022-029 into Development
passed code review. ready for testing phase
2024-06-20 10:02:52 -04:00
5bd1f94be0 Merge pull request 'C2024-004' (#339) from C2024-004 into Development
code changes look good. ready for testing phase.
2024-06-19 14:12:03 -04:00
Kevin Laskey
629fe1b615 Updated to include passing teh selected tree node parent for cases where the only procedure in a folder is being replaced. otherwise i pass null for that as its not really used. 2024-06-19 13:50:52 -04:00
Kevin Laskey
c92b888ec2 Update to close the procedure when opened during the paste/replace option. 2024-06-18 10:48:28 -04:00
Kevin Laskey
9d1b99b08e Update 2024-06-13 09:00:49 -04:00
Kevin Laskey
4f7a762bf1 Updated to use modified date, shortened code a bit. 2024-06-13 08:35:13 -04:00
Kevin Laskey
11cb2e0efd Updated message 2024-06-07 15:14:33 -04:00
Kevin Laskey
a2e830d0c3 Update for "cancel" button action 2024-06-07 14:42:26 -04:00
Kevin Laskey
2ffab17caf Updates for adding custom buttons 2024-06-07 14:17:43 -04:00
Kevin Laskey
49aba5c67b update 2024-06-07 10:34:46 -04:00
Kevin Laskey
db4f114caf C2022-029 - Export Import changes, Set path automatically for single proc export, provide overwrite message on single prompt export. 2024-06-04 08:51:57 -04:00
10 changed files with 867 additions and 375 deletions

View File

@@ -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

View File

@@ -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;

View File

@@ -400,6 +400,7 @@ namespace VEPROMS
this.pnlImport.PerformLayout();
this.ResumeLayout(false);
}
#endregion

View File

@@ -52,6 +52,24 @@
this.expandableSplitter1 = new DevComponents.DotNetBar.ExpandableSplitter();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.sideNav1 = new DevComponents.DotNetBar.Controls.SideNav();
this.sideNavPanel4 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swDeleteFolder = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX13 = new DevComponents.DotNetBar.LabelX();
this.swDeleteAnnotations = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX14 = new DevComponents.DotNetBar.LabelX();
this.myTVdel = new System.Windows.Forms.TreeView();
this.btnDeleteItems = new DevComponents.DotNetBar.ButtonX();
this.sideNavPanel3 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swCheckROLinks = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX12 = new DevComponents.DotNetBar.LabelX();
this.warningBox5 = new DevComponents.DotNetBar.Controls.WarningBox();
this.line3 = new DevComponents.DotNetBar.Controls.Line();
this.swUpdateROVals = new DevComponents.DotNetBar.Controls.SwitchButton();
this.swRefreshTrans = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX11 = new DevComponents.DotNetBar.LabelX();
this.labelX6 = new DevComponents.DotNetBar.LabelX();
this.warningBox1 = new DevComponents.DotNetBar.Controls.WarningBox();
this.btnFixLinks = new DevComponents.DotNetBar.ButtonX();
this.sideNavPanel2 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swRefreshTblsForSrch = new DevComponents.DotNetBar.Controls.SwitchButton();
this.lblRefreshTblForSrch = new DevComponents.DotNetBar.LabelX();
@@ -79,25 +97,14 @@
this.swCkOrphanDataRecs = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX1 = new DevComponents.DotNetBar.LabelX();
this.btnRunCheck = new DevComponents.DotNetBar.ButtonX();
this.sideNavPanel3 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.swCheckROLinks = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX12 = new DevComponents.DotNetBar.LabelX();
this.warningBox5 = new DevComponents.DotNetBar.Controls.WarningBox();
this.line3 = new DevComponents.DotNetBar.Controls.Line();
this.swUpdateROVals = new DevComponents.DotNetBar.Controls.SwitchButton();
this.swRefreshTrans = new DevComponents.DotNetBar.Controls.SwitchButton();
this.labelX11 = new DevComponents.DotNetBar.LabelX();
this.labelX6 = new DevComponents.DotNetBar.LabelX();
this.warningBox1 = new DevComponents.DotNetBar.Controls.WarningBox();
this.btnFixLinks = new DevComponents.DotNetBar.ButtonX();
this.sideNavPanel4 = new DevComponents.DotNetBar.Controls.SideNavPanel();
this.btn_ShowUsers = new DevComponents.DotNetBar.ButtonX();
this.sideNavItem1 = new DevComponents.DotNetBar.Controls.SideNavItem();
this.separator1 = new DevComponents.DotNetBar.Separator();
this.sideNavItmCheck = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmRepair = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmLinks = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmUsers = new DevComponents.DotNetBar.Controls.SideNavItem();
this.buttonItem1 = new DevComponents.DotNetBar.ButtonItem();
this.sideNavItemDelete = new DevComponents.DotNetBar.Controls.SideNavItem();
this.sideNavItmExit = new DevComponents.DotNetBar.Controls.SideNavItem();
this.panelEx4 = new DevComponents.DotNetBar.PanelEx();
this.progressSteps1 = new DevComponents.DotNetBar.ProgressSteps();
@@ -118,10 +125,10 @@
this.pnlLater.SuspendLayout();
this.panelEx1.SuspendLayout();
this.sideNav1.SuspendLayout();
this.sideNavPanel4.SuspendLayout();
this.sideNavPanel3.SuspendLayout();
this.sideNavPanel2.SuspendLayout();
this.sideNavPanel1.SuspendLayout();
this.sideNavPanel3.SuspendLayout();
this.sideNavPanel4.SuspendLayout();
this.panelEx4.SuspendLayout();
this.SuspendLayout();
//
@@ -133,7 +140,7 @@
this.myTV.CheckBoxes = true;
this.myTV.Location = new System.Drawing.Point(0, 230);
this.myTV.Name = "myTV";
this.myTV.Size = new System.Drawing.Size(300, 264);
this.myTV.Size = new System.Drawing.Size(170, 218);
this.myTV.TabIndex = 4;
this.myTV.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.myTV_AfterCheck);
//
@@ -343,7 +350,7 @@
this.pnlLater.Controls.Add(this.dtpDate);
this.pnlLater.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlLater.Enabled = false;
this.pnlLater.Location = new System.Drawing.Point(6, 23);
this.pnlLater.Location = new System.Drawing.Point(6, 27);
this.pnlLater.Name = "pnlLater";
this.pnlLater.Padding = new System.Windows.Forms.Padding(6);
this.pnlLater.Size = new System.Drawing.Size(279, 37);
@@ -384,7 +391,7 @@
this.chkLater.Dock = System.Windows.Forms.DockStyle.Top;
this.chkLater.Location = new System.Drawing.Point(6, 6);
this.chkLater.Name = "chkLater";
this.chkLater.Size = new System.Drawing.Size(279, 17);
this.chkLater.Size = new System.Drawing.Size(279, 21);
this.chkLater.TabIndex = 4;
this.chkLater.Text = "Process Later";
this.chkLater.UseVisualStyleBackColor = true;
@@ -457,10 +464,10 @@
// sideNav1
//
this.sideNav1.BackColor = System.Drawing.SystemColors.Control;
this.sideNav1.Controls.Add(this.sideNavPanel1);
this.sideNav1.Controls.Add(this.sideNavPanel3);
this.sideNav1.Controls.Add(this.sideNavPanel2);
this.sideNav1.Controls.Add(this.sideNavPanel1);
this.sideNav1.Controls.Add(this.sideNavPanel4);
this.sideNav1.Controls.Add(this.sideNavPanel2);
this.sideNav1.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNav1.EnableClose = false;
this.sideNav1.EnableMaximize = false;
@@ -471,6 +478,7 @@
this.sideNavItmRepair,
this.sideNavItmLinks,
this.sideNavItmUsers,
this.sideNavItemDelete,
this.sideNavItmExit});
this.sideNav1.Location = new System.Drawing.Point(0, 0);
this.sideNav1.Name = "sideNav1";
@@ -479,6 +487,297 @@
this.sideNav1.TabIndex = 3;
this.sideNav1.Text = "sideNav1";
//
// sideNavPanel4
//
this.sideNavPanel4.Controls.Add(this.swDeleteFolder);
this.sideNavPanel4.Controls.Add(this.labelX13);
this.sideNavPanel4.Controls.Add(this.swDeleteAnnotations);
this.sideNavPanel4.Controls.Add(this.labelX14);
this.sideNavPanel4.Controls.Add(this.myTVdel);
this.sideNavPanel4.Controls.Add(this.btnDeleteItems);
this.sideNavPanel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel4.Location = new System.Drawing.Point(102, 39);
this.sideNavPanel4.Name = "sideNavPanel4";
this.sideNavPanel4.Size = new System.Drawing.Size(278, 486);
this.sideNavPanel4.TabIndex = 27;
this.sideNavPanel4.Visible = false;
//
// swDeleteFolder
//
//
//
//
this.swDeleteFolder.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swDeleteFolder.Location = new System.Drawing.Point(10, 43);
this.swDeleteFolder.Name = "swDeleteFolder";
this.swDeleteFolder.Size = new System.Drawing.Size(69, 22);
this.swDeleteFolder.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swDeleteFolder, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("swDeleteFolder.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.swDeleteFolder.SwitchClickTogglesValue = true;
this.swDeleteFolder.TabIndex = 39;
this.swDeleteFolder.ValueChanged += new System.EventHandler(this.swDeleteFolder_ValueChanged);
//
// labelX13
//
this.labelX13.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX13.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX13.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX13.Location = new System.Drawing.Point(85, 42);
this.labelX13.Name = "labelX13";
this.labelX13.Size = new System.Drawing.Size(168, 22);
this.superTooltip1.SetSuperTooltip(this.labelX13, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("labelX13.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(350, 175)));
this.labelX13.TabIndex = 38;
this.labelX13.Text = "Delete Folders";
//
// swDeleteAnnotations
//
//
//
//
this.swDeleteAnnotations.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swDeleteAnnotations.Location = new System.Drawing.Point(10, 15);
this.swDeleteAnnotations.Name = "swDeleteAnnotations";
this.swDeleteAnnotations.Size = new System.Drawing.Size(69, 22);
this.swDeleteAnnotations.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swDeleteAnnotations, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("swDeleteAnnotations.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(265, 175)));
this.swDeleteAnnotations.SwitchClickTogglesValue = true;
this.swDeleteAnnotations.TabIndex = 37;
this.swDeleteAnnotations.Value = true;
this.swDeleteAnnotations.ValueObject = "Y";
this.swDeleteAnnotations.ValueChanged += new System.EventHandler(this.swDeleteAnnotations_ValueChanged);
//
// labelX14
//
this.labelX14.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX14.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX14.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX14.Location = new System.Drawing.Point(85, 14);
this.labelX14.Name = "labelX14";
this.labelX14.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX14, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("labelX14.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(256, 175)));
this.labelX14.TabIndex = 36;
this.labelX14.Text = "Delete Annotations";
//
// myTVdel
//
this.myTVdel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.myTVdel.CheckBoxes = true;
this.myTVdel.Location = new System.Drawing.Point(14, 145);
this.myTVdel.Name = "myTVdel";
this.myTVdel.Size = new System.Drawing.Size(254, 323);
this.myTVdel.TabIndex = 34;
//
// btnDeleteItems
//
this.btnDeleteItems.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnDeleteItems.Checked = true;
this.btnDeleteItems.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnDeleteItems.Location = new System.Drawing.Point(3, 98);
this.btnDeleteItems.Name = "btnDeleteItems";
this.btnDeleteItems.Size = new System.Drawing.Size(280, 23);
this.btnDeleteItems.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnDeleteItems, new DevComponents.DotNetBar.SuperTooltipInfo("Process Links", "", "This will run the selected RO Links or Transitions Links tool.\r\n\r\nClick on the on" +
"/off switches to turn on/off each tool.\r\n\r\nNote that only one of these tools can" +
" be run at a time.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 130)));
this.btnDeleteItems.TabIndex = 35;
this.btnDeleteItems.Text = "Process Deletions";
this.btnDeleteItems.Click += new System.EventHandler(this.btnDeleteItems_Click);
//
// sideNavPanel3
//
this.sideNavPanel3.Controls.Add(this.swCheckROLinks);
this.sideNavPanel3.Controls.Add(this.labelX12);
this.sideNavPanel3.Controls.Add(this.warningBox5);
this.sideNavPanel3.Controls.Add(this.line3);
this.sideNavPanel3.Controls.Add(this.swUpdateROVals);
this.sideNavPanel3.Controls.Add(this.swRefreshTrans);
this.sideNavPanel3.Controls.Add(this.labelX11);
this.sideNavPanel3.Controls.Add(this.labelX6);
this.sideNavPanel3.Controls.Add(this.warningBox1);
this.sideNavPanel3.Controls.Add(this.myTV);
this.sideNavPanel3.Controls.Add(this.btnFixLinks);
this.sideNavPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel3.Location = new System.Drawing.Point(102, 39);
this.sideNavPanel3.Name = "sideNavPanel3";
this.sideNavPanel3.Size = new System.Drawing.Size(278, 486);
this.sideNavPanel3.TabIndex = 10;
//
// swCheckROLinks
//
//
//
//
this.swCheckROLinks.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swCheckROLinks.Location = new System.Drawing.Point(10, 66);
this.swCheckROLinks.Name = "swCheckROLinks";
this.swCheckROLinks.Size = new System.Drawing.Size(91, 22);
this.swCheckROLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swCheckROLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("swCheckROLinks.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.swCheckROLinks.SwitchClickTogglesValue = true;
this.swCheckROLinks.TabIndex = 33;
this.swCheckROLinks.ValueChanged += new System.EventHandler(this.swCheckROLinks_ValueChanged);
//
// labelX12
//
this.labelX12.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX12.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX12.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX12.Location = new System.Drawing.Point(107, 66);
this.labelX12.Name = "labelX12";
this.labelX12.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX12, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("labelX12.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(350, 175)));
this.labelX12.TabIndex = 32;
this.labelX12.Text = "Check RO Links";
//
// warningBox5
//
this.warningBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox5.CloseButtonVisible = false;
this.warningBox5.Image = ((System.Drawing.Image)(resources.GetObject("warningBox5.Image")));
this.warningBox5.Location = new System.Drawing.Point(17, 145);
this.warningBox5.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.warningBox5.Name = "warningBox5";
this.warningBox5.OptionsButtonVisible = false;
this.warningBox5.Size = new System.Drawing.Size(262, 32);
this.warningBox5.TabIndex = 31;
this.warningBox5.Text = "<b>NOTE</b> These tools can take a long time to run";
//
// line3
//
this.line3.BackColor = System.Drawing.Color.Transparent;
this.line3.Location = new System.Drawing.Point(6, 127);
this.line3.Name = "line3";
this.line3.Size = new System.Drawing.Size(285, 12);
this.line3.TabIndex = 30;
this.line3.Text = "line3";
//
// swUpdateROVals
//
//
//
//
this.swUpdateROVals.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swUpdateROVals.Location = new System.Drawing.Point(10, 10);
this.swUpdateROVals.Name = "swUpdateROVals";
this.swUpdateROVals.Size = new System.Drawing.Size(91, 22);
this.swUpdateROVals.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swUpdateROVals, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("swUpdateROVals.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.swUpdateROVals.SwitchClickTogglesValue = true;
this.swUpdateROVals.TabIndex = 29;
this.swUpdateROVals.Value = true;
this.swUpdateROVals.ValueObject = "Y";
this.swUpdateROVals.ValueChanged += new System.EventHandler(this.swUpdateROVals_ValueChanged);
//
// swRefreshTrans
//
//
//
//
this.swRefreshTrans.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swRefreshTrans.Location = new System.Drawing.Point(10, 38);
this.swRefreshTrans.Name = "swRefreshTrans";
this.swRefreshTrans.Size = new System.Drawing.Size(91, 22);
this.swRefreshTrans.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swRefreshTrans, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("swRefreshTrans.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(265, 175)));
this.swRefreshTrans.SwitchClickTogglesValue = true;
this.swRefreshTrans.TabIndex = 29;
this.swRefreshTrans.ValueChanged += new System.EventHandler(this.swRefreshTrans_ValueChanged);
//
// labelX11
//
this.labelX11.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX11.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX11.Location = new System.Drawing.Point(107, 10);
this.labelX11.Name = "labelX11";
this.labelX11.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX11, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("labelX11.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.labelX11.TabIndex = 28;
this.labelX11.Text = "Update RO Values";
//
// labelX6
//
this.labelX6.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX6.Location = new System.Drawing.Point(107, 38);
this.labelX6.Name = "labelX6";
this.labelX6.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX6, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("labelX6.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(256, 175)));
this.labelX6.TabIndex = 28;
this.labelX6.Text = "Refresh Transitions";
//
// warningBox1
//
this.warningBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox1.CloseButtonVisible = false;
this.warningBox1.Image = ((System.Drawing.Image)(resources.GetObject("warningBox1.Image")));
this.warningBox1.Location = new System.Drawing.Point(17, 181);
this.warningBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.warningBox1.Name = "warningBox1";
this.warningBox1.OptionsButtonVisible = false;
this.warningBox1.Size = new System.Drawing.Size(262, 43);
this.warningBox1.TabIndex = 7;
this.warningBox1.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
"tions";
//
// btnFixLinks
//
this.btnFixLinks.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnFixLinks.Checked = true;
this.btnFixLinks.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnFixLinks.Location = new System.Drawing.Point(10, 98);
this.btnFixLinks.Name = "btnFixLinks";
this.btnFixLinks.Size = new System.Drawing.Size(280, 23);
this.btnFixLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnFixLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Process Links", "", "This will run the selected RO Links or Transitions Links tool.\r\n\r\nClick on the on" +
"/off switches to turn on/off each tool.\r\n\r\nNote that only one of these tools can" +
" be run at a time.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 130)));
this.btnFixLinks.TabIndex = 6;
this.btnFixLinks.Text = "Process Links";
this.btnFixLinks.Click += new System.EventHandler(this.btnFixLinks_Click);
//
// sideNavPanel2
//
this.sideNavPanel2.Controls.Add(this.swRefreshTblsForSrch);
this.sideNavPanel2.Controls.Add(this.lblRefreshTblForSrch);
this.sideNavPanel2.Controls.Add(this.warningBox4);
this.sideNavPanel2.Controls.Add(this.warningBox2);
this.sideNavPanel2.Controls.Add(this.swRmObsoleteROData);
this.sideNavPanel2.Controls.Add(this.swRefreshWordAttmts);
this.sideNavPanel2.Controls.Add(this.swStandardHypenChars);
this.sideNavPanel2.Controls.Add(this.labelX4);
this.sideNavPanel2.Controls.Add(this.labelX5);
this.sideNavPanel2.Controls.Add(this.labelX9);
this.sideNavPanel2.Controls.Add(this.swRmOrphanDataRecs);
this.sideNavPanel2.Controls.Add(this.labelX10);
this.sideNavPanel2.Controls.Add(this.labelX8);
this.sideNavPanel2.Controls.Add(this.line2);
this.sideNavPanel2.Controls.Add(this.btnRunRepair);
this.sideNavPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel2.Location = new System.Drawing.Point(102, 39);
this.sideNavPanel2.Name = "sideNavPanel2";
this.sideNavPanel2.Size = new System.Drawing.Size(278, 486);
this.sideNavPanel2.TabIndex = 6;
this.sideNavPanel2.Visible = false;
//
// swRefreshTblsForSrch
//
//
@@ -517,6 +816,7 @@
this.warningBox4.CloseButtonVisible = false;
this.warningBox4.Image = ((System.Drawing.Image)(resources.GetObject("warningBox4.Image")));
this.warningBox4.Location = new System.Drawing.Point(12, 264);
this.warningBox4.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.warningBox4.Name = "warningBox4";
this.warningBox4.OptionsButtonVisible = false;
this.warningBox4.Size = new System.Drawing.Size(264, 32);
@@ -529,6 +829,7 @@
this.warningBox2.CloseButtonVisible = false;
this.warningBox2.Image = ((System.Drawing.Image)(resources.GetObject("warningBox2.Image")));
this.warningBox2.Location = new System.Drawing.Point(12, 302);
this.warningBox2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.warningBox2.Name = "warningBox2";
this.warningBox2.OptionsButtonVisible = false;
this.warningBox2.Size = new System.Drawing.Size(264, 43);
@@ -698,7 +999,7 @@
this.btnRunRepair.Size = new System.Drawing.Size(280, 23);
this.btnRunRepair.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnRunRepair, new DevComponents.DotNetBar.SuperTooltipInfo("Run Repair", "", "This will run the database repair tools selected.\r\n\r\nClick on the on/off switches" +
" to turn on/off each tool.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 103)));
" to turn on/off each tool.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 103)));
this.btnRunRepair.TabIndex = 3;
this.btnRunRepair.Text = "Run Repair";
this.btnRunRepair.Click += new System.EventHandler(this.btnRunRepair_Click);
@@ -716,10 +1017,11 @@
this.sideNavPanel1.Controls.Add(this.labelX1);
this.sideNavPanel1.Controls.Add(this.btnRunCheck);
this.sideNavPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel1.Location = new System.Drawing.Point(80, 31);
this.sideNavPanel1.Location = new System.Drawing.Point(102, 39);
this.sideNavPanel1.Name = "sideNavPanel1";
this.sideNavPanel1.Size = new System.Drawing.Size(300, 494);
this.sideNavPanel1.Size = new System.Drawing.Size(278, 486);
this.sideNavPanel1.TabIndex = 2;
this.sideNavPanel1.Visible = false;
//
// warningBox3
//
@@ -727,6 +1029,7 @@
this.warningBox3.CloseButtonVisible = false;
this.warningBox3.Image = ((System.Drawing.Image)(resources.GetObject("warningBox3.Image")));
this.warningBox3.Location = new System.Drawing.Point(17, 207);
this.warningBox3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.warningBox3.Name = "warningBox3";
this.warningBox3.OptionsButtonVisible = false;
this.warningBox3.Size = new System.Drawing.Size(264, 32);
@@ -868,248 +1171,6 @@
this.btnRunCheck.Text = "Run Check";
this.btnRunCheck.Click += new System.EventHandler(this.btnRunCheck_Click);
//
// sideNavPanel3
//
this.sideNavPanel3.Controls.Add(this.swCheckROLinks);
this.sideNavPanel3.Controls.Add(this.labelX12);
this.sideNavPanel3.Controls.Add(this.warningBox5);
this.sideNavPanel3.Controls.Add(this.line3);
this.sideNavPanel3.Controls.Add(this.swUpdateROVals);
this.sideNavPanel3.Controls.Add(this.swRefreshTrans);
this.sideNavPanel3.Controls.Add(this.labelX11);
this.sideNavPanel3.Controls.Add(this.labelX6);
this.sideNavPanel3.Controls.Add(this.warningBox1);
this.sideNavPanel3.Controls.Add(this.myTV);
this.sideNavPanel3.Controls.Add(this.btnFixLinks);
this.sideNavPanel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel3.Location = new System.Drawing.Point(80, 31);
this.sideNavPanel3.Name = "sideNavPanel3";
this.sideNavPanel3.Size = new System.Drawing.Size(300, 494);
this.sideNavPanel3.TabIndex = 10;
this.sideNavPanel3.Visible = false;
//
// swCheckROLinks
//
//
//
//
this.swCheckROLinks.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swCheckROLinks.Location = new System.Drawing.Point(10, 66);
this.swCheckROLinks.Name = "swCheckROLinks";
this.swCheckROLinks.Size = new System.Drawing.Size(91, 22);
this.swCheckROLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swCheckROLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("swCheckROLinks.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.swCheckROLinks.SwitchClickTogglesValue = true;
this.swCheckROLinks.TabIndex = 33;
this.swCheckROLinks.ValueChanged += new System.EventHandler(this.swCheckROLinks_ValueChanged);
//
// labelX12
//
this.labelX12.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX12.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX12.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX12.Location = new System.Drawing.Point(107, 66);
this.labelX12.Name = "labelX12";
this.labelX12.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX12, new DevComponents.DotNetBar.SuperTooltipInfo("Check RO Links", "", resources.GetString("labelX12.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(350, 175)));
this.labelX12.TabIndex = 32;
this.labelX12.Text = "Check RO Links";
//
// warningBox5
//
this.warningBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox5.CloseButtonVisible = false;
this.warningBox5.Image = ((System.Drawing.Image)(resources.GetObject("warningBox5.Image")));
this.warningBox5.Location = new System.Drawing.Point(17, 145);
this.warningBox5.Name = "warningBox5";
this.warningBox5.OptionsButtonVisible = false;
this.warningBox5.Size = new System.Drawing.Size(262, 32);
this.warningBox5.TabIndex = 31;
this.warningBox5.Text = "<b>NOTE</b> These tools can take a long time to run";
//
// line3
//
this.line3.BackColor = System.Drawing.Color.Transparent;
this.line3.Location = new System.Drawing.Point(6, 127);
this.line3.Name = "line3";
this.line3.Size = new System.Drawing.Size(285, 12);
this.line3.TabIndex = 30;
this.line3.Text = "line3";
//
// swUpdateROVals
//
//
//
//
this.swUpdateROVals.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swUpdateROVals.Location = new System.Drawing.Point(10, 10);
this.swUpdateROVals.Name = "swUpdateROVals";
this.swUpdateROVals.Size = new System.Drawing.Size(91, 22);
this.swUpdateROVals.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swUpdateROVals, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("swUpdateROVals.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.swUpdateROVals.SwitchClickTogglesValue = true;
this.swUpdateROVals.TabIndex = 29;
this.swUpdateROVals.Value = true;
this.swUpdateROVals.ValueObject = "Y";
this.swUpdateROVals.ValueChanged += new System.EventHandler(this.swUpdateROVals_ValueChanged);
//
// swRefreshTrans
//
//
//
//
this.swRefreshTrans.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swRefreshTrans.Location = new System.Drawing.Point(10, 38);
this.swRefreshTrans.Name = "swRefreshTrans";
this.swRefreshTrans.Size = new System.Drawing.Size(91, 22);
this.swRefreshTrans.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swRefreshTrans, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("swRefreshTrans.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(265, 175)));
this.swRefreshTrans.SwitchClickTogglesValue = true;
this.swRefreshTrans.TabIndex = 29;
this.swRefreshTrans.ValueChanged += new System.EventHandler(this.swRefreshTrans_ValueChanged);
//
// labelX11
//
this.labelX11.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX11.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX11.Location = new System.Drawing.Point(107, 10);
this.labelX11.Name = "labelX11";
this.labelX11.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX11, new DevComponents.DotNetBar.SuperTooltipInfo("Update RO Values", "", resources.GetString("labelX11.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(250, 150)));
this.labelX11.TabIndex = 28;
this.labelX11.Text = "Update RO Values";
//
// labelX6
//
this.labelX6.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.labelX6.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.labelX6.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelX6.Location = new System.Drawing.Point(107, 38);
this.labelX6.Name = "labelX6";
this.labelX6.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.labelX6, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Transitions", "", resources.GetString("labelX6.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(256, 175)));
this.labelX6.TabIndex = 28;
this.labelX6.Text = "Refresh Transitions";
//
// warningBox1
//
this.warningBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(219)))), ((int)(((byte)(249)))));
this.warningBox1.CloseButtonVisible = false;
this.warningBox1.Image = ((System.Drawing.Image)(resources.GetObject("warningBox1.Image")));
this.warningBox1.Location = new System.Drawing.Point(17, 181);
this.warningBox1.Name = "warningBox1";
this.warningBox1.OptionsButtonVisible = false;
this.warningBox1.Size = new System.Drawing.Size(262, 43);
this.warningBox1.TabIndex = 7;
this.warningBox1.Text = " Be sure there is a current backup of the \r\n database prior to running these func" +
"tions";
//
// btnFixLinks
//
this.btnFixLinks.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnFixLinks.Checked = true;
this.btnFixLinks.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnFixLinks.Location = new System.Drawing.Point(10, 98);
this.btnFixLinks.Name = "btnFixLinks";
this.btnFixLinks.Size = new System.Drawing.Size(280, 23);
this.btnFixLinks.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btnFixLinks, new DevComponents.DotNetBar.SuperTooltipInfo("Process Links", "", "This will run the selected RO Links or Transitions Links tool.\r\n\r\nClick on the on" +
"/off switches to turn on/off each tool.\r\n\r\nNote that only one of these tools can" +
" be run at a time.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 130)));
this.btnFixLinks.TabIndex = 6;
this.btnFixLinks.Text = "Process Links";
this.btnFixLinks.Click += new System.EventHandler(this.btnFixLinks_Click);
//
// sideNavPanel2
//
this.sideNavPanel2.Controls.Add(this.swRefreshTblsForSrch);
this.sideNavPanel2.Controls.Add(this.lblRefreshTblForSrch);
this.sideNavPanel2.Controls.Add(this.warningBox4);
this.sideNavPanel2.Controls.Add(this.warningBox2);
this.sideNavPanel2.Controls.Add(this.swRmObsoleteROData);
this.sideNavPanel2.Controls.Add(this.swRefreshWordAttmts);
this.sideNavPanel2.Controls.Add(this.swStandardHypenChars);
this.sideNavPanel2.Controls.Add(this.labelX4);
this.sideNavPanel2.Controls.Add(this.labelX5);
this.sideNavPanel2.Controls.Add(this.labelX9);
this.sideNavPanel2.Controls.Add(this.swRmOrphanDataRecs);
this.sideNavPanel2.Controls.Add(this.labelX10);
this.sideNavPanel2.Controls.Add(this.labelX8);
this.sideNavPanel2.Controls.Add(this.line2);
this.sideNavPanel2.Controls.Add(this.btnRunRepair);
this.sideNavPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel2.Location = new System.Drawing.Point(80, 31);
this.sideNavPanel2.Name = "sideNavPanel2";
this.sideNavPanel2.Size = new System.Drawing.Size(300, 494);
this.sideNavPanel2.TabIndex = 6;
this.sideNavPanel2.Visible = false;
//
// swRefreshTblsForSrch
//
//
//
//
this.swRefreshTblsForSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.swRefreshTblsForSrch.Location = new System.Drawing.Point(10, 153);
this.swRefreshTblsForSrch.Name = "swRefreshTblsForSrch";
this.swRefreshTblsForSrch.Size = new System.Drawing.Size(91, 22);
this.swRefreshTblsForSrch.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.swRefreshTblsForSrch, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("swRefreshTblsForSrch.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
this.swRefreshTblsForSrch.SwitchClickTogglesValue = true;
this.swRefreshTblsForSrch.TabIndex = 32;
this.swRefreshTblsForSrch.Value = true;
this.swRefreshTblsForSrch.ValueObject = "Y";
//
// lblRefreshTblForSrch
//
this.lblRefreshTblForSrch.BackColor = System.Drawing.Color.Transparent;
//
//
//
this.lblRefreshTblForSrch.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.lblRefreshTblForSrch.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblRefreshTblForSrch.Location = new System.Drawing.Point(107, 153);
this.lblRefreshTblForSrch.Name = "lblRefreshTblForSrch";
this.lblRefreshTblForSrch.Size = new System.Drawing.Size(186, 22);
this.superTooltip1.SetSuperTooltip(this.lblRefreshTblForSrch, new DevComponents.DotNetBar.SuperTooltipInfo("Refresh Word Attachments", "", resources.GetString("lblRefreshTblForSrch.SuperTooltip"), null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(300, 200)));
this.lblRefreshTblForSrch.TabIndex = 31;
this.lblRefreshTblForSrch.Text = "Refresh Tables For Search";
//
// sideNavPanel4
//
this.sideNavPanel4.Controls.Add(this.btn_ShowUsers);
this.sideNavPanel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.sideNavPanel4.Location = new System.Drawing.Point(81, 31);
this.sideNavPanel4.Name = "sideNavPanel4";
this.sideNavPanel4.Size = new System.Drawing.Size(299, 494);
this.sideNavPanel4.TabIndex = 14;
this.sideNavPanel4.Visible = false;
//
// btn_ShowUsers
//
this.btn_ShowUsers.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btn_ShowUsers.Checked = true;
this.btn_ShowUsers.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btn_ShowUsers.Location = new System.Drawing.Point(57, 37);
this.btn_ShowUsers.Name = "btn_ShowUsers";
this.btn_ShowUsers.Size = new System.Drawing.Size(171, 23);
this.btn_ShowUsers.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.superTooltip1.SetSuperTooltip(this.btn_ShowUsers, new DevComponents.DotNetBar.SuperTooltipInfo("Show Users", "", "This will return all of the users currently with open sessions in the database an" +
"d the details of any items they have checked out.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(200, 80)));
this.btn_ShowUsers.TabIndex = 0;
this.btn_ShowUsers.Text = "Show Users";
this.btn_ShowUsers.Click += new System.EventHandler(this.btn_ShowUsers_Click);
//
// sideNavItem1
//
this.sideNavItem1.IsSystemMenu = true;
@@ -1129,7 +1190,6 @@
//
// sideNavItmCheck
//
this.sideNavItmCheck.Checked = true;
this.sideNavItmCheck.Name = "sideNavItmCheck";
this.sideNavItmCheck.Panel = this.sideNavPanel1;
this.sideNavItmCheck.Symbol = "";
@@ -1146,6 +1206,7 @@
//
// sideNavItmLinks
//
this.sideNavItmLinks.Checked = true;
this.sideNavItmLinks.Name = "sideNavItmLinks";
this.sideNavItmLinks.Panel = this.sideNavPanel3;
this.sideNavItmLinks.Symbol = "";
@@ -1155,11 +1216,25 @@
// sideNavItmUsers
//
this.sideNavItmUsers.Name = "sideNavItmUsers";
this.sideNavItmUsers.Panel = this.sideNavPanel4;
this.sideNavItmUsers.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] {
this.buttonItem1});
this.sideNavItmUsers.Symbol = "";
this.sideNavItmUsers.Text = "Users";
this.sideNavItmUsers.Click += new System.EventHandler(this.sideNavItmUsers_Click);
//
// buttonItem1
//
this.buttonItem1.Name = "buttonItem1";
this.buttonItem1.Text = "buttonItem1";
//
// sideNavItemDelete
//
this.sideNavItemDelete.Name = "sideNavItemDelete";
this.sideNavItemDelete.Panel = this.sideNavPanel4;
this.sideNavItemDelete.Symbol = "";
this.sideNavItemDelete.Text = "Delete";
this.sideNavItemDelete.Click += new System.EventHandler(this.sideNavItemDelete_Click_1);
//
// sideNavItmExit
//
this.sideNavItmExit.Name = "sideNavItmExit";
@@ -1286,11 +1361,10 @@
this.panelEx1.ResumeLayout(false);
this.sideNav1.ResumeLayout(false);
this.sideNav1.PerformLayout();
this.sideNavPanel4.ResumeLayout(false);
this.sideNavPanel3.ResumeLayout(false);
this.sideNavPanel2.ResumeLayout(false);
this.sideNavPanel1.ResumeLayout(false);
this.sideNavPanel3.ResumeLayout(false);
//this.sideNavPanel2.ResumeLayout(false);
this.sideNavPanel4.ResumeLayout(false);
this.panelEx4.ResumeLayout(false);
this.ResumeLayout(false);
@@ -1340,8 +1414,6 @@
private DevComponents.DotNetBar.LabelX labelX8;
private DevComponents.DotNetBar.Controls.Line line2;
private DevComponents.DotNetBar.ButtonX btnRunRepair;
private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel4;
private DevComponents.DotNetBar.ButtonX btn_ShowUsers;
private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel3;
private DevComponents.DotNetBar.ButtonX btnFixLinks;
private DevComponents.DotNetBar.Controls.SideNavItem sideNavItem1;
@@ -1376,5 +1448,14 @@
private DevComponents.DotNetBar.LabelX lblRefreshTblForSrch;
private DevComponents.DotNetBar.Controls.SwitchButton swCheckROLinks;
private DevComponents.DotNetBar.LabelX labelX12;
private DevComponents.DotNetBar.ButtonItem buttonItem1;
private DevComponents.DotNetBar.Controls.SideNavPanel sideNavPanel4;
private DevComponents.DotNetBar.Controls.SwitchButton swDeleteFolder;
private DevComponents.DotNetBar.LabelX labelX13;
private DevComponents.DotNetBar.Controls.SwitchButton swDeleteAnnotations;
private DevComponents.DotNetBar.LabelX labelX14;
private System.Windows.Forms.TreeView myTVdel;
private DevComponents.DotNetBar.ButtonX btnDeleteItems;
private DevComponents.DotNetBar.Controls.SideNavItem sideNavItemDelete;
}
}

View File

@@ -125,6 +125,60 @@ namespace VEPROMS
myTV.SelectedNode.Expand();
this.Cursor = Cursors.Default;
}
private void ResetDelTV()
{
ResetDelTV(false);
}
private void ResetDelTV(bool noProcs)
{
btnFixLinks.Enabled = false;
this.Cursor = Cursors.WaitCursor;
myTVdel.Nodes.Clear();
myDocVersions.Clear();
FolderInfo fi = FolderInfo.GetTop();
if (fi.ChildFolderCount > 0)
{
if (noProcs)
{
LoadBottomLevelFolders(fi, myTVdel);
}
else
{
TreeNode tn = new TreeNode(fi.Name);
tn.Tag = fi;
tn.StateImageIndex = -1; // Hide the checkbox for the root node
LoadChildFolders(fi, tn, noProcs);
myTVdel.Nodes.Add(tn);
}
}
if (myTVdel.SelectedNode != null)
myTVdel.SelectedNode.Expand();
this.Cursor = Cursors.Default;
//btnFixLinks.Enabled = false;
//this.Cursor = Cursors.WaitCursor;
////myTreeNodePath = new List<string>();
//myTVdel.Nodes.Clear();
//myDocVersions.Clear();
//FolderInfo fi = FolderInfo.GetTop();
//TreeNode tn = myTVdel.Nodes.Add(fi.Name );
//tn.Tag = fi;
//if (fi.ChildFolderCount > 0)
//{
// if (noProcs)
// {
// LoadBottomLevelFolders(fi, myTVdel);
// }
// else
// LoadChildFolders(fi, tn, noProcs);
//}
//if (myTVdel.SelectedNode != null)
// myTVdel.SelectedNode.Expand();
//this.Cursor = Cursors.Default;
}
// B2021-060 Higher level folders where being removed from the tree even if there was a child folder that containe a working draft set
private bool LoadChildFolders(FolderInfo fi, TreeNode tn, bool noProcs)
{
@@ -151,6 +205,34 @@ namespace VEPROMS
tn.Remove();
return loadedWorkingDraft;
}
/// <summary>
/// Load only bottom layer of folders into treenode.
/// </summary>
/// <param name="fi"></param>
/// <param name="tn"></param>
private void LoadBottomLevelFolders(FolderInfo fi, TreeView treeView)
{
foreach (FolderInfo fic in fi.SortedChildFolders)
{
if (fic.ChildFolderCount > 0)
{
// Recursively call for child folders
LoadBottomLevelFolders(fic, treeView);
}
else
{
if (fic.Name != "PROMS")
{
// If the folder is a bottom-level folder (no child folders), add it directly to the TreeView
TreeNode tnc = treeView.Nodes.Add(fic.Name);
tnc.Tag = fic;
}
}
}
}
private bool LoadDocVersions(FolderInfo fic, TreeNode tnc, bool noProcs)
{
bool rtnval = false;
@@ -1246,6 +1328,21 @@ namespace VEPROMS
this.Close();
}
// new Admin Tools user interface for deletes
private void sideNavItemDelete_Click(object sender, EventArgs e)
{
}
// new Admin Tools user interface for deletes
private void sideNavItemDelete_Click_1(object sender, EventArgs e)
{
if (swDeleteFolder.Value)
ResetDelTV(true);
else
ResetDelTV(false);
}
#region On/Off Swiches
// C2017-030 new Admin Tools user interface
@@ -1500,5 +1597,107 @@ namespace VEPROMS
}
}
//C2024-005 Delete Annotations, Delete Folders
private void swDeleteAnnotations_ValueChanged(object sender, EventArgs e)
{
swDeleteFolder.Value = !swDeleteAnnotations.Value;
if (swDeleteFolder.Value)
ResetDelTV(true);
else
ResetDelTV(false);
}
private void swDeleteFolder_ValueChanged(object sender, EventArgs e)
{
swDeleteAnnotations.Value = !swDeleteFolder.Value;
if (swDeleteFolder.Value)
ResetDelTV(true);
else
ResetDelTV(false);
}
private void btnDeleteItems_Click(object sender, EventArgs e)
{
//clear
txtResults.Clear();
txtProcess.Clear();
if (swDeleteFolder.Value)
{
//TODO process deletions of folders
txtProcess.AppendText("Deleting Folders...");
//List<ProcedureInfo> pil = new List<ProcedureInfo>();
//foreach (TreeNode tn in myProcedures.Keys)
// if (tn.Checked)
// pil.Add(myProcedures[tn]);
////Load Selected Folders
//Dictionary<int, string> folderData = new Dictionary<int, string>();
//List<DocVersionInfo> dvil = new List<DocVersionInfo>();
//foreach (TreeNode tn in myTVdel.Nodes)
// if (tn.Checked)
// {
// tn.Tag = dvi;
// myDocVersions.Add(tn, dvi);
// }
////foreach (TreeNode tn in myTVdel.Nodes)
////{
//// if (tn.Checked)
//// {
//// var itemInfo = myProcedures[tn];
//// folderData.Add(itemInfo.ItemID, itemInfo.DisplayText);
//// }
////}
//ProcessDelete(dvil);
}
else
{
//TODO process deletions of annotations
txtProcess.AppendText("Deleting Annotations...");
}
}
private void ProcessDelete(List<DocVersionInfo> foldersToDelete)
{
DateTime pStart = DateTime.Now;
txtProcess.AppendText(Environment.NewLine);
txtProcess.AppendText(pStart.ToString("MM/dd/yyyy @ HH:mm"));
txtProcess.AppendText(Environment.NewLine);
foreach (var kvp in foldersToDelete)
{
int itemID = (int)kvp.ItemID;
string folderName = kvp.Name;
// Perform the deletion operation
// Assume DeleteFolderByID is a method that deletes the folder by its ItemID
bool deletionSuccessful = DeleteFolderByID(itemID);
// Update txtProcess with the progress
if (deletionSuccessful)
{
txtProcess.AppendText($"Successfully deleted folder: {folderName} (ID: {itemID})");
}
else
{
txtProcess.AppendText($"Failed to delete folder: {folderName} (ID: {itemID})");
}
txtProcess.AppendText(Environment.NewLine);
}
}
// Example deletion method
private bool DeleteFolderByID(int itemID)
{
// Implement your folder deletion logic here
// Return true if deletion was successful, false otherwise
return true; // Placeholder
}
}
}

View File

@@ -117,75 +117,9 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="warningBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAplJREFUOE+N
k11IU2Ecxv9zouK8CULrzo8SU3QKaSYmOJ2uFL8SK4igEIok6qKUwggySTShC41CRiiGdWNfYBcVWiGl
FqN0lh+UTaekzuWcuu2c9316nSdKLPEHz817/s/zPv9zOPQ/nlVQEGulF3ILPe+8SIHK8eYR5lusLwHy
Oy08RqpXjjfHVCMlsydbGbekg4/r4HmwRbLWUZzyeGNqD5NK1O5lw8L8NQHckgh5SAdXA3UqIxuzZKSj
8ssI8Il9wMQeYDoVfD4HrsdhsNdRgTL2b4yl5Ce1qL+xcQOWxpKxMzwAMVEayIv7IU8XwVnv8+XuEfJV
xtfjMlKZ/CYG3JYJ96wOPj6EoCBfMCkfnJdguSMG89eoVBlfS+tJCpCafa1stgBYzAZbzoFGo0ZIiD84
KwJ350P+UQxHtfr7vUPkp9j+4GqiM1K3FtyVB8h5wlSI4GB/RIQHgjtzwWaywMb1WHwYg7lKOq3YVrlz
jPw8RrWFOUoAJhpwcaNciNDQQMRGB4FNpIMNp4B93A2pXw/7ZbWlufCvFguNdNzzOta7J5S6fP4AdkVq
kKQVAQNJYO8TwHq0kD8kwdkWhZkLdMJrrsonlfu2yszmSsA9Bat1p0XdsTTcvxmJtpowyL1ar/m3PKYM
2MpVgzcySUWTdWRwd+wAXzoo3r5B7CnqDqVg+lW89yuoVARrR/SaANm0F46mUFjOUjYtN9BTaVQYJzPA
RlPB+hNF3XjvP3C9bDuqTm2D9DZuTcCKXN1psJ2ndhGgnpJGciENGyB9zoJk1kMezFonySw0oIf0KVOs
oIO7L3MlYITstVTsrKNHCzXU5aimnvmrZPp5hfrtlWS2X6LBuQoatJWTWQz3C5mEeoS6hNqt5yj7FysJ
zJwL4b/EAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="superTooltip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="swCkObsoleteROData.SuperTooltip" xml:space="preserve">
<value>Referenced Objects databases are associated with a procedure set (such as Working Draft).
RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used.
</value>
</data>
<data name="swHiddenDataLocs.SuperTooltip" xml:space="preserve">
<value>Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both.
When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed.
This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps.
This tool may take an extended period of time to execute.
</value>
</data>
<data name="labelX3.SuperTooltip" xml:space="preserve">
<value>Referenced Objects databases are associated with a procedure set (such as Working Draft).
RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used.
</value>
</data>
<data name="labelX2.SuperTooltip" xml:space="preserve">
<value>Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both.
When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed.
This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps.
This tool may take an extended period of time to execute.
</value>
</data>
<data name="swCkOrphanDataRecs.SuperTooltip" xml:space="preserve">
<value>Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it.
Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database.
This tool may take an extended period of time to execute.
</value>
</data>
<data name="labelX1.SuperTooltip" xml:space="preserve">
<value>Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it.
Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database.
This tool may take an extended period of time to execute.
</value>
</data>
<data name="swCheckROLinks.SuperTooltip" xml:space="preserve">
<value>This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode.
@@ -207,6 +141,7 @@ Be sure a current backup of the database exists prior performing this function.
It is recommended that this be done during off hours.
</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="warningBox5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAplJREFUOE+N
@@ -270,6 +205,106 @@ If more than one procedure is selected, it is recommended that this be performed
oIO7L3MlYITstVTsrKNHCzXU5aimnvmrZPp5hfrtlWS2X6LBuQoatJWTWQz3C5mEeoS6hNqt5yj7FysJ
zJwL4b/EAAAAAElFTkSuQmCC
</value>
</data>
<data name="warningBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAplJREFUOE+N
k11IU2Ecxv9zouK8CULrzo8SU3QKaSYmOJ2uFL8SK4igEIok6qKUwggySTShC41CRiiGdWNfYBcVWiGl
FqN0lh+UTaekzuWcuu2c9316nSdKLPEHz817/s/zPv9zOPQ/nlVQEGulF3ILPe+8SIHK8eYR5lusLwHy
Oy08RqpXjjfHVCMlsydbGbekg4/r4HmwRbLWUZzyeGNqD5NK1O5lw8L8NQHckgh5SAdXA3UqIxuzZKSj
8ssI8Il9wMQeYDoVfD4HrsdhsNdRgTL2b4yl5Ce1qL+xcQOWxpKxMzwAMVEayIv7IU8XwVnv8+XuEfJV
xtfjMlKZ/CYG3JYJ96wOPj6EoCBfMCkfnJdguSMG89eoVBlfS+tJCpCafa1stgBYzAZbzoFGo0ZIiD84
KwJ350P+UQxHtfr7vUPkp9j+4GqiM1K3FtyVB8h5wlSI4GB/RIQHgjtzwWaywMb1WHwYg7lKOq3YVrlz
jPw8RrWFOUoAJhpwcaNciNDQQMRGB4FNpIMNp4B93A2pXw/7ZbWlufCvFguNdNzzOta7J5S6fP4AdkVq
kKQVAQNJYO8TwHq0kD8kwdkWhZkLdMJrrsonlfu2yszmSsA9Bat1p0XdsTTcvxmJtpowyL1ar/m3PKYM
2MpVgzcySUWTdWRwd+wAXzoo3r5B7CnqDqVg+lW89yuoVARrR/SaANm0F46mUFjOUjYtN9BTaVQYJzPA
RlPB+hNF3XjvP3C9bDuqTm2D9DZuTcCKXN1psJ2ndhGgnpJGciENGyB9zoJk1kMezFonySw0oIf0KVOs
oIO7L3MlYITstVTsrKNHCzXU5aimnvmrZPp5hfrtlWS2X6LBuQoatJWTWQz3C5mEeoS6hNqt5yj7FysJ
zJwL4b/EAAAAAElFTkSuQmCC
</value>
</data>
<data name="swCkObsoleteROData.SuperTooltip" xml:space="preserve">
<value>Referenced Objects databases are associated with a procedure set (such as Working Draft).
RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used.
</value>
</data>
<data name="swHiddenDataLocs.SuperTooltip" xml:space="preserve">
<value>Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both.
When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed.
This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps.
This tool may take an extended period of time to execute.
</value>
</data>
<data name="labelX3.SuperTooltip" xml:space="preserve">
<value>Referenced Objects databases are associated with a procedure set (such as Working Draft).
RO paths, ROFST versions, and the contents of RO figures are stored in the database when referenced. This tool will identify stored RO Paths, ROFST versions, and Figures that are no longer used.
</value>
</data>
<data name="labelX2.SuperTooltip" xml:space="preserve">
<value>Typically, a section in PROMS only has sub-sections or steps. When and existing section is divided into sub-sections, the resulting main section might have both.
When this occurs, the step data in the main section can be marked as non-editable. The user can no longer get to these steps and they can become forgotten as PROMS will ignore these non-editable steps when the procedure is printed.
This tool will identify if the database has non-editable steps and provide a listing of these steps. The use can then go to these main sections, make them editable via the property page, and delete or move these steps.
This tool may take an extended period of time to execute.
</value>
</data>
<data name="swCkOrphanDataRecs.SuperTooltip" xml:space="preserve">
<value>Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it.
Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database.
This tool may take an extended period of time to execute.
</value>
</data>
<data name="labelX1.SuperTooltip" xml:space="preserve">
<value>Everything in PROMS is inter-related. A working draft knows what is its first procedure and a procedure knows what is its first step. Likewise, a procedure knows what procedure is before it and after it.
Should an item become orphaned (disconnected) from the rest of the data, it will no longer be accessible. This tool detects any orphaned items in the database.
This tool may take an extended period of time to execute.
</value>
</data>
<data name="swDeleteFolder.SuperTooltip" xml:space="preserve">
<value>This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode.
Bad referenced bject links will be identified with an Bad RO Link annotation. Use the PROMS Search tool to list all of the steps that have this annotation.
Be sure a current backup of the database exists prior performing this function.
It is recommended that this be done during off hours.
</value>
</data>
<data name="labelX13.SuperTooltip" xml:space="preserve">
<value>This allows the user to check referenced objects links in procedure step data for multiple working drafts in a batch mode.
Bad referenced bject links will be identified with an Bad RO Link annotation. Use the PROMS Search tool to list all of the steps that have this annotation.
Be sure a current backup of the database exists prior performing this function.
It is recommended that this be done during off hours.
</value>
</data>
<data name="swDeleteAnnotations.SuperTooltip" xml:space="preserve">
<value>This function will refresh transitions in all procedures selected below, whether they were selected individually or as a group via a procedure set.
Be sure a current backup of the database exists prior to running this function.
If more than one procedure is selected, it is recommended that this be performed during off hours.</value>
</data>
<data name="labelX14.SuperTooltip" xml:space="preserve">
<value>This function will refresh transitions in all procedures selected below, whether they were selected individually or as a group via a procedure set.
Be sure a current backup of the database exists prior to running this function.
If more than one procedure is selected, it is recommended that this be performed during off hours.</value>
</data>
<data name="swRefreshTblsForSrch.SuperTooltip" xml:space="preserve">
<value>When Word attachments are modified and saved, PROMS will create a PDF of the attachment contents and save it in the database. When this is done, all the of the RO references are resolved as well as pagination of the attachment. This speeds up the overall printing of the procedure in that PROMS simply inserts the attachment contents.
@@ -368,6 +403,6 @@ Should an item become orphaned (disconnected) from the rest of the data, it will
</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>38</value>
<value>193</value>
</metadata>
</root>
</root>

View File

@@ -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;
}

View File

@@ -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();

View File

@@ -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);

View File

@@ -2018,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":
@@ -2031,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())
{
@@ -2397,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)
@@ -2432,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;
@@ -2525,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;
@@ -2536,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()