|
|
@@ -25,7 +25,6 @@ namespace Volian.Controls.Library
|
|
|
|
public delegate void StepRTBLocationEvent(object sender, StepRTBLocationEventArgs args);
|
|
|
|
public delegate void StepRTBLocationEvent(object sender, StepRTBLocationEventArgs args);
|
|
|
|
public delegate void StepRTBMouseEvent(object sender, MouseEventArgs args);
|
|
|
|
public delegate void StepRTBMouseEvent(object sender, MouseEventArgs args);
|
|
|
|
public delegate void StepRTBRoEvent(object sender, StepRTBRoEventArgs args);
|
|
|
|
public delegate void StepRTBRoEvent(object sender, StepRTBRoEventArgs args);
|
|
|
|
//public delegate void StepRTBMouseWheelEvent(object sender, MouseEventArgs args);
|
|
|
|
|
|
|
|
public partial class StepRTB : RichTextBox // , IStepRTB
|
|
|
|
public partial class StepRTB : RichTextBox // , IStepRTB
|
|
|
|
{
|
|
|
|
{
|
|
|
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
|
|
|
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
|
|
@@ -177,18 +176,6 @@ namespace Volian.Controls.Library
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (CursorMovement != null) CursorMovement(sender, args);
|
|
|
|
if (CursorMovement != null) CursorMovement(sender, args);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//public event StepRTBModeChangeEvent ModeChange;
|
|
|
|
|
|
|
|
//private void OnModeChange(object sender, StepRTBModeChangeEventArgs args)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// //_MyModeChangeEventArgs = args;
|
|
|
|
|
|
|
|
// if (ModeChange != null) ModeChange(sender, args);
|
|
|
|
|
|
|
|
// else MessageBox.Show("StepRTB - no mode change defined");
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//public event StepRTBMouseWheelEvent MouseWheel;
|
|
|
|
|
|
|
|
//private void OnMouseWheel(object sender, MouseEventArgs args)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// if (MouseWheel != null) MouseWheel(sender, args);
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
|
/// This event is not raised during all the in-between changes for link deletions
|
|
|
|
/// This event is not raised during all the in-between changes for link deletions
|
|
|
@@ -292,23 +279,6 @@ namespace Volian.Controls.Library
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// use newer rich text box....
|
|
|
|
|
|
|
|
//[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
|
|
|
|
|
|
|
|
//static extern IntPtr LoadLibrary(string lpFileName);
|
|
|
|
|
|
|
|
//protected override CreateParams CreateParams
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// CreateParams prams = base.CreateParams;
|
|
|
|
|
|
|
|
// if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// //prams.ExStyle |= 0x020; // transparent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// prams.ClassName = "RICHEDIT50W";
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// return prams;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
private E_FieldToEdit _FieldToEdit = E_FieldToEdit.StepText;
|
|
|
|
private E_FieldToEdit _FieldToEdit = E_FieldToEdit.StepText;
|
|
|
|
public E_FieldToEdit FieldToEdit
|
|
|
|
public E_FieldToEdit FieldToEdit
|
|
|
|
{
|
|
|
|
{
|
|
|
@@ -321,14 +291,12 @@ namespace Volian.Controls.Library
|
|
|
|
get
|
|
|
|
get
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//B2020-100 RHM Use SelectionFont rather than the font from the format file.
|
|
|
|
//B2020-100 RHM Use SelectionFont rather than the font from the format file.
|
|
|
|
//if (_RtfPrefix == null)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
StringBuilder selectedRtfSB = new StringBuilder();
|
|
|
|
StringBuilder selectedRtfSB = new StringBuilder();
|
|
|
|
//AddFontTable(selectedRtfSB, FormatFont, FontIsFixed(FormatFont));
|
|
|
|
|
|
|
|
// B2021-100: if SelectionFont is null, use the FormatFont
|
|
|
|
// B2021-100: if SelectionFont is null, use the FormatFont
|
|
|
|
AddFontTable(selectedRtfSB, SelectionFont==null?FormatFont:SelectionFont, FontIsFixed(FormatFont));
|
|
|
|
AddFontTable(selectedRtfSB, SelectionFont==null?FormatFont:SelectionFont, FontIsFixed(FormatFont));
|
|
|
|
_RtfPrefix = selectedRtfSB.ToString();
|
|
|
|
_RtfPrefix = selectedRtfSB.ToString();
|
|
|
|
//}
|
|
|
|
|
|
|
|
return _RtfPrefix + @"\f1\fs" + FormatFont.SizeInPoints * 2 + " ";
|
|
|
|
return _RtfPrefix + @"\f1\fs" + FormatFont.SizeInPoints * 2 + " ";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@@ -375,14 +343,6 @@ namespace Volian.Controls.Library
|
|
|
|
get { if (_MyClassName == string.Empty)_MyClassName = CreateParams.ClassName; return _MyClassName; }
|
|
|
|
get { if (_MyClassName == string.Empty)_MyClassName = CreateParams.ClassName; return _MyClassName; }
|
|
|
|
set { _MyClassName = value; }
|
|
|
|
set { _MyClassName = value; }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//private E_EditPrintMode _epMode = E_EditPrintMode.Edit;
|
|
|
|
|
|
|
|
//public E_EditPrintMode EpMode
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// get { return _epMode; }
|
|
|
|
|
|
|
|
// set {
|
|
|
|
|
|
|
|
// if (value == E_EditPrintMode.Print) Console.WriteLine("");
|
|
|
|
|
|
|
|
// _epMode = value; }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
private E_ViewMode _vwMode = E_ViewMode.Edit;
|
|
|
|
private E_ViewMode _vwMode = E_ViewMode.Edit;
|
|
|
|
public E_ViewMode VwMode
|
|
|
|
public E_ViewMode VwMode
|
|
|
|
{
|
|
|
|
{
|
|
|
@@ -490,16 +450,25 @@ namespace Volian.Controls.Library
|
|
|
|
|
|
|
|
|
|
|
|
ActiveMode = activeMode;
|
|
|
|
ActiveMode = activeMode;
|
|
|
|
OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(true));
|
|
|
|
OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(true));
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 2");
|
|
|
|
|
|
|
|
_InitializingRTB = true;
|
|
|
|
_InitializingRTB = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//C2026-021 Expand Functionality of Viewing Mode
|
|
|
|
|
|
|
|
StepPanel pnl = (Parent as RTBItem)?.MyStepPanel;
|
|
|
|
|
|
|
|
if (pnl?.ApplDisplayMode > 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = pnl.ApplDisplayMode;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
MyItemInfo.MyDocVersion.DocVersionConfig.SelectedSlave = 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
DisplayText vlntxt = new DisplayText(MyItemInfo, E_EditPrintMode.Edit, VwMode, !ActiveMode, FieldToEdit, true,null, null,false);
|
|
|
|
DisplayText vlntxt = new DisplayText(MyItemInfo, E_EditPrintMode.Edit, VwMode, !ActiveMode, FieldToEdit, true,null, null,false);
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 3");
|
|
|
|
if (pnl?.ApplDisplayMode > 0 && MyItemInfo.MyContent.ContentRoUsageCount > 0)
|
|
|
|
//if (_origDisplayText != null && vlntxt.StartText == _origDisplayText.StartText)
|
|
|
|
{
|
|
|
|
//{
|
|
|
|
vlntxt.StartText = RefreshROsWithUnitStartText(vlntxt.StartText, pnl.ApplDisplayMode);
|
|
|
|
// ReadOnly = !(EpMode == E_EditPrintMode.Edit && VwMode == E_ViewMode.Edit);
|
|
|
|
}
|
|
|
|
// if (!ReadOnly && !edit) ReadOnly = true;
|
|
|
|
|
|
|
|
// return;
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
OrigDisplayText = vlntxt;
|
|
|
|
OrigDisplayText = vlntxt;
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 4");
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 4");
|
|
|
|
|
|
|
|
|
|
|
@@ -507,49 +476,37 @@ namespace Volian.Controls.Library
|
|
|
|
//Text = ""; // Initialize text before add text
|
|
|
|
//Text = ""; // Initialize text before add text
|
|
|
|
// IMPORTANT: SetLineSpacing must be set before Links, otherwise it
|
|
|
|
// IMPORTANT: SetLineSpacing must be set before Links, otherwise it
|
|
|
|
// was confusing the 'handle' of the rtf box.
|
|
|
|
// was confusing the 'handle' of the rtf box.
|
|
|
|
//Console.WriteLine("'font',{0}", Font);
|
|
|
|
|
|
|
|
//if(Text == "")SelectionFont = Font; // Initialize SelectionFont
|
|
|
|
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "1");
|
|
|
|
|
|
|
|
if (FieldToEdit == E_FieldToEdit.StepText)
|
|
|
|
if (FieldToEdit == E_FieldToEdit.StepText)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (MyItemInfo != null)
|
|
|
|
if (MyItemInfo != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//if (MyItemInfo.IsStep) Font = MyFontFamily == null ? MyItemInfo.FormatStepData.Font.WindowsFont : new Font(MyFontFamily, MyItemInfo.FormatStepData.Font.WindowsFont.Size, MyItemInfo.FormatStepData.Font.WindowsFont.Style);
|
|
|
|
|
|
|
|
//else Font = Font = MyFontFamily == null ? MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont : new Font(MyFontFamily, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Size, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Style);
|
|
|
|
|
|
|
|
if (MyItemInfo.IsStep)
|
|
|
|
if (MyItemInfo.IsStep)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (MyFontFamily == null)
|
|
|
|
if (MyFontFamily == null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before WindowsFont1");
|
|
|
|
|
|
|
|
System.Drawing.Font fnt = MyItemInfo.FormatStepData.Font.WindowsFont;
|
|
|
|
System.Drawing.Font fnt = MyItemInfo.FormatStepData.Font.WindowsFont;
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After WindowsFont1a");
|
|
|
|
|
|
|
|
Application.DoEvents();
|
|
|
|
Application.DoEvents();
|
|
|
|
if (FontKey(Font) != FontKey(fnt))
|
|
|
|
if (FontKey(Font) != FontKey(fnt))
|
|
|
|
Font = fnt;
|
|
|
|
Font = fnt;
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After WindowsFont1b");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.FormatStepData.Font.WindowsFont.Size, MyItemInfo.FormatStepData.Font.WindowsFont.Style);
|
|
|
|
Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.FormatStepData.Font.WindowsFont.Size, MyItemInfo.FormatStepData.Font.WindowsFont.Style);
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 4");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (MyFontFamily == null)
|
|
|
|
if (MyFontFamily == null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before WindowsFont2");
|
|
|
|
|
|
|
|
Font = MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont;
|
|
|
|
Font = MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont;
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After WindowsFont2");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Size, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Style);
|
|
|
|
Font = VE_Font.GetWinSysFont(MyFontFamily, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Size, MyItemInfo.ActiveFormat.PlantFormat.FormatData.Font.WindowsFont.Style);
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "RefreshDisplay 5");
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
LastRtf = Rtf;
|
|
|
|
LastRtf = Rtf;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "StepRTB.RefreshDisplay Before SetLineSpacing");
|
|
|
|
|
|
|
|
RTBAPI.SetLineSpacing(this, RTBAPI.ParaSpacing.PFS_EXACT);
|
|
|
|
RTBAPI.SetLineSpacing(this, RTBAPI.ParaSpacing.PFS_EXACT);
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "StepRTB.RefreshDisplay After SetLineSpacing");
|
|
|
|
|
|
|
|
bool readOnlyStep = MyItemInfo == null || MyItemInfo.FormatStepData == null ? false : MyItemInfo.FormatStepData.ReadOnly;
|
|
|
|
bool readOnlyStep = MyItemInfo == null || MyItemInfo.FormatStepData == null ? false : MyItemInfo.FormatStepData.ReadOnly;
|
|
|
|
if (!readOnlyStep)
|
|
|
|
if (!readOnlyStep)
|
|
|
|
{
|
|
|
|
{
|
|
|
@@ -557,10 +514,9 @@ namespace Volian.Controls.Library
|
|
|
|
if (IsDerived(sc) && !MyItemInfo.EnhAllowMod()) readOnlyStep = true;
|
|
|
|
if (IsDerived(sc) && !MyItemInfo.EnhAllowMod()) readOnlyStep = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ReadOnly = readOnlyStep || VwMode == E_ViewMode.View || ActiveMode == false;
|
|
|
|
ReadOnly = readOnlyStep || VwMode == E_ViewMode.View || ActiveMode == false;
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before AddRTFText");
|
|
|
|
|
|
|
|
AddRtfText(vlntxt.StartText);
|
|
|
|
AddRtfText(vlntxt.StartText);
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After AddRTFText");
|
|
|
|
|
|
|
|
//AddRtfStyles();
|
|
|
|
|
|
|
|
// set readonly based on initial modes, however, these may change if
|
|
|
|
// set readonly based on initial modes, however, these may change if
|
|
|
|
// user selected view mode.
|
|
|
|
// user selected view mode.
|
|
|
|
ClearUndo();
|
|
|
|
ClearUndo();
|
|
|
@@ -587,10 +543,7 @@ namespace Volian.Controls.Library
|
|
|
|
{
|
|
|
|
{
|
|
|
|
RemoveEventHandlers();
|
|
|
|
RemoveEventHandlers();
|
|
|
|
OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(false));// View Mode
|
|
|
|
OnAdjustTableWidth(this, new StepRTBTableWidthEventArgs(false));// View Mode
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "Before SelectAll");
|
|
|
|
|
|
|
|
SelectAll();
|
|
|
|
SelectAll();
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After SelectAll");
|
|
|
|
|
|
|
|
//if (SelectionHangingIndent !=0) SelectionHangingIndent = 0;
|
|
|
|
|
|
|
|
int indchar = 0;
|
|
|
|
int indchar = 0;
|
|
|
|
string indentToken = MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.IndentToken;
|
|
|
|
string indentToken = MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.IndentToken;
|
|
|
|
if (indentToken == null || indentToken == "0") indentToken = "\x5";
|
|
|
|
if (indentToken == null || indentToken == "0") indentToken = "\x5";
|
|
|
@@ -598,7 +551,6 @@ namespace Volian.Controls.Library
|
|
|
|
// this line of code was moved before the find for the indent so that
|
|
|
|
// this line of code was moved before the find for the indent so that
|
|
|
|
// the window gets resized if the indent changes the height, i.e. more line(s) in window.
|
|
|
|
// the window gets resized if the indent changes the height, i.e. more line(s) in window.
|
|
|
|
AddEventHandlers();
|
|
|
|
AddEventHandlers();
|
|
|
|
//if (MyItemInfo.InList(186722)) Console.WriteLine("here");
|
|
|
|
|
|
|
|
if ((indchar = Find(indentToken, indchar, RichTextBoxFinds.None)) >= 0)
|
|
|
|
if ((indchar = Find(indentToken, indchar, RichTextBoxFinds.None)) >= 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int nindents = 0;
|
|
|
|
int nindents = 0;
|
|
|
@@ -652,10 +604,50 @@ namespace Volian.Controls.Library
|
|
|
|
_InitializingRTB = false;
|
|
|
|
_InitializingRTB = false;
|
|
|
|
|
|
|
|
|
|
|
|
AdjustSizeForContents(!ActiveMode);
|
|
|
|
AdjustSizeForContents(!ActiveMode);
|
|
|
|
//Volian.Base.Library.HWndCounter.GetWindowHandlesForCurrentProcess(this.Handle, "After RefreshDisplay");
|
|
|
|
|
|
|
|
Application.DoEvents();
|
|
|
|
Application.DoEvents();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//C2026-021 Expand Functionality of Viewing Mode
|
|
|
|
|
|
|
|
//regex for finding Referenced object links
|
|
|
|
|
|
|
|
private static Regex regRefObj = new Regex(@"\#Link\:ReferencedObject:([0-9]*) ([0-9a-zA-Z]*) ([0-9]*)", RegexOptions.Singleline);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Replace the Default RO text with Unit Specific RO text
|
|
|
|
|
|
|
|
private string RefreshROsWithUnitStartText(string startText, int unitID)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
ROFSTLookup lookup = MyItemInfo.MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyItemInfo.MyDocVersion);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MatchCollection mc = regRefObj.Matches(startText);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (mc.Count == 0)
|
|
|
|
|
|
|
|
return startText;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
|
|
int lastindex = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach (Match match in mc)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
//get where ther default text for the RO starts
|
|
|
|
|
|
|
|
int indx = startText.LastIndexOf(@"\v <START]\v0", match.Index) + 13;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//get the RO, value will be the unit related value
|
|
|
|
|
|
|
|
ROFSTLookup.rochild roc = lookup.GetRoChild(ROFSTLookup.FormatRoidKey(match.Groups[2].Value, true));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// append before tags up through the <START]\v0
|
|
|
|
|
|
|
|
//note if multiple tags this will also append the end up the previous tags
|
|
|
|
|
|
|
|
sb.Append(startText.Substring(lastindex, indx - lastindex));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//append the unit specific RO value (replacing where the default RO value was)
|
|
|
|
|
|
|
|
sb.Append($@"\cf1 {roc.value}\cf0\v");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lastindex = match.Index;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//append referenced object tag & text after tag
|
|
|
|
|
|
|
|
sb.Append(startText.Substring(lastindex));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return sb.ToString();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private bool IsDerived(StepConfig sc)
|
|
|
|
private bool IsDerived(StepConfig sc)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
foreach (EnhancedDocument ed in sc.MyEnhancedDocuments)
|
|
|
|
foreach (EnhancedDocument ed in sc.MyEnhancedDocuments)
|
|
|
@@ -752,8 +744,6 @@ namespace Volian.Controls.Library
|
|
|
|
protected override void OnMouseWheel(MouseEventArgs e)
|
|
|
|
protected override void OnMouseWheel(MouseEventArgs e)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
OnDoMouseWheel(this, e);
|
|
|
|
OnDoMouseWheel(this, e);
|
|
|
|
//MyRTBItem.MyStepPanel.MouseWheel(e);
|
|
|
|
|
|
|
|
//base.OnMouseWheel(e);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// When a border style is changed, the richtextbox's handle is 'destroyed', so that the handleDestroyed
|
|
|
|
// When a border style is changed, the richtextbox's handle is 'destroyed', so that the handleDestroyed
|
|
|
|
// event is done. This was causing the event handlers to be removed (RemoveEventHandler) so that the
|
|
|
|
// event is done. This was causing the event handlers to be removed (RemoveEventHandler) so that the
|
|
|
@@ -896,10 +886,6 @@ namespace Volian.Controls.Library
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_MouseDown = false;
|
|
|
|
_MouseDown = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//void MyConfig_PropertyChanged(object sender, PropertyChangedEventArgs e)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// SaveConfig();
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
private void StepRTB_Click(object sender, EventArgs e)
|
|
|
|
private void StepRTB_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (ReadOnly) return;
|
|
|
|
if (ReadOnly) return;
|
|
|
@@ -957,44 +943,6 @@ namespace Volian.Controls.Library
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region ApplicationSupport
|
|
|
|
#region ApplicationSupport
|
|
|
|
// Used in StepTabRibbon:
|
|
|
|
|
|
|
|
//public void ToggleEditView(E_ViewMode vwMode)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// OnDoSaveContents(this, new EventArgs()); // SaveText();
|
|
|
|
|
|
|
|
// //ItemInfo tmp = MyItemInfo;
|
|
|
|
|
|
|
|
// //MyItemInfo = null;
|
|
|
|
|
|
|
|
// //ReadOnly = !ReadOnly;
|
|
|
|
|
|
|
|
// //EpMode = ReadOnly ? E_EditPrintMode.Print : E_EditPrintMode.Edit;
|
|
|
|
|
|
|
|
// VwMode = vwMode;
|
|
|
|
|
|
|
|
// ReadOnly = VwMode == E_ViewMode.View;
|
|
|
|
|
|
|
|
// ViewRTB = ReadOnly;
|
|
|
|
|
|
|
|
// Clear();
|
|
|
|
|
|
|
|
// RefreshDisplay(!ViewRTB);
|
|
|
|
|
|
|
|
// //MyItemInfo = tmp;
|
|
|
|
|
|
|
|
// SelectionStart = 0;
|
|
|
|
|
|
|
|
// SelectionLength = 0;
|
|
|
|
|
|
|
|
// //OnModeChange(this, new StepRTBModeChangeEventArgs(ViewRTB?E_ViewMode.View:E_ViewMode.Edit));
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//public string InsertSymbolInRO(string val)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// string retval = val;
|
|
|
|
|
|
|
|
// C2019-043 convert a "->" to the Right Arrow symbol and a "<-" to the Left Arrow Symbol
|
|
|
|
|
|
|
|
// note that at the dash character gets convert to a non-breaking hyphen "\u8209?"
|
|
|
|
|
|
|
|
//if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.UseDashGreaterLessThenForArrowsInROValue)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// retval = retval.Replace("\\u8209?>", GetAddSymbolTextForROs(@"\u8594?")); // Right Arrow
|
|
|
|
|
|
|
|
// retval = retval.Replace("<\\u8209?", GetAddSymbolTextForROs(@"\u8592?")); // Left Arrow
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//// C2022-021 convert a "<=" to a less than or equal symbol, a ">=" to a greather than or equal symbol and +- to a
|
|
|
|
|
|
|
|
//// plus/minus symbol in ROs
|
|
|
|
|
|
|
|
//if (MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertGTELTEPMinROValue)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// retval = retval.Replace("<=", GetAddSymbolTextForROs(@"\u8804?")); // Less than or Equal
|
|
|
|
|
|
|
|
// retval = retval.Replace(">=", GetAddSymbolTextForROs(@"\u8805?")); // Greater than or Equal
|
|
|
|
|
|
|
|
// retval = retval.Replace("+\\u8209?", @"\'b1"); // plus/minus - note - is stored as \u8209 and plus/minus is < 256, i.e. handled differently
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
// return retval;
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
public void InsertRO(string value, string link)
|
|
|
|
public void InsertRO(string value, string link)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// B2023-037: Remove code that saves the unicode characters for <=, >=, +-, <- and -> into the link text. The characters
|
|
|
|
// B2023-037: Remove code that saves the unicode characters for <=, >=, +-, <- and -> into the link text. The characters
|
|
|
@@ -1172,8 +1120,6 @@ namespace Volian.Controls.Library
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//Console.WriteLine("ItemID:{0}", MyItemInfo.ItemID);
|
|
|
|
//Console.WriteLine("ItemID:{0}", MyItemInfo.ItemID);
|
|
|
|
//if(MyItemInfo.ItemID==10256)
|
|
|
|
|
|
|
|
// Volian.Base.Library.vlnStackTrace.ShowStackLocal("ItemID:{0}", MyItemInfo.ItemID.ToString());
|
|
|
|
|
|
|
|
StringBuilder selectedRtfSB = new StringBuilder();
|
|
|
|
StringBuilder selectedRtfSB = new StringBuilder();
|
|
|
|
AddFontTable(selectedRtfSB, FormatFont, FontIsFixed(FormatFont));
|
|
|
|
AddFontTable(selectedRtfSB, FormatFont, FontIsFixed(FormatFont));
|
|
|
|
_RtfPrefix = selectedRtfSB.ToString();
|
|
|
|
_RtfPrefix = selectedRtfSB.ToString();
|
|
|
@@ -1197,27 +1143,12 @@ namespace Volian.Controls.Library
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// B2017-048, B2017-052, B2017-055 ROs sometimes have two start tokens which make them uneditable.
|
|
|
|
// B2017-048, B2017-052, B2017-055 ROs sometimes have two start tokens which make them uneditable.
|
|
|
|
newRtf = newRtf.Replace("<START]<START]", "<START]");
|
|
|
|
newRtf = newRtf.Replace("<START]<START]", "<START]");
|
|
|
|
//Point linkIssues = FindLinkIssues(newRtf);
|
|
|
|
|
|
|
|
//if (linkIssues.X != linkIssues.Y)
|
|
|
|
|
|
|
|
// newRtf = FixBadLinks(newRtf,linkIssues);
|
|
|
|
|
|
|
|
SelectedRtf = _LastRtf = newRtf;
|
|
|
|
SelectedRtf = _LastRtf = newRtf;
|
|
|
|
_lastReadOnly = ReadOnly;
|
|
|
|
_lastReadOnly = ReadOnly;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
FindAllLinks();
|
|
|
|
FindAllLinks();
|
|
|
|
if (txt == "") SelectionFont = FormatFont;
|
|
|
|
if (txt == "") SelectionFont = FormatFont;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//private string FixBadLinks(string newRtf, Point linkIssues)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// Console.WriteLine("Bad Link rtf = Starts={0}, Ends={1}, \"{2}\"", linkIssues.X,linkIssues.Y, newRtf);
|
|
|
|
|
|
|
|
// //Volian.Base.Library.vlnStackTrace.ShowStack();
|
|
|
|
|
|
|
|
// return newRtf;
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//private static Point FindLinkIssues(string rtf)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// MatchCollection mcStart = Regex.Matches(rtf, @"\<START\]");
|
|
|
|
|
|
|
|
// MatchCollection mcEnd = Regex.Matches(rtf, @"\[END\>");
|
|
|
|
|
|
|
|
// return new Point(mcStart.Count, mcEnd.Count);
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
public void SetTableGridCellRTFPrefix(Font myfont)
|
|
|
|
public void SetTableGridCellRTFPrefix(Font myfont)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (_FormatFont == null)
|
|
|
|
if (_FormatFont == null)
|
|
|
@@ -1282,7 +1213,7 @@ namespace Volian.Controls.Library
|
|
|
|
sbbeg.Append(@"\i");
|
|
|
|
sbbeg.Append(@"\i");
|
|
|
|
sbend.Insert(0, @"\i0");
|
|
|
|
sbend.Insert(0, @"\i0");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}"); //}\f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}}";
|
|
|
|
selectedRtfSB.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 " + myFont.FontFamily.Name + @";}");
|
|
|
|
if (!isFixed)
|
|
|
|
if (!isFixed)
|
|
|
|
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // C2017-036 get best available proportional font for symbols - B2025-039 add Blue for Colored Replace Words
|
|
|
|
selectedRtfSB.Append(@"{\f1\fnil\fcharset0 " + Volian.Base.Library.vlnFont.ProportionalSymbolFont + @";}}{\colortbl ;\red255\green0\blue0;\red0\green0\blue255;}"); // C2017-036 get best available proportional font for symbols - B2025-039 add Blue for Colored Replace Words
|
|
|
|
else
|
|
|
|
else
|
|
|
@@ -1291,7 +1222,7 @@ namespace Volian.Controls.Library
|
|
|
|
// use styles to construct rtf commands to insert into next line (where \b, etc is)
|
|
|
|
// use styles to construct rtf commands to insert into next line (where \b, etc is)
|
|
|
|
// B2015-134 Hanging Indent with Hard Returns was not being saved- removed \sl-240\slmult0
|
|
|
|
// B2015-134 Hanging Indent with Hard Returns was not being saved- removed \sl-240\slmult0
|
|
|
|
selectedRtfSB.Append(@"\viewkind4\uc1\pard" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(myFont.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
|
|
|
|
selectedRtfSB.Append(@"\viewkind4\uc1\pard" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(myFont.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
|
|
|
|
//selectedRtfSB.Append(@"\viewkind4\uc1\pard\sl-240\slmult0" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(myFont.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private bool FontIsFixed(Font myFont)
|
|
|
|
private bool FontIsFixed(Font myFont)
|
|
|
@@ -1396,7 +1327,6 @@ namespace Volian.Controls.Library
|
|
|
|
{
|
|
|
|
{
|
|
|
|
string fonttab = FontTable;
|
|
|
|
string fonttab = FontTable;
|
|
|
|
string fontsize = FontSize;
|
|
|
|
string fontsize = FontSize;
|
|
|
|
//if (this.DetectUrls) this.DetectUrls = false;
|
|
|
|
|
|
|
|
if (SelectionLength > 0)HandleDeleteKeyWithSelectedText(new KeyEventArgs(Keys.None), null);
|
|
|
|
if (SelectionLength > 0)HandleDeleteKeyWithSelectedText(new KeyEventArgs(Keys.None), null);
|
|
|
|
int position = SelectionStart;
|
|
|
|
int position = SelectionStart;
|
|
|
|
SelectionLength = 0;
|
|
|
|
SelectionLength = 0;
|
|
|
@@ -1426,7 +1356,6 @@ namespace Volian.Controls.Library
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private void AddLink50(string linkValue, string linkUrl)
|
|
|
|
private void AddLink50(string linkValue, string linkUrl)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//this.DetectUrls = false;
|
|
|
|
|
|
|
|
int position = SelectionStart;
|
|
|
|
int position = SelectionStart;
|
|
|
|
SelectionLength = 0;
|
|
|
|
SelectionLength = 0;
|
|
|
|
SelectedRtf = string.Format(@"{{\rtf\field{{\*\fldinst{{HYPERLINK ""www.volian.com #{0}"" }}}}{{\fldrslt{{\cf2\ul {1}}}}}}}", linkUrl, linkValue);
|
|
|
|
SelectedRtf = string.Format(@"{{\rtf\field{{\*\fldinst{{HYPERLINK ""www.volian.com #{0}"" }}}}{{\fldrslt{{\cf2\ul {1}}}}}}}", linkUrl, linkValue);
|
|
|
@@ -1479,9 +1408,6 @@ namespace Volian.Controls.Library
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Size offset = Size - ClientSize;
|
|
|
|
Size offset = Size - ClientSize;
|
|
|
|
int widthNew = (this is TableCellEditor) ? Width : (ContentsSize.Width + offset.Width + AdjustSize.Width);
|
|
|
|
int widthNew = (this is TableCellEditor) ? Width : (ContentsSize.Width + offset.Width + AdjustSize.Width);
|
|
|
|
//int widthNew = Width;
|
|
|
|
|
|
|
|
//if (!(this is TableCellEditor))
|
|
|
|
|
|
|
|
// widthNew = ContentsSize.Width + offset.Width + AdjustSize.Width;
|
|
|
|
|
|
|
|
int heightNew = ContentsSize.Height + offset.Height + AdjustSize.Height;
|
|
|
|
int heightNew = ContentsSize.Height + offset.Height + AdjustSize.Height;
|
|
|
|
// Don't make the window narrower unless it has text - RHM - 20100107
|
|
|
|
// Don't make the window narrower unless it has text - RHM - 20100107
|
|
|
|
Size szNew = new Size(((Text != "" && adjustWidth) ? widthNew : (widthNew > Width ? widthNew : Width)), heightNew);
|
|
|
|
Size szNew = new Size(((Text != "" && adjustWidth) ? widthNew : (widthNew > Width ? widthNew : Width)), heightNew);
|
|
|
@@ -1619,22 +1545,6 @@ namespace Volian.Controls.Library
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region ColorSupport - Not currently used.
|
|
|
|
#region ColorSupport - Not currently used.
|
|
|
|
//private void SetBackGroundColor(ItemInfo itemInfo)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// string backcolor = null;
|
|
|
|
|
|
|
|
// int type = (int)itemInfo.MyContent.Type;
|
|
|
|
|
|
|
|
// FormatInfo formatinfo = itemInfo.ActiveFormat;
|
|
|
|
|
|
|
|
// if (type == (int)E_FromType.Procedure)
|
|
|
|
|
|
|
|
// backcolor = formatinfo.PlantFormat.FormatData.ProcData.BackColor;
|
|
|
|
|
|
|
|
// else if (type == (int)E_FromType.Section)
|
|
|
|
|
|
|
|
// backcolor = formatinfo.PlantFormat.FormatData.SectData.BackColor;
|
|
|
|
|
|
|
|
// else
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// int typindx = (int)itemInfo.MyContent.Type - 20000; // what to do for other types rather than steps
|
|
|
|
|
|
|
|
// backcolor = formatinfo.PlantFormat.FormatData.StepDataList[typindx].StepLayoutData.BackColor;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// BackColor = Color.FromName(backcolor);
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region EventSupport
|
|
|
|
#region EventSupport
|
|
|
|
#region LinkEvents
|
|
|
|
#region LinkEvents
|
|
|
@@ -1667,8 +1577,6 @@ namespace Volian.Controls.Library
|
|
|
|
#region TextAndContentsEvents
|
|
|
|
#region TextAndContentsEvents
|
|
|
|
void StepRTB_TextChanged(object sender, EventArgs e)
|
|
|
|
void StepRTB_TextChanged(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//if (Rtf.Contains("<START]<START]"))
|
|
|
|
|
|
|
|
// Volian.Base.Library.vlnStackTrace.ShowStackLocal(2, 10, "Start Start ItemID={0}", MyItemInfo.ItemID);
|
|
|
|
|
|
|
|
if (_InitializingRTB || _IsExperimenting) return;
|
|
|
|
if (_InitializingRTB || _IsExperimenting) return;
|
|
|
|
// Was setting _IsDirty to true here, but this was getting called from
|
|
|
|
// Was setting _IsDirty to true here, but this was getting called from
|
|
|
|
// 'dotnetbar' when text was NOT Changed. So _IsDirty was made into
|
|
|
|
// 'dotnetbar' when text was NOT Changed. So _IsDirty was made into
|
|
|
@@ -1704,7 +1612,6 @@ namespace Volian.Controls.Library
|
|
|
|
private void HandleLocalSelectionChange()
|
|
|
|
private void HandleLocalSelectionChange()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (this.MyItemInfo != null && this.MyItemInfo.IsRtfRaw) return; // B2017-023 null reference check for empty workdraft set information dialog
|
|
|
|
if (this.MyItemInfo != null && this.MyItemInfo.IsRtfRaw) return; // B2017-023 null reference check for empty workdraft set information dialog
|
|
|
|
//if (MyRTBItem != null && MyRTBItem.MyStepPanel.SelectedStepRTB != this)
|
|
|
|
|
|
|
|
if (OnIsNotCurrentSelection(this, new EventArgs()))
|
|
|
|
if (OnIsNotCurrentSelection(this, new EventArgs()))
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
@@ -1720,8 +1627,6 @@ namespace Volian.Controls.Library
|
|
|
|
SelectAll();
|
|
|
|
SelectAll();
|
|
|
|
_HandlingCtrlA = false;
|
|
|
|
_HandlingCtrlA = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//HandleOverWrite();
|
|
|
|
|
|
|
|
//vlnStackTrace.ShowStackLocal("HandleSelectionChangeStack", 1, 10);
|
|
|
|
|
|
|
|
bool startingValue = _AdjustingSelection;
|
|
|
|
bool startingValue = _AdjustingSelection;
|
|
|
|
if (_IdentifyingLinks || _ProcessingDelete) return;
|
|
|
|
if (_IdentifyingLinks || _ProcessingDelete) return;
|
|
|
|
// If the cursor is beyond the end of the line then move the cursor back one character
|
|
|
|
// If the cursor is beyond the end of the line then move the cursor back one character
|
|
|
@@ -1831,14 +1736,6 @@ namespace Volian.Controls.Library
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//private void HandleOverWrite()
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// if (!_OverWrite) return;
|
|
|
|
|
|
|
|
// if (SelectionLength > 0) return;
|
|
|
|
|
|
|
|
// if (SelectionStart == TextLength) return;
|
|
|
|
|
|
|
|
// Console.WriteLine("Handle Overwrite, SelectionStart = {0}, SelectionLength = {1}", SelectionStart, SelectionLength);
|
|
|
|
|
|
|
|
// SelectionLength = 1;
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
private bool _CheckSelection = false;
|
|
|
|
private bool _CheckSelection = false;
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region Delete Handlers
|
|
|
|
#region Delete Handlers
|
|
|
@@ -1857,7 +1754,7 @@ namespace Volian.Controls.Library
|
|
|
|
DeleteCurrentSelection(keychars);
|
|
|
|
DeleteCurrentSelection(keychars);
|
|
|
|
e.SuppressKeyPress = true;
|
|
|
|
e.SuppressKeyPress = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case RangeStatus.Before_Between: //myRTB1.SelectedText.EndsWith(@"[END><START]")
|
|
|
|
case RangeStatus.Before_Between:
|
|
|
|
DeleteEndBetweenLinks(keychars);
|
|
|
|
DeleteEndBetweenLinks(keychars);
|
|
|
|
e.SuppressKeyPress = true;
|
|
|
|
e.SuppressKeyPress = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@@ -1927,19 +1824,15 @@ namespace Volian.Controls.Library
|
|
|
|
/// <param name="setSelect"></param>
|
|
|
|
/// <param name="setSelect"></param>
|
|
|
|
private void InsertCharBetweenLinks(LinkLocation ll, char charToAdd, bool setSelect)
|
|
|
|
private void InsertCharBetweenLinks(LinkLocation ll, char charToAdd, bool setSelect)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//_InsertingSpaceBetweenLinks = true;
|
|
|
|
|
|
|
|
DebugPrint("ICBLvvvvvvvvvvvvvvv>>>");
|
|
|
|
DebugPrint("ICBLvvvvvvvvvvvvvvv>>>");
|
|
|
|
Rtf = Rtf.Substring(0, ll.StartRtf) + @"\v0 " + charToAdd.ToString() + @"\v " + Rtf.Substring(ll.StartRtf);
|
|
|
|
Rtf = Rtf.Substring(0, ll.StartRtf) + @"\v0 " + charToAdd.ToString() + @"\v " + Rtf.Substring(ll.StartRtf);
|
|
|
|
//_InsertingSpaceBetweenLinks = false;
|
|
|
|
|
|
|
|
if (setSelect)
|
|
|
|
if (setSelect)
|
|
|
|
SelectionStart = ll.Start - 6; // account for <START] - 1 for the character typed
|
|
|
|
SelectionStart = ll.Start - 6; // account for <START] - 1 for the character typed
|
|
|
|
DebugPrint("ICBL^^^^^^^^^^^^^^^>>>");
|
|
|
|
DebugPrint("ICBL^^^^^^^^^^^^^^^>>>");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private void ExpandSelectionToIncludeStart()
|
|
|
|
private void ExpandSelectionToIncludeStart()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//_AdjustingSelection = true;
|
|
|
|
|
|
|
|
SetSelection(SelectionStart - 7, SelectionLength + 7); // Expand selection to include start
|
|
|
|
SetSelection(SelectionStart - 7, SelectionLength + 7); // Expand selection to include start
|
|
|
|
//_AdjustingSelection = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public string GetSelectionForClipBoard()
|
|
|
|
public string GetSelectionForClipBoard()
|
|
|
|
{
|
|
|
|
{
|
|
|
@@ -1986,7 +1879,6 @@ namespace Volian.Controls.Library
|
|
|
|
{
|
|
|
|
{
|
|
|
|
_SendBackSpace = true;
|
|
|
|
_SendBackSpace = true;
|
|
|
|
RtbSendKeys("{BS}"); // remove X
|
|
|
|
RtbSendKeys("{BS}"); // remove X
|
|
|
|
//this.ClearUndo(); // undo was redisplay 'X' and then deleted text
|
|
|
|
|
|
|
|
Application.DoEvents();
|
|
|
|
Application.DoEvents();
|
|
|
|
DebugSelection("After BS");
|
|
|
|
DebugSelection("After BS");
|
|
|
|
}
|
|
|
|
}
|
|
|
@@ -2005,9 +1897,7 @@ namespace Volian.Controls.Library
|
|
|
|
int slen = SelectionLength + 1 - 7;
|
|
|
|
int slen = SelectionLength + 1 - 7;
|
|
|
|
// This puts a space at the link that starts at the end of the selection
|
|
|
|
// This puts a space at the link that starts at the end of the selection
|
|
|
|
InsertCharBetweenLinks(_RangeEndLink.NextLink);
|
|
|
|
InsertCharBetweenLinks(_RangeEndLink.NextLink);
|
|
|
|
//_AdjustingSelection = true;
|
|
|
|
|
|
|
|
DeleteSelection(sstart, slen, keychars);
|
|
|
|
DeleteSelection(sstart, slen, keychars);
|
|
|
|
//_AdjustingSelection = false;
|
|
|
|
|
|
|
|
_ProcessingKeys--;
|
|
|
|
_ProcessingKeys--;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
private void DeleteStartBetweenLinks(string keychars)
|
|
|
|
private void DeleteStartBetweenLinks(string keychars)
|
|
|
@@ -2016,7 +1906,6 @@ namespace Volian.Controls.Library
|
|
|
|
DebugSelection("DeleteStartBetweenLinks");
|
|
|
|
DebugSelection("DeleteStartBetweenLinks");
|
|
|
|
int slen = SelectionLength + 8;
|
|
|
|
int slen = SelectionLength + 8;
|
|
|
|
int sstart = SelectionStart - 7;
|
|
|
|
int sstart = SelectionStart - 7;
|
|
|
|
//LinkLocation ll = FindBetweenLinks(SelectionStart);
|
|
|
|
|
|
|
|
InsertCharBetweenLinks(_RangeStartLink);
|
|
|
|
InsertCharBetweenLinks(_RangeStartLink);
|
|
|
|
DeleteSelection(sstart, slen, keychars);
|
|
|
|
DeleteSelection(sstart, slen, keychars);
|
|
|
|
_ProcessingKeys--;
|
|
|
|
_ProcessingKeys--;
|
|
|
@@ -2027,7 +1916,6 @@ namespace Volian.Controls.Library
|
|
|
|
DebugSelection("DeleteFromStartOfBox");
|
|
|
|
DebugSelection("DeleteFromStartOfBox");
|
|
|
|
int slen = SelectionLength;
|
|
|
|
int slen = SelectionLength;
|
|
|
|
SetSelection(0, 0);
|
|
|
|
SetSelection(0, 0);
|
|
|
|
//RtbSendKeys(" "); // open for space between links which separates END/START tokens
|
|
|
|
|
|
|
|
SelectedText = " ";
|
|
|
|
SelectedText = " ";
|
|
|
|
DeleteSelection(0, slen + 8, keychars);
|
|
|
|
DeleteSelection(0, slen + 8, keychars);
|
|
|
|
_ProcessingKeys--;
|
|
|
|
_ProcessingKeys--;
|
|
|
@@ -2038,12 +1926,8 @@ namespace Volian.Controls.Library
|
|
|
|
DebugSelection("DeleteFromStartOfBoxEndBetweenLinks");
|
|
|
|
DebugSelection("DeleteFromStartOfBoxEndBetweenLinks");
|
|
|
|
// This puts a space at the link that starts at the end of the selection
|
|
|
|
// This puts a space at the link that starts at the end of the selection
|
|
|
|
int sLen = SelectionStart + SelectionLength - 7 + 2;// -7 for <START] + 2 for the spaces that are added
|
|
|
|
int sLen = SelectionStart + SelectionLength - 7 + 2;// -7 for <START] + 2 for the spaces that are added
|
|
|
|
//LinkLocation ll = FindBetweenLinks(SelectionStart + SelectionLength);
|
|
|
|
|
|
|
|
InsertCharBetweenLinks(_RangeEndLink.NextLink);
|
|
|
|
InsertCharBetweenLinks(_RangeEndLink.NextLink);
|
|
|
|
//RtbSendKeys("{RIGHT} "); // open for space between links which separates END/START tokens
|
|
|
|
|
|
|
|
//int sLen = myRTB1.SelectionStart;
|
|
|
|
|
|
|
|
SetSelection(0, 0);
|
|
|
|
SetSelection(0, 0);
|
|
|
|
//RtbSendKeys(" "); // open for space between links which separates END/START tokens
|
|
|
|
|
|
|
|
SelectedText = " "; // open for space between links which separates END/START tokens
|
|
|
|
SelectedText = " "; // open for space between links which separates END/START tokens
|
|
|
|
DeleteSelection(0, sLen, keychars);
|
|
|
|
DeleteSelection(0, sLen, keychars);
|
|
|
|
_ProcessingKeys--;
|
|
|
|
_ProcessingKeys--;
|
|
|
@@ -2150,7 +2034,7 @@ namespace Volian.Controls.Library
|
|
|
|
srtb.Rtf = this.SelectedRtf.Replace(@"\u8209?", "-");
|
|
|
|
srtb.Rtf = this.SelectedRtf.Replace(@"\u8209?", "-");
|
|
|
|
srtb.Rtf = srtb.Rtf.Replace(@"\u9586?", @"\\");
|
|
|
|
srtb.Rtf = srtb.Rtf.Replace(@"\u9586?", @"\\");
|
|
|
|
string rtnstr = "";
|
|
|
|
string rtnstr = "";
|
|
|
|
string ctxt = srtb.Text;//this.SelectedText;
|
|
|
|
string ctxt = srtb.Text;
|
|
|
|
if (ctxt.EndsWith("<START]"))
|
|
|
|
if (ctxt.EndsWith("<START]"))
|
|
|
|
ctxt = ctxt.Substring(0, ctxt.Length - 7);
|
|
|
|
ctxt = ctxt.Substring(0, ctxt.Length - 7);
|
|
|
|
int idx = 0;
|
|
|
|
int idx = 0;
|
|
|
@@ -2279,7 +2163,6 @@ namespace Volian.Controls.Library
|
|
|
|
if (MyItemInfo != null && MyItemInfo.IsRtfRaw && MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION") && !hasEquation)
|
|
|
|
if (MyItemInfo != null && MyItemInfo.IsRtfRaw && MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION") && !hasEquation)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FlexibleMessageBox.Show("Cannot paste non-equation data into an equation step type.", "Invalid data", MessageBoxButtons.OK);
|
|
|
|
FlexibleMessageBox.Show("Cannot paste non-equation data into an equation step type.", "Invalid data", MessageBoxButtons.OK);
|
|
|
|
//richTextBox1.Dispose();
|
|
|
|
|
|
|
|
e.Handled = true;
|
|
|
|
e.Handled = true;
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
@@ -2287,7 +2170,6 @@ namespace Volian.Controls.Library
|
|
|
|
else if (hasEquation && (MyItemInfo == null || (MyItemInfo != null && !MyItemInfo.IsRtfRaw && !MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION"))))
|
|
|
|
else if (hasEquation && (MyItemInfo == null || (MyItemInfo != null && !MyItemInfo.IsRtfRaw && !MyItemInfo.FormatStepData.Type.ToUpper().Contains("EQUATION"))))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
FlexibleMessageBox.Show("Cannot paste equation data into an non-equation step type.", "Invalid data", MessageBoxButtons.OK);
|
|
|
|
FlexibleMessageBox.Show("Cannot paste equation data into an non-equation step type.", "Invalid data", MessageBoxButtons.OK);
|
|
|
|
//richTextBox1.Dispose();
|
|
|
|
|
|
|
|
e.Handled = true;
|
|
|
|
e.Handled = true;
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
@@ -2546,16 +2428,6 @@ namespace Volian.Controls.Library
|
|
|
|
if (SelectionLength > 0) HandleDeleteKeyWithSelectedText(e, null);
|
|
|
|
if (SelectionLength > 0) HandleDeleteKeyWithSelectedText(e, null);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case Keys.Insert:
|
|
|
|
case Keys.Insert:
|
|
|
|
//_OverWrite = !_OverWrite;
|
|
|
|
|
|
|
|
//if (_OverWrite)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// HandleSelectionChange();
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//else
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// SelectionLength = 0;
|
|
|
|
|
|
|
|
// HandleSelectionChange();
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
// For now, don't allow for toggling between insert/overwrite mode - see
|
|
|
|
// For now, don't allow for toggling between insert/overwrite mode - see
|
|
|
|
// comment on _OverWrite
|
|
|
|
// comment on _OverWrite
|
|
|
|
e.Handled = true;
|
|
|
|
e.Handled = true;
|
|
|
@@ -2572,18 +2444,8 @@ namespace Volian.Controls.Library
|
|
|
|
ItemInfo myCopyStep = (this.Parent.Parent.Parent as StepTabPanel).MyDisplayTabControl.MyCopyStep;
|
|
|
|
ItemInfo myCopyStep = (this.Parent.Parent.Parent as StepTabPanel).MyDisplayTabControl.MyCopyStep;
|
|
|
|
if (myCopyStep != null)
|
|
|
|
if (myCopyStep != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// commented out as part of bug fix B2016-148 to fix the <Shift><F5> not popping up the paste options
|
|
|
|
|
|
|
|
//if (this.MyItemInfo.IsSection && myCopyStep.IsSection)
|
|
|
|
|
|
|
|
// OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
|
|
|
|
|
|
|
//if (this.MyItemInfo.IsStep && myCopyStep.IsStep)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// if ((this.MyItemInfo.IsHigh && myCopyStep.IsHigh) || (!this.MyItemInfo.IsHigh && !myCopyStep.IsHigh))
|
|
|
|
|
|
|
|
// OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
|
|
|
OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//if (!OnCheckClipboard(this, new EventArgs())) return; // check if 'clipboard' contains a step.
|
|
|
|
|
|
|
|
//OnSetMenu(this, new StepRTBMenuEventArgs("StepPaste"));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (!e.Control && !e.Alt)
|
|
|
|
else if (!e.Control && !e.Alt)
|
|
|
|
{
|
|
|
|
{
|
|
|
@@ -2788,7 +2650,6 @@ namespace Volian.Controls.Library
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (Text == "" && Parent != null && Parent is VlnFlexGrid)
|
|
|
|
if (Text == "" && Parent != null && Parent is VlnFlexGrid)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//ShowMyParentsFonts();
|
|
|
|
|
|
|
|
SelectionFont = Parent.Font;
|
|
|
|
SelectionFont = Parent.Font;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// add the character with its font depending on the char....
|
|
|
|
// add the character with its font depending on the char....
|
|
|
@@ -3042,7 +2903,6 @@ namespace Volian.Controls.Library
|
|
|
|
_AdjustingSelection = true;
|
|
|
|
_AdjustingSelection = true;
|
|
|
|
PushSelection();
|
|
|
|
PushSelection();
|
|
|
|
FindLinks();
|
|
|
|
FindLinks();
|
|
|
|
//IdentifyLinks();
|
|
|
|
|
|
|
|
PopSelection();
|
|
|
|
PopSelection();
|
|
|
|
LinkLocation llx = FindLinkLocation();
|
|
|
|
LinkLocation llx = FindLinkLocation();
|
|
|
|
if (_CheckSelection)
|
|
|
|
if (_CheckSelection)
|
|
|
@@ -3257,98 +3117,6 @@ namespace Volian.Controls.Library
|
|
|
|
Select(locStart, locLength);
|
|
|
|
Select(locStart, locLength);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
//#region FontAndStylesSupport
|
|
|
|
|
|
|
|
//private void ToggleFontStyle(FontStyle style, bool att_on)
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// int start = SelectionStart;
|
|
|
|
|
|
|
|
// int len = SelectionLength;
|
|
|
|
|
|
|
|
// System.Drawing.Font currentFont;
|
|
|
|
|
|
|
|
// FontStyle fs;
|
|
|
|
|
|
|
|
// for (int i = 0; i < len; ++i)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// Select(start + i, 1);
|
|
|
|
|
|
|
|
// currentFont = SelectionFont;
|
|
|
|
|
|
|
|
// fs = currentFont.Style;
|
|
|
|
|
|
|
|
// //add or remove style
|
|
|
|
|
|
|
|
// if (!att_on)fs = fs | style;
|
|
|
|
|
|
|
|
// else fs = fs & ~style;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// SelectionFont = new Font(
|
|
|
|
|
|
|
|
// currentFont.FontFamily,
|
|
|
|
|
|
|
|
// currentFont.Size,
|
|
|
|
|
|
|
|
// fs
|
|
|
|
|
|
|
|
// );
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Returns a Font with:
|
|
|
|
|
|
|
|
/// 1) The font applying to the entire selection, if none is the default font.
|
|
|
|
|
|
|
|
/// 2) The font size applying to the entire selection, if none is the size of the default font.
|
|
|
|
|
|
|
|
/// 3) A style containing the attributes that are common to the entire selection, default regular.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
///
|
|
|
|
|
|
|
|
//public Font GetFontDetails()
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// //This method should handle cases that occur when multiple fonts/styles are selected
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// int start = SelectionStart;
|
|
|
|
|
|
|
|
// int len = SelectionLength;
|
|
|
|
|
|
|
|
// int TempStart = 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (len <= 1)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// // Return the selection or default font
|
|
|
|
|
|
|
|
// if (SelectionFont != null)
|
|
|
|
|
|
|
|
// return SelectionFont;
|
|
|
|
|
|
|
|
// else
|
|
|
|
|
|
|
|
// return Font; // should be default from format.
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Step through the selected text one char at a time
|
|
|
|
|
|
|
|
// // after setting defaults from first char
|
|
|
|
|
|
|
|
// _rtbTemp.Rtf = SelectedRtf;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// //Turn everything on so we can turn it off one by one
|
|
|
|
|
|
|
|
// FontStyle replystyle =
|
|
|
|
|
|
|
|
// FontStyle.Bold | FontStyle.Italic | FontStyle.Underline;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Set reply font, size and style to that of first char in selection.
|
|
|
|
|
|
|
|
// _rtbTemp.Select(TempStart, 1);
|
|
|
|
|
|
|
|
// string replyfont = _rtbTemp.SelectionFont.Name;
|
|
|
|
|
|
|
|
// float replyfontsize = _rtbTemp.SelectionFont.Size;
|
|
|
|
|
|
|
|
// replystyle = replystyle & _rtbTemp.SelectionFont.Style;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Search the rest of the selection
|
|
|
|
|
|
|
|
// for (int i = 1; i < len; ++i)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// _rtbTemp.Select(TempStart + i, 1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Check reply for different style
|
|
|
|
|
|
|
|
// replystyle = replystyle & _rtbTemp.SelectionFont.Style;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Check font
|
|
|
|
|
|
|
|
// if (replyfont != _rtbTemp.SelectionFont.FontFamily.Name)
|
|
|
|
|
|
|
|
// replyfont = "";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Check font size
|
|
|
|
|
|
|
|
// if (replyfontsize != _rtbTemp.SelectionFont.Size)
|
|
|
|
|
|
|
|
// replyfontsize = (float)0.0;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Now set font and size if more than one font or font size was selected
|
|
|
|
|
|
|
|
// if (replyfont == "")
|
|
|
|
|
|
|
|
// replyfont = _rtbTemp.Font.FontFamily.Name;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if (replyfontsize == 0.0)
|
|
|
|
|
|
|
|
// replyfontsize = _rtbTemp.Font.Size;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // generate reply font
|
|
|
|
|
|
|
|
// Font reply
|
|
|
|
|
|
|
|
// = new Font(replyfont, replyfontsize, replystyle);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// return reply;
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
//#endregion
|
|
|
|
|
|
|
|
#region EnumsSelectionRange
|
|
|
|
#region EnumsSelectionRange
|
|
|
|
private enum StartStatus : int
|
|
|
|
private enum StartStatus : int
|
|
|
|
{
|
|
|
|
{
|
|
|
@@ -3425,12 +3193,6 @@ namespace Volian.Controls.Library
|
|
|
|
DebugPrint("SelectionStart {0}, SelectionEnd {1}, TextLength {2}",
|
|
|
|
DebugPrint("SelectionStart {0}, SelectionEnd {1}, TextLength {2}",
|
|
|
|
SelectionStart, SelectionStart + SelectionLength,
|
|
|
|
SelectionStart, SelectionStart + SelectionLength,
|
|
|
|
TextLength);
|
|
|
|
TextLength);
|
|
|
|
//if (_RangeStartLink != null)
|
|
|
|
|
|
|
|
// _RangeStartLink.Show("startLink");
|
|
|
|
|
|
|
|
//if (_RangeEndLink != null)
|
|
|
|
|
|
|
|
// _RangeEndLink.Show("endLink");
|
|
|
|
|
|
|
|
//if (foundLink != null)
|
|
|
|
|
|
|
|
// foundLink.Show("foundLink");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (foundLink == null)
|
|
|
|
if (foundLink == null)
|
|
|
|
return RTBRangeStatus = RangeStatus.NoContainedLinks;
|
|
|
|
return RTBRangeStatus = RangeStatus.NoContainedLinks;
|
|
|
@@ -3749,7 +3511,6 @@ namespace Volian.Controls.Library
|
|
|
|
static void tsi_Click(object sender, EventArgs e)
|
|
|
|
static void tsi_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
ToolStripMenuItem tsmi = sender as ToolStripMenuItem;
|
|
|
|
ToolStripMenuItem tsmi = sender as ToolStripMenuItem;
|
|
|
|
//_ContextMenuStepRTB.MyRTBItem.MyStepPanel.MyStepTabPanel.MyStepTabRibbon.OpenContextMenu(tsmi.Owner.Location);
|
|
|
|
|
|
|
|
_ContextMenuStepRTB.OnOpenContextMenu(sender, new StepRTBLocationEventArgs(tsmi.Owner.Location));
|
|
|
|
_ContextMenuStepRTB.OnOpenContextMenu(sender, new StepRTBLocationEventArgs(tsmi.Owner.Location));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// This is our customized Spell Check dialog
|
|
|
|
// This is our customized Spell Check dialog
|
|
|
@@ -4144,63 +3905,6 @@ namespace Volian.Controls.Library
|
|
|
|
if (NextLink != null)
|
|
|
|
if (NextLink != null)
|
|
|
|
Console.WriteLine("LinkLocation: {0}.NextLink {1}", str, NextLink);
|
|
|
|
Console.WriteLine("LinkLocation: {0}.NextLink {1}", str, NextLink);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// #region ClipboardHandler
|
|
|
|
|
|
|
|
// private const int WM_CUT = 0x0300;
|
|
|
|
|
|
|
|
// private const int WM_COPY = 0x0301;
|
|
|
|
|
|
|
|
// private const int WM_PASTE = 0x0302;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// public delegate void ClipboardEventHandler(object sender, ClipboardEventArgs e);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// [Category("Clipboard")]
|
|
|
|
|
|
|
|
// public event ClipboardEventHandler CutText;
|
|
|
|
|
|
|
|
// [Category("Clipboard")]
|
|
|
|
|
|
|
|
// public event ClipboardEventHandler CopiedText;
|
|
|
|
|
|
|
|
// [Category("Clipboard")]
|
|
|
|
|
|
|
|
// public event ClipboardEventHandler PastedText;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// protected override void WndProc(ref Message m)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// if (m.Msg == WM_CUT)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// if (CutText != null)
|
|
|
|
|
|
|
|
// CutText(this, new ClipboardEventArgs(this.SelectedText));
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// else if (m.Msg == WM_COPY)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// if (CopiedText != null)
|
|
|
|
|
|
|
|
// CopiedText(this, new ClipboardEventArgs(this.SelectedText));
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// else if (m.Msg == WM_PASTE)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// if (PastedText != null)
|
|
|
|
|
|
|
|
// PastedText(this, new ClipboardEventArgs(Clipboard.GetText()));
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// base.WndProc(ref m);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//public class ClipboardEventArgs : EventArgs
|
|
|
|
|
|
|
|
//{
|
|
|
|
|
|
|
|
// private string clipboardText;
|
|
|
|
|
|
|
|
// public string ClipboardText
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// get
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// return clipboardText;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// set
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// clipboardText = value;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// public ClipboardEventArgs(string clipboardText)
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// this.clipboardText = clipboardText;
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// #endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|