Added Insert and Replace buttons

Added comments with a link to the sendkeys key commands
Logic to let the Import Word Contents form know which edit item should receive the key strokes
This commit is contained in:
John Jenko 2016-03-15 17:46:46 +00:00
parent bd15160789
commit 77591553c2
4 changed files with 91 additions and 19 deletions

View File

@ -2449,11 +2449,11 @@ namespace Volian.Controls.Library
IsControlChar = false; IsControlChar = false;
} }
} }
private void RtbSendKeys(string keys) public void RtbSendKeys(string keys)
{ {
Focus(); Focus();
SendKeys.Send(keys); // With .Net Framework 3.0 this can be replaced with EditingCommands SendKeys.Send(keys); // list of keys https://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send%28v=vs.80%29.aspx
// http://msdn.microsoft.com/en-us/library/ms771634.aspx // With .Net Framework 3.0 this can be replaced with EditingCommands http://msdn.microsoft.com/en-us/library/ms771634.aspx
} }
public bool PasteRtfAsText(bool PasteNoReturnsSetting) public bool PasteRtfAsText(bool PasteNoReturnsSetting)
{ {

View File

@ -62,6 +62,7 @@ namespace Volian.Controls.Library
MyStepRTB = null; MyStepRTB = null;
//if (rtabChgId.Visible) //if (rtabChgId.Visible)
// txtBxChgId.Text = (this.Parent as StepTabPanel).MyDisplayTabControl.ChgId; // txtBxChgId.Text = (this.Parent as StepTabPanel).MyDisplayTabControl.ChgId;
} }
} }
public void SetChangeId(string chgid, ItemInfo ii) public void SetChangeId(string chgid, ItemInfo ii)
@ -431,6 +432,7 @@ namespace Volian.Controls.Library
set set
{ {
_MyStepRTB = value; _MyStepRTB = value;
if (fiwc != null) fiwc.MyStepRTB = value;
if (value != null) if (value != null)
{ {
//Console.WriteLine(string.Format("StepTabRibbon: In set of MyStepRTB, Selected Text = {0}", MyStepRTB.SelectedText)); //Console.WriteLine(string.Format("StepTabRibbon: In set of MyStepRTB, Selected Text = {0}", MyStepRTB.SelectedText));
@ -3279,10 +3281,12 @@ namespace Volian.Controls.Library
(this.Parent as StepTabPanel).MyDisplayTabControl.ItemsChangeIds.Add(_MyEditItem.MyStepRTB.MyItemInfo.MyProcedure.ItemID, txtBxChgId.Text); (this.Parent as StepTabPanel).MyDisplayTabControl.ItemsChangeIds.Add(_MyEditItem.MyStepRTB.MyItemInfo.MyProcedure.ItemID, txtBxChgId.Text);
} }
private frmImportWordContents fiwc = null;
// open the Import Word Text dialog // open the Import Word Text dialog
private void rbnImpWrd_ItemClick(object sender, EventArgs e) private void rbnImpWrd_ItemClick(object sender, EventArgs e)
{ {
frmImportWordContents fiwc = new frmImportWordContents(); if (fiwc == null) fiwc = new frmImportWordContents();
fiwc.MyStepRTB = this.MyStepRTB;
fiwc.Show(); fiwc.Show();
} }
} }

View File

