This commit is contained in:
parent
6634758e73
commit
22831cc08d
@ -106,6 +106,7 @@ namespace Volian.Controls.Library
|
||||
//
|
||||
this.btnTranCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnTranCancel.AutoSize = true;
|
||||
this.btnTranCancel.CallBasePaintBackground = true;
|
||||
this.btnTranCancel.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnTranCancel.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.btnTranCancel.Location = new System.Drawing.Point(407, 0);
|
||||
@ -122,6 +123,7 @@ namespace Volian.Controls.Library
|
||||
//
|
||||
this.btnTranSave.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnTranSave.AutoSize = true;
|
||||
this.btnTranSave.CallBasePaintBackground = true;
|
||||
this.btnTranSave.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnTranSave.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.btnTranSave.Location = new System.Drawing.Point(0, 0);
|
||||
@ -477,6 +479,7 @@ namespace Volian.Controls.Library
|
||||
// btnTranRangeClear
|
||||
//
|
||||
this.btnTranRangeClear.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnTranRangeClear.CallBasePaintBackground = true;
|
||||
this.btnTranRangeClear.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnTranRangeClear.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.btnTranRangeClear.Location = new System.Drawing.Point(57, 0);
|
||||
@ -491,6 +494,7 @@ namespace Volian.Controls.Library
|
||||
// btnUp1
|
||||
//
|
||||
this.btnUp1.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton;
|
||||
this.btnUp1.CallBasePaintBackground = true;
|
||||
this.btnUp1.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground;
|
||||
this.btnUp1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.btnUp1.Image = global::Volian.Controls.Library.Properties.Resources.GoToParentFolderHS;
|
||||
|
@ -36,6 +36,7 @@ namespace Volian.Controls.Library
|
||||
if (_CurTrans == value) return;
|
||||
_TranFmtIndx = value.TranType;
|
||||
_CurItemFrom = MyRTB.MyItemInfo;
|
||||
btnTranSave.Enabled = btnTranCancel.Enabled = false;
|
||||
}
|
||||
_CurTrans = value;
|
||||
_SavCurItemFrom = _CurItemFrom;
|
||||
@ -111,6 +112,7 @@ namespace Volian.Controls.Library
|
||||
_InitializingTrans = true;
|
||||
if (_RangeNode1 != null || _RangeNode2 != null) ClearRangeTransition();
|
||||
InitControls();
|
||||
btnTranCancel.Enabled = false;
|
||||
_InitializingTrans = false;
|
||||
}
|
||||
private void InitControls()
|
||||
@ -395,30 +397,45 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
private void tvTranFillIn(ItemInfo startitm)
|
||||
{
|
||||
bool nostep = false;
|
||||
tvTran.Nodes.Clear();
|
||||
groupPanelTranstionSteps.Style.BackColor = _OrigGroupPanelSteps;
|
||||
if (startitm == null) return;
|
||||
// if the transition to point is a section or procedure, just return
|
||||
if (startitm.MyContent.Type < 20000) return;
|
||||
if (startitm.MyContent.Type < 20000) nostep = true;
|
||||
|
||||
groupPanelTranstionSteps.Style.BackColor = Color.Cornsilk;
|
||||
// For the tree view, use parent, unless already at HLS. If at HLS, use this level.
|
||||
ItemInfo selitm = startitm;
|
||||
if (_CurTrans == null)
|
||||
if (!nostep)
|
||||
{
|
||||
if (!startitm.IsHigh)
|
||||
if (_CurTrans == null)
|
||||
{
|
||||
startitm = startitm.MyParent;
|
||||
selitm = startitm;
|
||||
if (!startitm.IsHigh)
|
||||
{
|
||||
startitm = startitm.MyParent;
|
||||
selitm = startitm;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
selitm = null;
|
||||
E_TransUI etm = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
|
||||
// no step
|
||||
VETreeNode nost = null;
|
||||
if ((etm & E_TransUI.StepAllowNone) == E_TransUI.StepAllowNone)
|
||||
{
|
||||
VETreeNode tvn = new VETreeNode("No step");
|
||||
tvTran.Nodes.Add(tvn);
|
||||
nost = tvn;
|
||||
}
|
||||
startitm = startitm.FirstSibling;
|
||||
while (startitm != null)
|
||||
{
|
||||
VETreeNode tvn = new VETreeNode(startitm);
|
||||
tvn.Tag = startitm;
|
||||
int active = this.tvTran.Nodes.Add(tvn);
|
||||
if (startitm.ItemID == selitm.ItemID) tvTran.SelectedNode = tvTran.Nodes[active];
|
||||
if (nost == null && startitm.ItemID == selitm.ItemID) tvTran.SelectedNode = tvTran.Nodes[active];
|
||||
startitm = (startitm.NextItemCount > 0 ? startitm.NextItems[0] : null);
|
||||
}
|
||||
tvTran.BeforeExpand += new TreeViewCancelEventHandler(tvTran_BeforeExpand);
|
||||
@ -494,7 +511,7 @@ namespace Volian.Controls.Library
|
||||
|
||||
// Do section combo, in 16-bit system it was types 0, 3, 4, 5
|
||||
if (cbTranSects.Items.Count > 0 &&
|
||||
(((etm & E_TransUI.SectDefault) == E_TransUI.SectDefault) ||
|
||||
( //((etm & E_TransUI.SectDefault) == E_TransUI.SectDefault) ||
|
||||
((etm & E_TransUI.SectMenuAny) == E_TransUI.SectMenuAny) ||
|
||||
((etm & E_TransUI.SectMenuStep) == E_TransUI.SectMenuStep)))
|
||||
{
|
||||
@ -502,8 +519,10 @@ namespace Volian.Controls.Library
|
||||
groupPanelTransitionSect.Style.BackColor = Color.Cornsilk;
|
||||
}
|
||||
else
|
||||
{
|
||||
cbTranSects.Enabled = false;
|
||||
|
||||
}
|
||||
|
||||
// check for range - if no range, then range button/label & step tree selections should be
|
||||
// 'cleared/invisble'.
|
||||
btnTranRangeClear.Visible = _DoingRange;
|
||||
@ -647,12 +666,32 @@ namespace Volian.Controls.Library
|
||||
groupPanelTranFmt.Style.BackColor = (_CurTrans == null && _TranFmtIndx == 0) ? Color.Yellow : Color.Orange;
|
||||
E_TransUI etm = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[_TranFmtIndx].TransUI;
|
||||
_DoingRange = (etm & E_TransUI.StepLast) == E_TransUI.StepLast;
|
||||
// get section selected and if it's a step section, fill in the treeview of steps
|
||||
if (cbTranSects.Items.Count > 0)
|
||||
{
|
||||
ItemInfo secitm = (ItemInfo) cbTranSects.SelectedItem;
|
||||
if (secitm == null || !secitm.IsStepSection)
|
||||
{
|
||||
tvTran.Nodes.Clear();
|
||||
tvTran.Enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
_InitializingTrans = true; // just initializing now, don't set any ranges, etc.
|
||||
tvTranFillIn(secitm.Steps[0]);
|
||||
tvTran.Enabled = true;
|
||||
_InitializingTrans = false;
|
||||
}
|
||||
}
|
||||
SetControlsEnabling();
|
||||
}
|
||||
private void btnUp1_Click(object sender, EventArgs e)
|
||||
{
|
||||
// if StepAllowNone, then use the second node in the tree view.
|
||||
int indx = 0;
|
||||
if (tvTran.Nodes[0].Tag == null) indx = 1;
|
||||
// if at HLS, don't do anything.
|
||||
ItemInfo curitm = (ItemInfo)((VETreeNode)tvTran.Nodes[0]).VEObject;
|
||||
ItemInfo curitm = (ItemInfo)((VETreeNode)tvTran.Nodes[indx]).VEObject;
|
||||
if (curitm.IsHigh) return;
|
||||
tvTranFillIn(curitm);
|
||||
}
|
||||
@ -661,6 +700,7 @@ namespace Volian.Controls.Library
|
||||
VETreeNode tn = ((VETreeNode)e.Node);
|
||||
// true fixes empty expand, but allows for transitions 'way down' in RNO tree. HVJ & PAL wanted to
|
||||
// allow this (12/2/09)
|
||||
tn.ChildrenLoaded = false;
|
||||
tn.LoadChildren(true);
|
||||
}
|
||||
private void cbTranSects_SelectedIndexChanged(object sender, EventArgs e)
|
||||
@ -673,6 +713,10 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
tvTran.Nodes.Clear();
|
||||
tvTran.Enabled = false;
|
||||
// Set Save & Cancel enabling, depending on whether section can be an endpoint.
|
||||
E_TransUI etm = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[_TranFmtIndx].TransUI;
|
||||
bool noStepNeeded = (etm & E_TransUI.StepAllowNone) == E_TransUI.StepAllowNone;
|
||||
SaveCancelEnabling(noStepNeeded, secitm);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -707,18 +751,24 @@ namespace Volian.Controls.Library
|
||||
private void tvTran_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
if (_InitializingTrans) return;
|
||||
E_TransUI etm = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
|
||||
if ((etm & E_TransUI.StepAllowNone) == E_TransUI.StepAllowNone && tvTran.SelectedNode.Tag==null)
|
||||
{
|
||||
btnTranSave.Enabled = true;
|
||||
return;
|
||||
}
|
||||
// check if node is a true end-point, i.e. not a 'part' node. If part node, don't
|
||||
// allow selection.
|
||||
bool allowSave = false;
|
||||
VETreeNode vt = tvTran.SelectedNode as VETreeNode;
|
||||
ItemInfo selii = vt.VEObject as ItemInfo;
|
||||
if (vt != null)
|
||||
{
|
||||
ItemInfo ii = vt.VEObject as ItemInfo;
|
||||
if (ii != null) allowSave = true;
|
||||
if (selii != null) allowSave = true;
|
||||
}
|
||||
if (!_DoingRange)
|
||||
{
|
||||
btnTranSave.Enabled = allowSave;
|
||||
{
|
||||
SaveCancelEnabling(allowSave, selii);
|
||||
return;
|
||||
}
|
||||
if (!allowSave)
|
||||
@ -736,6 +786,7 @@ namespace Volian.Controls.Library
|
||||
_RangeNode2 = null;
|
||||
lblxTranRangeTip.Text = "Select Last Step \r\nfor Range";
|
||||
lblxTranRangeTip.BackColor = Color.LightPink;
|
||||
btnTranSave.Enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -745,11 +796,29 @@ namespace Volian.Controls.Library
|
||||
tvTranRangeHilites(true, _RangeNode1, _RangeNode2);
|
||||
lblxTranRangeTip.Text = "Select First Transition\r\nfor Range";
|
||||
lblxTranRangeTip.BackColor = Color.Yellow;
|
||||
btnTranSave.Enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveCancelEnabling(bool allowSave, ItemInfo selii)
|
||||
{
|
||||
btnTranSave.Enabled = allowSave;
|
||||
if (CurTrans != null)
|
||||
{
|
||||
if (CurTrans.ToID == selii.ItemID) btnTranCancel.Enabled = btnTranSave.Enabled = false;
|
||||
else
|
||||
{
|
||||
btnTranCancel.Enabled = true;
|
||||
btnTranSave.Enabled = allowSave;
|
||||
}
|
||||
}
|
||||
else btnTranSave.Enabled = allowSave;
|
||||
}
|
||||
private void btnTranCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnTranSave.Enabled = false;
|
||||
btnTranCancel.Enabled = false;
|
||||
_CurItemFrom = _SavCurItemFrom;
|
||||
_TranFmtIndx = _SavTranFmtIndx;
|
||||
TransitionFillIn();
|
||||
@ -829,20 +898,22 @@ namespace Volian.Controls.Library
|
||||
else if ((etm & E_TransUI.StepFirst) == E_TransUI.StepFirst)
|
||||
{
|
||||
VETreeNode vtn = (VETreeNode)tvTran.SelectedNode;
|
||||
if (vtn != null)
|
||||
if (vtn != null && vtn.Tag != null)
|
||||
{
|
||||
toItem = (ItemInfo)vtn.VEObject; // is this cast valid?
|
||||
linktxt = string.Format("#Link:Transition:{0} <NewID> {1}", listBoxTranFmt.SelectedIndex, toItem.ItemID);
|
||||
}
|
||||
}
|
||||
// toItem may have been set in the 'Range' selection code above.
|
||||
if (toItem == null && (etm & E_TransUI.SectMenuAny) == E_TransUI.SectMenuAny)
|
||||
{
|
||||
if (tvTran.Enabled == false || toItem.IsAccPages)
|
||||
if (tvTran.Enabled == false || (toItem!=null && toItem.IsAccPages))
|
||||
toItem = (ItemInfo)cbTranSects.SelectedItem;
|
||||
else
|
||||
{
|
||||
VETreeNode vtn = (VETreeNode)tvTran.SelectedNode;
|
||||
toItem = (ItemInfo)vtn.VEObject;
|
||||
if (vtn.Tag == null) toItem = (ItemInfo)cbTranSects.SelectedItem;
|
||||
else toItem = (ItemInfo)vtn.VEObject;
|
||||
}
|
||||
if (toItem==null)
|
||||
{
|
||||
|
@ -844,7 +844,7 @@ namespace Volian.Controls.Library
|
||||
public static void SetLineSpacing(RichTextBox richTextBox, ParaSpacing type)
|
||||
{
|
||||
ParaFormatTwo pft = GetParaFormat(richTextBox);
|
||||
pft.bLineSpacingRule = type; // For now: RTBAPI.ParaSpacing.PFS_EXACT;
|
||||
pft.bLineSpacingRule = type;
|
||||
pft.dwMask = 0;
|
||||
pft.dwMask |= ParaFormatMasks.PFM_LINESPACING;
|
||||
pft.dwMask |= ParaFormatMasks.PFM_SPACEAFTER;
|
||||
@ -871,10 +871,8 @@ namespace Volian.Controls.Library
|
||||
((cft.dwEffects & CharFormatEffects.CFE_UNDERLINE) == CharFormatEffects.CFE_UNDERLINE)) fs |= E_FontStyle.FS_UNDERLINE;
|
||||
if (((cft.dwMask & CharFormatMasks.CFM_ITALIC) == CharFormatMasks.CFM_ITALIC) &&
|
||||
((cft.dwEffects & CharFormatEffects.CFE_ITALIC) == CharFormatEffects.CFE_ITALIC)) fs |= E_FontStyle.FS_ITALIC;
|
||||
if (((cft.dwMask & CharFormatMasks.CFM_SUPERSCRIPT) == CharFormatMasks.CFM_SUPERSCRIPT) &&
|
||||
((cft.dwEffects & CharFormatEffects.CFE_SUPERSCRIPT) == CharFormatEffects.CFE_SUPERSCRIPT)) fs |= E_FontStyle.FS_SUPERSCRIPT;
|
||||
if (((cft.dwMask & CharFormatMasks.CFM_SUBSCRIPT) == CharFormatMasks.CFM_SUBSCRIPT) &&
|
||||
((cft.dwEffects & CharFormatEffects.CFE_SUBSCRIPT) == CharFormatEffects.CFE_SUBSCRIPT)) fs |= E_FontStyle.FS_SUBSCRIPT;
|
||||
if (richTextBox.SelectionCharOffset == -2) fs |= E_FontStyle.FS_SUBSCRIPT;
|
||||
if (richTextBox.SelectionCharOffset == 2) fs |= E_FontStyle.FS_SUPERSCRIPT;
|
||||
return fs;
|
||||
}
|
||||
public static void SetFontStyle(RichTextBox richTextBox, E_FontStyle fs)
|
||||
@ -897,57 +895,35 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
if ((fs & E_FontStyle.FS_SUBSCRIPT) == E_FontStyle.FS_SUBSCRIPT)
|
||||
{
|
||||
cft.dwEffects |= CharFormatEffects.CFE_SUBSCRIPT;
|
||||
cft.dwMask |= CharFormatMasks.CFM_SUBSCRIPT;
|
||||
richTextBox.SelectionCharOffset = -2;
|
||||
}
|
||||
if ((fs & E_FontStyle.FS_SUPERSCRIPT) == E_FontStyle.FS_SUPERSCRIPT)
|
||||
{
|
||||
cft.dwEffects |= RTBAPI.CharFormatEffects.CFE_SUPERSCRIPT;
|
||||
cft.dwMask |= RTBAPI.CharFormatMasks.CFM_SUPERSCRIPT;
|
||||
richTextBox.SelectionCharOffset = 2;
|
||||
}
|
||||
SetCharFormat(richTextBox, RTBSelection.SCF_SELECTION, cft);
|
||||
}
|
||||
public static bool IsSuperScript(RichTextBox richTextBox)
|
||||
{
|
||||
CharFormatTwo cft = GetCharFormat(richTextBox, RTBSelection.SCF_SELECTION);
|
||||
return (((cft.dwMask & CharFormatMasks.CFM_SUPERSCRIPT) == CharFormatMasks.CFM_SUPERSCRIPT) &&
|
||||
((cft.dwEffects & CharFormatEffects.CFE_SUPERSCRIPT) == CharFormatEffects.CFE_SUPERSCRIPT));
|
||||
return (richTextBox.SelectionCharOffset>0);
|
||||
}
|
||||
public static bool IsSubScript(RichTextBox richTextBox)
|
||||
{
|
||||
CharFormatTwo cft = GetCharFormat(richTextBox, RTBSelection.SCF_SELECTION);
|
||||
return (((cft.dwMask & CharFormatMasks.CFM_SUBSCRIPT) == CharFormatMasks.CFM_SUBSCRIPT) &&
|
||||
((cft.dwEffects & CharFormatEffects.CFE_SUBSCRIPT) == CharFormatEffects.CFE_SUBSCRIPT));
|
||||
return (richTextBox.SelectionCharOffset < 0);
|
||||
}
|
||||
public static void ToggleSubscript(bool bSet, RichTextBox richTextBox, RTBSelection selection)
|
||||
{
|
||||
CharFormatTwo cft = GetCharFormat(richTextBox, selection); // RTBSelection.SCF_SELECTION);
|
||||
if (bSet)
|
||||
{
|
||||
cft.dwEffects = CharFormatEffects.CFE_SUBSCRIPT;
|
||||
cft.dwMask = CharFormatMasks.CFM_SUBSCRIPT;
|
||||
}
|
||||
richTextBox.SelectionCharOffset = -2;
|
||||
else
|
||||
{
|
||||
cft.dwEffects = CharFormatEffects.CFE_NONE;
|
||||
cft.dwMask = CharFormatMasks.CFM_SUBSCRIPT;
|
||||
}
|
||||
SetCharFormat(richTextBox, selection, cft);
|
||||
richTextBox.SelectionCharOffset = 0;
|
||||
}
|
||||
public static void ToggleSuperscript(bool bSet, RichTextBox richTextBox, RTBSelection selection)
|
||||
{
|
||||
CharFormatTwo cft = RTBAPI.GetCharFormat(richTextBox, selection); // RTBAPI.RTBSelection.SCF_SELECTION);
|
||||
if (bSet)
|
||||
{
|
||||
cft.dwEffects = RTBAPI.CharFormatEffects.CFE_SUPERSCRIPT;
|
||||
cft.dwMask = RTBAPI.CharFormatMasks.CFM_SUPERSCRIPT;
|
||||
}
|
||||
richTextBox.SelectionCharOffset = 2;
|
||||
else
|
||||
{
|
||||
cft.dwEffects = RTBAPI.CharFormatEffects.CFE_NONE;
|
||||
cft.dwMask = RTBAPI.CharFormatMasks.CFM_SUPERSCRIPT;
|
||||
}
|
||||
SetCharFormat(richTextBox, selection, cft);
|
||||
richTextBox.SelectionCharOffset = 0;
|
||||
}
|
||||
public static bool IsBold(RichTextBox richTextBox)
|
||||
{
|
||||
|
@ -720,7 +720,9 @@ namespace Volian.Controls.Library
|
||||
_SelectedRtfSB.Append(@"{\f1\fnil\fcharset0 VESymbFix;}}{\colortbl ;\red255\green0\blue0;}");
|
||||
_SelectedRtfSB.Append("\r\n");
|
||||
// use styles to construct rtf commands to insert into next line (where \b, etc is)
|
||||
_SelectedRtfSB.Append(@"\viewkind4\uc1\pard\sl-240\slmult0" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(this.Font.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
|
||||
//_SelectedRtfSB.Append(@"\viewkind4\uc1\pard\sl-240\slmult0" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(this.Font.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
|
||||
_SelectedRtfSB.Append(@"\viewkind4\uc1\sb240\slmult0\pard" + sbbeg.ToString() + @"\fs" + Convert.ToInt32(this.Font.SizeInPoints * 2).ToString() + @" "); // \f0\fs" + this.Font.SizeInPoints * 2 + @" " + myDisplayTextElement.Text + @"}";
|
||||
|
||||
}
|
||||
|
||||
private bool FontIsFixed()
|
||||
@ -2344,77 +2346,6 @@ namespace Volian.Controls.Library
|
||||
@"\u9508", // HEX@"\u2524",// Right Tee - 16-bit char: '\xB4'
|
||||
@"\u9532", // HEX@"\u253c" // + Plus - 16-bit char: '\xC5'
|
||||
};
|
||||
public static string Repeat(string str, int count)
|
||||
{
|
||||
StringBuilder lStr = new StringBuilder();
|
||||
for (int i = 0; i < count; i++)
|
||||
lStr.Append(str);
|
||||
return lStr.ToString();
|
||||
}
|
||||
public void OutlineTable(bool withBorder)
|
||||
{
|
||||
if (_MyStepItem != null) // Set the width based upon the contents
|
||||
{
|
||||
int newwidth = (int)_MyStepItem.TableWidth(Font, Text, true);
|
||||
if (_MyStepItem.ItemWidth != newwidth)
|
||||
{
|
||||
_MyStepItem.ItemWidth = newwidth;
|
||||
}
|
||||
}
|
||||
// Determine the number of characters per line
|
||||
int w = MaxCharacterWidth();
|
||||
//Console.WriteLine("'Row','last','Start','w2','w','w3','offset1','offset2'");
|
||||
string horzLine = Repeat(withBorder ? @"\u9472?" : " ", w);
|
||||
// Determine the number of lines
|
||||
int l = Lines.Length;
|
||||
int lastoffset = 0;
|
||||
for (int row = 0; row < Lines.Length; row++)
|
||||
{
|
||||
//string strb4 = Lines[row];
|
||||
//int spaces = w - line.Length;
|
||||
int offset1 = GetFirstCharIndexFromLine(row);
|
||||
if (lastoffset != offset1)
|
||||
{
|
||||
//Console.WriteLine("OFFSET MISMATCH {0},{1}", lastoffset, offset1);
|
||||
offset1 = lastoffset;
|
||||
}
|
||||
Select(offset1, 0);
|
||||
string cleanLine = RemoveLinkComments(Lines[row]);
|
||||
int w2 = Lines[row].Length;
|
||||
int w3 = cleanLine.Length;
|
||||
int offset2 = SelectionStart + w2 + (w - w3) + 1;
|
||||
lastoffset = offset2 + 2;
|
||||
int selStart = SelectionStart;
|
||||
SelectedRtf = RtfPrefix + (withBorder ? @"\u9474?" : " ") + "}";
|
||||
Select(SelectionStart + w2, 0);
|
||||
if (w3 < w)
|
||||
{
|
||||
SelectedText = "".PadRight(w - w3);
|
||||
Select(offset2, 0);
|
||||
}
|
||||
SelectedRtf = RtfPrefix + (withBorder ? @"\u9474?" : " ") + "}";
|
||||
//string strafter = Lines[row];
|
||||
//Console.WriteLine("'{0}'\r\n'{1}'\r\n'{2}'", strb4, strafter,cleanLine);
|
||||
//Console.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7}", row, selStart, SelectionStart, w2, w, w3, offset1, offset2);
|
||||
}
|
||||
// Add the top line
|
||||
//if (_MyStepItem != null)
|
||||
//{
|
||||
// Console.WriteLine("Char[0]={0:X}", (int)(Text[0]));
|
||||
// _MyStepItem.ItemWidth = (int)_MyStepItem.TableWidth(Font, Text.Replace('\u2502','-'), false);
|
||||
//}
|
||||
//Console.WriteLine("After Edges\n{0}\n{1}", Rtf, Text);
|
||||
Select(0, 0);
|
||||
SelectedRtf = RtfPrefix + (withBorder ? @"\u9484?" : " ") + horzLine + (withBorder ? @"\u9488?\par " : @" \par ") + "}";
|
||||
// Add the bottom line
|
||||
Select(TextLength, 0);
|
||||
ContentsResized += new ContentsResizedEventHandler(StepRTB_ContentsResized);
|
||||
SelectedRtf = RtfPrefix + (withBorder ? @"\par\u9492?" : @"\par ") + horzLine + (withBorder ? @"\u9496?" : @" ") + "}";
|
||||
ContentsResized -= new ContentsResizedEventHandler(StepRTB_ContentsResized);
|
||||
//Console.WriteLine("After Top and Bottom\n{0}\n{1}", Rtf, Text);
|
||||
ReplaceLinesInTable(withBorder);
|
||||
|
||||
}
|
||||
private int MaxCharacterWidth()
|
||||
{
|
||||
// loop through lines and get the width in characters
|
||||
|
@ -165,6 +165,7 @@ namespace Volian.Controls.Library
|
||||
_ShowingItem = true;
|
||||
//if (ItemSelected != null)
|
||||
_MyStepPanel.ItemShow();
|
||||
_MyStepPanel.MyStepTabPanel.MyStepTabRibbon.SetUpdRoValBtn(_MyStepPanel.MyStepTabPanel.MyStepTabRibbon.NewerRoFst());
|
||||
_ShowingItem = false;
|
||||
}
|
||||
/// <summary>
|
||||
|
@ -215,6 +215,7 @@ namespace Volian.Controls.Library
|
||||
void btnInsStep_Click(object sender, EventArgs e)
|
||||
{
|
||||
DevComponents.DotNetBar.ButtonItem b = (DevComponents.DotNetBar.ButtonItem)sender;
|
||||
if (b.Tag == null) return;
|
||||
char [] sep = {' '};
|
||||
string[] insdata = b.Tag.ToString().Split(sep);
|
||||
if (insdata.Length != 2) return;
|
||||
@ -502,6 +503,23 @@ namespace Volian.Controls.Library
|
||||
if (sdl != null && sdl.Count > 0)
|
||||
{
|
||||
Char kt = 'A'; // start with letter A for KeyTips
|
||||
// if doing the insert substep button, check for substeps already there and if so must match type.
|
||||
if (btn.Name == "btnInsSubstep")
|
||||
{
|
||||
if (MyItemInfo.Steps != null)
|
||||
{
|
||||
ItemInfo ichld = MyItemInfo.Steps[0];
|
||||
btn.Click += new System.EventHandler(btnInsStep_Click);
|
||||
Volian.Base.Library.vlnStackTrace.ShowStackLocal("btn", 2, 10);
|
||||
btn.Tag = string.Format("{0} {1}", fromtype, ichld.MyContent.Type - 20000);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
btn.Tag = null;
|
||||
btn.Click -= new System.EventHandler(btnInsStep_Click);
|
||||
}
|
||||
}
|
||||
foreach (StepDataRetval sdr in sdl)
|
||||
{
|
||||
bool addit = true;
|
||||
@ -517,6 +535,7 @@ namespace Volian.Controls.Library
|
||||
if (btn.Name == "btnInsHLS" && sd.Type == "RNOType") addit = false;
|
||||
if (btn.Name == "btnInsCaut" && sd.Type.Length>=4 && sd.Type.Substring(0, 4) == "Note") addit = false;
|
||||
if (btn.Name == "btnInsNote" && sd.Type.Length>=7 && sd.Type.Substring(0, 7) == "Caution") addit = false;
|
||||
if (btn.Name == "btnInsSubstep" && MyItemInfo.Steps != null) addit = false;
|
||||
if (addit)
|
||||
{
|
||||
DevComponents.DotNetBar.ButtonItem bi = new DevComponents.DotNetBar.ButtonItem("btn" + sd.Type, sd.Type);
|
||||
@ -578,6 +597,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
}
|
||||
rbnStepParts.Refresh();
|
||||
}
|
||||
#endregion
|
||||
#region Insert Tab
|
||||
@ -838,6 +858,7 @@ namespace Volian.Controls.Library
|
||||
ROFst newrofst = ROFstInfo.UpdateRoFst(roFstInfo.MyRODb, dv.DocVersionAssociations[0], dv, roFstInfo);
|
||||
StepPanelTabDisplayEventArgs args = new StepPanelTabDisplayEventArgs("DisplayROUpdateROFST");
|
||||
MyStepItem.MyStepPanel.OnTabDisplay(sender, args);
|
||||
btnUpdROVal.Enabled = false;
|
||||
}
|
||||
Cursor = Cursors.Default;
|
||||
}
|
||||
@ -846,17 +867,25 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
btnUpdROVal.Enabled = false;
|
||||
if (MyDVI.DocVersionAssociations.Count < 1) return;
|
||||
ROFstInfo roFstInfo = MyDVI.DocVersionAssociations[0].MyROFst;
|
||||
RODbInfo rdi = RODbInfo.Get(roFstInfo.RODbID);
|
||||
|
||||
string rofstPath = rdi.FolderPath + @"\ro.fst";
|
||||
if (!File.Exists(rofstPath)) return;
|
||||
FileInfo fiRofst = new FileInfo(rofstPath);
|
||||
if (roFstInfo.DTS == fiRofst.LastWriteTime) return;
|
||||
if (roFstInfo.DTS > fiRofst.LastWriteTime) return;
|
||||
if (!NewerRoFst()) return;
|
||||
btnUpdROVal.Enabled = true;
|
||||
}
|
||||
|
||||
public bool NewerRoFst()
|
||||
{
|
||||
if (_MyDVI == null) return false;
|
||||
ROFstInfo roFstInfo = _MyDVI.DocVersionAssociations[0].MyROFst;
|
||||
RODbInfo rdi = RODbInfo.Get(roFstInfo.RODbID);
|
||||
string rofstPath = rdi.FolderPath + @"\ro.fst";
|
||||
if (!File.Exists(rofstPath)) return false;
|
||||
FileInfo fiRofst = new FileInfo(rofstPath);
|
||||
if (roFstInfo.DTS == fiRofst.LastWriteTime) return false;
|
||||
if (roFstInfo.DTS > fiRofst.LastWriteTime) return false;
|
||||
return true;
|
||||
}
|
||||
public void SetUpdRoValBtn(bool en)
|
||||
{
|
||||
btnUpdROVal.Enabled = en;
|
||||
}
|
||||
private void btnBookmarks_Click(object sender, EventArgs e)
|
||||
{
|
||||
StepPanelTabDisplayEventArgs args = new StepPanelTabDisplayEventArgs("Bookmarks");
|
||||
|
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user