B2019-108 -Disable/enable buttons

Replace special characters
Use word font size when copying table text
Corrected button high click
Corrected button current click
Show special characters while importing
This commit is contained in:
Rich 2019-08-06 20:12:42 +00:00
parent 8471cfb899
commit cd0072e103

View File

@ -1,4 +1,4 @@
using System;  using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
@ -29,15 +29,20 @@ namespace Volian.Controls.Library
txbWordFile.Text = Properties.Settings.Default.ImportWordFilePath; txbWordFile.Text = Properties.Settings.Default.ImportWordFilePath;
disableButtons(); disableButtons();
_initializing = false; _initializing = false;
btnOpen.Enabled = (txbWordFile.Text.Length > 0); // B2019-108 Enable/disable buttons
btnOpen.Enabled = File.Exists(txbWordFile.Text) && _WordApp==null;
} }
private void disableButtons() private void disableButtons()
{ {
btnOpen.Enabled = false; // B2019-108 Enable/disable buttons
btnOpen.Enabled = File.Exists(txbWordFile.Text) && _WordApp == null; ;
btnNext.Enabled = false; btnNext.Enabled = false;
btnPage.Enabled = false; btnPage.Enabled = false;
btnPrev.Enabled = false; btnPrev.Enabled = false;
btnCurrent.Enabled = false;
btnInsertNext.Enabled = false;
btnReplaceNext.Enabled = false;
} }
private void ofd_FileOk(object sender, CancelEventArgs e) private void ofd_FileOk(object sender, CancelEventArgs e)
{ {
@ -66,9 +71,7 @@ namespace Volian.Controls.Library
{ {
btnOpen_Click(sender, e); btnOpen_Click(sender, e);
} }
} }
private void btnOpen_Click(object sender, EventArgs e) private void btnOpen_Click(object sender, EventArgs e)
{ {
if (!File.Exists(txbWordFile.Text)) if (!File.Exists(txbWordFile.Text))
@ -80,11 +83,20 @@ namespace Volian.Controls.Library
_WordApp = new LBApplicationClass(); _WordApp = new LBApplicationClass();
_WordApp.Documents.Open(txbWordFile.Text); _WordApp.Documents.Open(txbWordFile.Text);
_WordApp.Visible = true; _WordApp.Visible = true;
// B2019-108 Enable/disable buttons
EnableButtons();
Properties.Settings.Default.ImportWordFilePath = txbWordFile.Text;
Properties.Settings.Default.Save();
}
private void EnableButtons()
{
btnOpen.Enabled = File.Exists(txbWordFile.Text) && _WordApp == null; ;
btnNext.Enabled = true; btnNext.Enabled = true;
btnPage.Enabled = true; btnPage.Enabled = true;
btnPrev.Enabled = true; btnPrev.Enabled = true;
Properties.Settings.Default.ImportWordFilePath = txbWordFile.Text; btnCurrent.Enabled = true;
Properties.Settings.Default.Save(); btnInsertNext.Enabled = true;
btnReplaceNext.Enabled = true;
} }
private void btnPage_Click(object sender, EventArgs e) private void btnPage_Click(object sender, EventArgs e)
{ {
@ -188,6 +200,8 @@ namespace Volian.Controls.Library
// C2019-021 Generic CopyWordText (Copy Text, Style and Number to fields on form) // C2019-021 Generic CopyWordText (Copy Text, Style and Number to fields on form)
private void CopyWordText() private void CopyWordText()
{ {
// B2019-108 Display Font Size
lblFS.Text = _WordApp.Selection.Font.Size.ToString() + "Pts";
txvStyle.Text = _WordApp.Selection.Style.NameLocal; txvStyle.Text = _WordApp.Selection.Style.NameLocal;
txbLevel.Text = _WordApp.Selection.Style.ListLevelNumber.ToString(); txbLevel.Text = _WordApp.Selection.Style.ListLevelNumber.ToString();
tbxNumber.Text = _WordApp.Selection.Range.ListFormat.ListString; tbxNumber.Text = _WordApp.Selection.Range.ListFormat.ListString;
@ -203,7 +217,21 @@ namespace Volian.Controls.Library
lblTable.Text = "Not Table"; lblTable.Text = "Not Table";
lblTable.FontBold = false; lblTable.FontBold = false;
} }
txbWrdText.Text = ShowText(_WordApp.Selection.Text.TrimEnd("\r\a".ToCharArray())); // B2019-108 Replace Special Characters
string txt = ShowText(_WordApp.Selection.Text.TrimEnd("\r\a".ToCharArray())
.Replace("\x1D", "-")// Hyphen
.Replace("\x1E", "-")// Hyphen
.Replace("\x2013", "-")// Hyphen
.Replace("\xa0", " ")// Space
.Replace("\x0b", " ")// Space Soft Return
.Replace("\x201C", "\"")// Space
.Replace("\x201D", "\"")// Space
.Replace("\x09INITIAL", "")// Space
);
if (txt.Contains("\x09_____")) // Tab Signoff
txt = txt.Substring(0, txt.IndexOf("\x09_____")).TrimEnd(" \x09".ToCharArray());// Trim spaces and Tabs
txbWrdText.Text = txt;
_WordApp.Activate(); _WordApp.Activate();
} }
// C2019-021 RHM 5/15/2019 Added newe methods and properties for Import Word Content // C2019-021 RHM 5/15/2019 Added newe methods and properties for Import Word Content
@ -221,7 +249,8 @@ namespace Volian.Controls.Library
} }
private void txbWordFile_TextChanged(object sender, EventArgs e) private void txbWordFile_TextChanged(object sender, EventArgs e)
{ {
btnOpen.Enabled = !_initializing; // B2019-108 Enable/disable buttons
btnOpen.Enabled = File.Exists(txbWordFile.Text) && _WordApp == null;
} }
private void frmImportWordContents_FormClosing(object sender, FormClosingEventArgs e) private void frmImportWordContents_FormClosing(object sender, FormClosingEventArgs e)
{ {
@ -229,6 +258,8 @@ namespace Volian.Controls.Library
{ {
if (_WordApp != null) if (_WordApp != null)
_WordApp.Quit(); _WordApp.Quit();
// B2019-108 Reset WordApp when closed.
_WordApp = null;
} }
catch catch
{ {
@ -273,6 +304,13 @@ namespace Volian.Controls.Library
VlnFlexGrid vg = MyStepRTB.Parent as VlnFlexGrid; VlnFlexGrid vg = MyStepRTB.Parent as VlnFlexGrid;
vg.StartEditing(); vg.StartEditing();
MyStepRTB.Text = txbWrdText.Text; MyStepRTB.Text = txbWrdText.Text;
// B2019-108 Set font for table cell
if (MyStepRTB.Parent is VlnFlexGrid && lblFS.Text !="FS")
{
Font fs = MyStepRTB.Font;
fs = new Font(fs.FontFamily, float.Parse(lblFS.Text.Replace("Pts", "")), fs.Style);
MyStepRTB.Font = fs;
}
vg[vg.Row, vg.Col] = MyStepRTB.Rtf; vg[vg.Row, vg.Col] = MyStepRTB.Rtf;
vg.FinishEditing(false); vg.FinishEditing(false);
} }
@ -357,8 +395,8 @@ namespace Volian.Controls.Library
{ {
if (MyStepRTB != null) if (MyStepRTB != null)
{ {
EditItem ei = MyStepRTB.Parent as EditItem; EditItem ei = GetEditItem(MyStepRTB);
if (ei.MyItemInfo.IsSection) if (ei != null && ei.MyItemInfo.IsSection)
{ {
ei.AddChild(VEPROMS.CSLA.Library.E_FromType.Step, 20002); ei.AddChild(VEPROMS.CSLA.Library.E_FromType.Step, 20002);
return; return;
@ -374,6 +412,15 @@ namespace Volian.Controls.Library
} }
} }
} }
private EditItem GetEditItem(Control Ctrl)
{
while (Ctrl != null)
{
Ctrl = Ctrl.Parent;
if (Ctrl is EditItem) return Ctrl as EditItem;
}
return null;
}
// C2019-021 New Function Add a new sequential substep // C2019-021 New Function Add a new sequential substep
private void btnSEQ_Click(object sender, EventArgs e) private void btnSEQ_Click(object sender, EventArgs e)
{ {
@ -422,9 +469,18 @@ namespace Volian.Controls.Library
// C2019-021 RHM 5/15/2019 Added new methods and properties for Import Word Content // C2019-021 RHM 5/15/2019 Added new methods and properties for Import Word Content
private void btnCurrent_Click(object sender, EventArgs e) private void btnCurrent_Click(object sender, EventArgs e)
{ {
_WordApp.Selection.MoveUp(LBWdUnits.wdParagraph, 1, 0); // Select paragraph // B2019-108 Corrected curent button code
_WordApp.Selection.MoveDown(LBWdUnits.wdParagraph, 1, 1); // Select paragraph //_WordApp.Selection.MoveUp(LBWdUnits.wdParagraph, 1, 0); // Select paragraph
_WordApp.Selection.MoveEnd(LBWdUnits.wdCharacter, -1); // Exclude the last character //_WordApp.Selection.MoveDown(LBWdUnits.wdParagraph, 1, 1); // Select paragraph
//_WordApp.Selection.MoveEnd(LBWdUnits.wdCharacter, -1); // Exclude the last character
try
{
_WordApp.Selection.Cells[1].Range.Select();
}
catch
{
_WordApp.Selection.Paragraphs[1].Range.Select();
}
try try
{ {
// C2019-021 Use Generic CopyWordText // C2019-021 Use Generic CopyWordText
@ -438,15 +494,53 @@ namespace Volian.Controls.Library
catch catch
{ } { }
} }
private void btnTest_Click(object sender, EventArgs e) //private void btnTest_Click(object sender, EventArgs e)
//{
// if (!MoveToNextCell())
// {
// _WordApp.Selection.MoveDown(LBWdUnits.wdParagraph, 2, 0);
// _WordApp.Selection.MoveDown(LBWdUnits.wdParagraph, 1, 1);
// }
// _WordApp.Activate();
// //int cols = _WordApp.Selection.Tables[1].Columns.Count;
//}
// B2019-108 Show special Characters
private void txbWrdText_TextChanged(object sender, EventArgs e)
{ {
if (!MoveToNextCell()) txbImport.Text = fixText(txbWrdText.Text);
{ }
_WordApp.Selection.MoveDown(LBWdUnits.wdParagraph, 2, 0);
_WordApp.Selection.MoveDown(LBWdUnits.wdParagraph, 1, 1); private string fixText(string txt)
{
StringBuilder sb = new StringBuilder();
foreach (char c in txt)
{
int ic = (int)c;
if (ic < 32 || ic > '\x7F')
{
sb.Append(string.Format("[x{0:x2}]", ic));
//MessageBox.Show(string.Format("[x{0:x2} - {1}]", ic, txt), "Special Character");
}
else
sb.Append(c);
}
return sb.ToString();
}
// B2019-108 Handle WordApp status
private void frmImportWordContents_Activated(object sender, EventArgs e)
{
try
{
if (_WordApp != null || _WordApp.WindowState == LBWdWindowState.wdWindowStateMinimize)
_WordApp.WindowState = LBWdWindowState.wdWindowStateNormal;
}
catch
{
_WordApp=null;
disableButtons();
} }
_WordApp.Activate();
//int cols = _WordApp.Selection.Tables[1].Columns.Count;
} }
} }
} }