@ -41,6 +41,8 @@
this.btnPrev = new DevComponents.DotNetBar.ButtonX(); this.btnPrev = new DevComponents.DotNetBar.ButtonX();
this.btnNext = new DevComponents.DotNetBar.ButtonX(); this.btnNext = new DevComponents.DotNetBar.ButtonX();
this.ofd = new System.Windows.Forms.OpenFileDialog(); this.ofd = new System.Windows.Forms.OpenFileDialog();
this.btnNextIns = new DevComponents.DotNetBar.ButtonX();
this.btnNextRpl = new DevComponents.DotNetBar.ButtonX();
this.SuspendLayout(); this.SuspendLayout();
// //
// txbWordFile // txbWordFile
@ -136,13 +138,12 @@
// //
// txbWrdText // txbWrdText
// //
this.txbWrdText.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
// //
// //
// //
this.txbWrdText.Border.Class = "TextBoxBorder"; this.txbWrdText.Border.Class = "TextBoxBorder";
this.txbWrdText.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.txbWrdText.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
this.txbWrdText.Location = new System.Drawing.Point(13, 87); this.txbWrdText.Location = new System.Drawing.Point(13, 84);
this.txbWrdText.Multiline = true; this.txbWrdText.Multiline = true;
this.txbWrdText.Name = "txbWrdText"; this.txbWrdText.Name = "txbWrdText";
this.txbWrdText.PreventEnterBeep = true; this.txbWrdText.PreventEnterBeep = true;
@ -165,12 +166,12 @@
// //
this.btnPage.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnPage.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnPage.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.btnPage.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnPage.Location = new System.Drawing.Point(470, 87); this.btnPage.Location = new System.Drawing.Point(470, 84);
this.btnPage.Name = "btnPage"; this.btnPage.Name = "btnPage";
this.btnPage.Size = new System.Drawing.Size(75, 23); this.btnPage.Size = new System.Drawing.Size(75, 23);
this.btnPage.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnPage.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnPage.TabIndex = 9; this.btnPage.TabIndex = 9;
this.btnPage.Text = "Page"; this.btnPage.Text = "Pa&ge";
this.btnPage.Click += new System.EventHandler(this.btnPage_Click); this.btnPage.Click += new System.EventHandler(this.btnPage_Click);
// //
// btnPrev // btnPrev
@ -182,7 +183,7 @@
this.btnPrev.Size = new System.Drawing.Size(75, 23); this.btnPrev.Size = new System.Drawing.Size(75, 23);
this.btnPrev.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnPrev.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnPrev.TabIndex = 10; this.btnPrev.TabIndex = 10;
this.btnPrev.Text = "Previous"; this.btnPrev.Text = "&Previous";
this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click); this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click);
// //
// btnNext // btnNext
@ -194,7 +195,7 @@
this.btnNext.Size = new System.Drawing.Size(75, 23); this.btnNext.Size = new System.Drawing.Size(75, 23);
this.btnNext.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnNext.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnNext.TabIndex = 11; this.btnNext.TabIndex = 11;
this.btnNext.Text = "Next"; this.btnNext.Text = "&Next";
this.btnNext.Click += new System.EventHandler(this.btnNext_Click); this.btnNext.Click += new System.EventHandler(this.btnNext_Click);
// //
// ofd // ofd
@ -202,11 +203,37 @@
this.ofd.Filter = "Docx Files|*.docx|Doc Files|*.doc|All Files|*.*"; this.ofd.Filter = "Docx Files|*.docx|Doc Files|*.doc|All Files|*.*";
this.ofd.FileOk += new System.ComponentModel.CancelEventHandler(this.ofd_FileOk); this.ofd.FileOk += new System.ComponentModel.CancelEventHandler(this.ofd_FileOk);
// //
// btnNextIns
//
this.btnNextIns.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnNextIns.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnNextIns.Location = new System.Drawing.Point(380, 200);
this.btnNextIns.Name = "btnNextIns";
this.btnNextIns.Size = new System.Drawing.Size(75, 20);
this.btnNextIns.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnNextIns.TabIndex = 12;
this.btnNextIns.Text = "Insert ";
this.btnNextIns.Click += new System.EventHandler(this.btnNextIns_Click);
//
// btnNextRpl
//
this.btnNextRpl.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
this.btnNextRpl.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
this.btnNextRpl.Location = new System.Drawing.Point(380, 174);
this.btnNextRpl.Name = "btnNextRpl";
this.btnNextRpl.Size = new System.Drawing.Size(75, 20);
this.btnNextRpl.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnNextRpl.TabIndex = 13;
this.btnNextRpl.Text = "Replace";
this.btnNextRpl.Click += new System.EventHandler(this.btnNextRpl_Click);
//
// frmImportWordContents // frmImportWordContents
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(557, 183); this.ClientSize = new System.Drawing.Size(556, 226);
this.Controls.Add(this.btnNextRpl);
this.Controls.Add(this.btnNextIns);
this.Controls.Add(this.btnNext); this.Controls.Add(this.btnNext);
this.Controls.Add(this.btnPrev); this.Controls.Add(this.btnPrev);
this.Controls.Add(this.btnPage); this.Controls.Add(this.btnPage);
@ -244,5 +271,7 @@
private DevComponents.DotNetBar.ButtonX btnPrev; private DevComponents.DotNetBar.ButtonX btnPrev;
private DevComponents.DotNetBar.ButtonX btnNext; private DevComponents.DotNetBar.ButtonX btnNext;
private System.Windows.Forms.OpenFileDialog ofd; private System.Windows.Forms.OpenFileDialog ofd;
private DevComponents.DotNetBar.ButtonX btnNextIns;
private DevComponents.DotNetBar.ButtonX btnNextRpl;
} }
} }

View File

@ -14,6 +14,13 @@ namespace Volian.Controls.Library
{ {
LBApplicationClass _WordApp; LBApplicationClass _WordApp;
bool _initializing = false; bool _initializing = false;
private StepRTB _MyStepRTB = null;
public StepRTB MyStepRTB
{
get { return _MyStepRTB; }
set { _MyStepRTB = value; }
}
public frmImportWordContents() public frmImportWordContents()
{ {
_initializing = true; _initializing = true;
@ -91,7 +98,10 @@ namespace Volian.Controls.Library
_WordApp.Selection.MoveUp(LBWdUnits.wdParagraph, 1, 1); _WordApp.Selection.MoveUp(LBWdUnits.wdParagraph, 1, 1);
try try
{ {
int idx = _WordApp.Selection.Text.IndexOfAny("\t".ToCharArray()); //int idx = _WordApp.Selection.Text.IndexOfAny("\t".ToCharArray());
int idx = -1;
if (_WordApp.Selection.Text.EndsWith("\t(\r") || _WordApp.Selection.Text.EndsWith("\t___\r"))
idx = _WordApp.Selection.Text.LastIndexOf("\t");
if (idx > 0) if (idx > 0)
txbWrdText.Text = _WordApp.Selection.Text.Substring(0, idx); txbWrdText.Text = _WordApp.Selection.Text.Substring(0, idx);
else else
@ -113,13 +123,17 @@ namespace Volian.Controls.Library
_WordApp.Selection.MoveDown(LBWdUnits.wdParagraph, 1, 1); _WordApp.Selection.MoveDown(LBWdUnits.wdParagraph, 1, 1);
try try
{ {
int idx = _WordApp.Selection.Text.IndexOfAny("\t".ToCharArray()); //int idx = _WordApp.Selection.Text.IndexOfAny("\t".ToCharArray());
int idx = -1;
if (_WordApp.Selection.Text.EndsWith("\t(\r") || _WordApp.Selection.Text.EndsWith("\t___\r"))
idx = _WordApp.Selection.Text.LastIndexOf("\t");
if (idx > 0) if (idx > 0)
txbWrdText.Text = _WordApp.Selection.Text.Substring(0, idx); txbWrdText.Text = _WordApp.Selection.Text.Substring(0, idx);
else else
txbWrdText.Text = _WordApp.Selection.Text; txbWrdText.Text = _WordApp.Selection.Text;
txbWrdText.Text = txbWrdText.Text.Replace('\xA0', ' '); // replace hard space with regular space txbWrdText.Text = txbWrdText.Text.Replace('\xA0', ' '); // replace hard space with regular space
txbWrdText.Text = txbWrdText.Text.Replace('\x0B', ' '); // replace hard return with regular space txbWrdText.Text = txbWrdText.Text.Replace('\x0B', ' '); // replace hard return with regular space
txbWrdText.Text = txbWrdText.Text.Replace("\t", " "); // replace tabs with 5 regular spaces
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();
@ -128,13 +142,12 @@ namespace Volian.Controls.Library
} }
catch catch
{ } { }
//_WordApp.Selection.Copy();
//string tmp = Clipboard.GetText(TextDataFormat.Html); //string tmp = Clipboard.GetText(TextDataFormat.Html);
//EditItem ei = MyDisplayTabItem.MyStepTabPanel.SelectedEditItem; //if (MyStepRTB != null)
//while (ei.Enabled == false) //{
// ei = ei.MyParentEditItem ?? ei.MyPreviousEditItem; // MyStepRTB.RtbSendKeys("^+i");
//ei.MyStepRTB.Focus(); // MyStepRTB.RtbSendKeys("^v");
//}
} }
private void txbWordFile_TextChanged(object sender, EventArgs e) private void txbWordFile_TextChanged(object sender, EventArgs e)
@ -154,5 +167,31 @@ namespace Volian.Controls.Library
// incase user manually closed word // incase user manually closed word
} }
} }
private void btnNextIns_Click(object sender, EventArgs e)
{
//btnNext_Click(sender, e);
if (MyStepRTB != null)
{
if (MyStepRTB.MyItemInfo.IsSection)
{
MyStepRTB.RtbSendKeys("^{DOWN}"); // down arrow
MyStepRTB.RtbSendKeys("^+b"); // insert previous
}
else
MyStepRTB.RtbSendKeys("^+i"); // insert next (same type and level)
MyStepRTB.RtbSendKeys("^v"); // clipboard paste
}
}
private void btnNextRpl_Click(object sender, EventArgs e)
{
if (MyStepRTB != null)
{
MyStepRTB.RtbSendKeys("^{DOWN}"); // move to next edit window
MyStepRTB.RtbSendKeys("^a"); // select all
MyStepRTB.RtbSendKeys("^v"); // clipboard paste
}
}
} }
} }