This commit is contained in:
parent
b9ce843421
commit
7ac571fdd5
@ -125,6 +125,7 @@ namespace Volian.Controls.Library
|
|||||||
if (_MyEditItem != null) _MyEditItem.Leave += new EventHandler(_MyEditItem_Leave);
|
if (_MyEditItem != null) _MyEditItem.Leave += new EventHandler(_MyEditItem_Leave);
|
||||||
//_MyStepRTB.Leave += new EventHandler(_MyStepRTB_Leave);
|
//_MyStepRTB.Leave += new EventHandler(_MyStepRTB_Leave);
|
||||||
_MyStepRTB.LinkChanged += new StepRTBLinkEvent(_MyStepRTB_LinkChanged);
|
_MyStepRTB.LinkChanged += new StepRTBLinkEvent(_MyStepRTB_LinkChanged);
|
||||||
|
if (MyFlexGrid != null) MyFlexGrid.CopyOptionChanged += new VlnFlexGridEvent(MyFlexGrid_CopyOptionChanged);
|
||||||
// Add symbols into the tab ribbon based on format selection. For now, only add symbols once
|
// Add symbols into the tab ribbon based on format selection. For now, only add symbols once
|
||||||
// because all symbols are same!!! If we start defining different symbols in different formats
|
// because all symbols are same!!! If we start defining different symbols in different formats
|
||||||
// this will have to change, i.e. remove the second part of 'if' statement.
|
// this will have to change, i.e. remove the second part of 'if' statement.
|
||||||
@ -163,6 +164,36 @@ namespace Volian.Controls.Library
|
|||||||
_MyEditItem.Leave += new EventHandler(_MyEditItem_Leave);
|
_MyEditItem.Leave += new EventHandler(_MyEditItem_Leave);
|
||||||
//_MyStepRTB.Leave -= new EventHandler(_MyStepRTB_Leave);
|
//_MyStepRTB.Leave -= new EventHandler(_MyStepRTB_Leave);
|
||||||
_MyStepRTB.LinkChanged -= new StepRTBLinkEvent(_MyStepRTB_LinkChanged);
|
_MyStepRTB.LinkChanged -= new StepRTBLinkEvent(_MyStepRTB_LinkChanged);
|
||||||
|
if (MyFlexGrid != null) MyFlexGrid.CopyOptionChanged -= new VlnFlexGridEvent(MyFlexGrid_CopyOptionChanged);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MyFlexGrid_CopyOptionChanged(object sender, EventArgs args)
|
||||||
|
{
|
||||||
|
btnTblDgnPaste.Enabled = true;
|
||||||
|
btnCmGridPaste.Enabled = true;
|
||||||
|
switch (VlnFlexGrid.MyCopyInfo.MyCopyOption)
|
||||||
|
{
|
||||||
|
case GridCopyOption.Row:
|
||||||
|
btnTblDgnPasteRow.Visible = true;
|
||||||
|
btnCmGridPasteRow.Visible = true;
|
||||||
|
btnTblDgnPasteColumn.Visible = false;
|
||||||
|
btnCmGridPasteCol.Visible = false;
|
||||||
|
break;
|
||||||
|
case GridCopyOption.Column:
|
||||||
|
btnTblDgnPasteRow.Visible = false;
|
||||||
|
btnCmGridPasteRow.Visible = false;
|
||||||
|
btnTblDgnPasteColumn.Visible = true;
|
||||||
|
btnCmGridPasteCol.Visible = true;
|
||||||
|
break;
|
||||||
|
case GridCopyOption.Selection:
|
||||||
|
btnTblDgnPasteRow.Visible = false;
|
||||||
|
btnCmGridPasteRow.Visible = false;
|
||||||
|
btnTblDgnPasteColumn.Visible = false;
|
||||||
|
btnCmGridPasteCol.Visible = false;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _MyStepRTB_SelectionChanged(object sender, EventArgs e)
|
void _MyStepRTB_SelectionChanged(object sender, EventArgs e)
|
||||||
@ -1501,23 +1532,23 @@ namespace Volian.Controls.Library
|
|||||||
#region Table Grid Copy/Paste
|
#region Table Grid Copy/Paste
|
||||||
private void btnTblDgnCopyRow_Click(object sender, EventArgs e)
|
private void btnTblDgnCopyRow_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
MyFlexGrid.ClipBoardCopyRow();
|
MyFlexGrid.CopyRow();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnTblDgnCopyColumn_Click(object sender, EventArgs e)
|
private void btnTblDgnCopyColumn_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
MyFlexGrid.ClipBoardCopyColumn();
|
MyFlexGrid.CopyColumn();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnTblDgnCopySelection_Click(object sender, EventArgs e)
|
private void btnTblDgnCopySelection_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
MyFlexGrid.ClipBoardCopySelection();
|
MyFlexGrid.CopyCellSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnTblDgnPasteRowAbove_Click(object sender, EventArgs e)
|
private void btnTblDgnPasteRowAbove_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// create new rows before current position and copy clipboard data
|
// create new rows before current position and copy clipboard data
|
||||||
MyFlexGrid.ClipBoardPasteRows(VlnFlexGrid.enmPastePos.Before);
|
MyFlexGrid.PasteRows(VlnFlexGrid.enmPastePos.Before);
|
||||||
GridItem tmp = MyEditItem as GridItem;
|
GridItem tmp = MyEditItem as GridItem;
|
||||||
if (tmp!=null) tmp.SavePastedCellRoTran();
|
if (tmp!=null) tmp.SavePastedCellRoTran();
|
||||||
}
|
}
|
||||||
@ -1525,7 +1556,7 @@ namespace Volian.Controls.Library
|
|||||||
private void btnTblDgnPasteRowBelow_Click(object sender, EventArgs e)
|
private void btnTblDgnPasteRowBelow_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// create new rows after current position and copy clipboard data
|
// create new rows after current position and copy clipboard data
|
||||||
MyFlexGrid.ClipBoardPasteRows(VlnFlexGrid.enmPastePos.After);
|
MyFlexGrid.PasteRows(VlnFlexGrid.enmPastePos.After);
|
||||||
GridItem tmp = MyEditItem as GridItem;
|
GridItem tmp = MyEditItem as GridItem;
|
||||||
if (tmp != null) tmp.SavePastedCellRoTran();
|
if (tmp != null) tmp.SavePastedCellRoTran();
|
||||||
}
|
}
|
||||||
@ -1533,35 +1564,35 @@ namespace Volian.Controls.Library
|
|||||||
private void btnTblDgnPasteReplaceRow_Click(object sender, EventArgs e)
|
private void btnTblDgnPasteReplaceRow_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// replace rows with current clipboard data starting as current row
|
// replace rows with current clipboard data starting as current row
|
||||||
MyFlexGrid.ClipBoardPasteRows(VlnFlexGrid.enmPastePos.Replace);
|
MyFlexGrid.PasteRows(VlnFlexGrid.enmPastePos.Replace);
|
||||||
GridItem tmp = MyEditItem as GridItem;
|
GridItem tmp = MyEditItem as GridItem;
|
||||||
if (tmp != null) tmp.SavePastedCellRoTran();
|
if (tmp != null) tmp.SavePastedCellRoTran();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnTblDgnPasteColumnLeft_Click(object sender, EventArgs e)
|
private void btnTblDgnPasteColumnLeft_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
MyFlexGrid.ClipBoardPasteColumns(VlnFlexGrid.enmPastePos.Before);
|
MyFlexGrid.PasteColumns(VlnFlexGrid.enmPastePos.Before);
|
||||||
GridItem tmp = MyEditItem as GridItem;
|
GridItem tmp = MyEditItem as GridItem;
|
||||||
if (tmp != null) tmp.SavePastedCellRoTran();
|
if (tmp != null) tmp.SavePastedCellRoTran();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnTblDgnPasteColumnRight_Click(object sender, EventArgs e)
|
private void btnTblDgnPasteColumnRight_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
MyFlexGrid.ClipBoardPasteColumns(VlnFlexGrid.enmPastePos.After);
|
MyFlexGrid.PasteColumns(VlnFlexGrid.enmPastePos.After);
|
||||||
GridItem tmp = MyEditItem as GridItem;
|
GridItem tmp = MyEditItem as GridItem;
|
||||||
if (tmp != null) tmp.SavePastedCellRoTran();
|
if (tmp != null) tmp.SavePastedCellRoTran();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnTblDgnPasteColumnReplace_Click(object sender, EventArgs e)
|
private void btnTblDgnPasteColumnReplace_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
MyFlexGrid.ClipBoardPasteColumns(VlnFlexGrid.enmPastePos.Replace);
|
MyFlexGrid.PasteColumns(VlnFlexGrid.enmPastePos.Replace);
|
||||||
GridItem tmp = MyEditItem as GridItem;
|
GridItem tmp = MyEditItem as GridItem;
|
||||||
if (tmp != null) tmp.SavePastedCellRoTran();
|
if (tmp != null) tmp.SavePastedCellRoTran();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void btnTblDgnPasteIntoSelection_Click(object sender, EventArgs e)
|
private void btnTblDgnPasteIntoSelection_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
MyFlexGrid.ClipBoardPasteIntoSelection();
|
MyFlexGrid.PasteCopiedCells();
|
||||||
GridItem tmp = MyEditItem as GridItem;
|
GridItem tmp = MyEditItem as GridItem;
|
||||||
if (tmp != null) tmp.SavePastedCellRoTran();
|
if (tmp != null) tmp.SavePastedCellRoTran();
|
||||||
}
|
}
|
||||||
@ -1641,20 +1672,6 @@ namespace Volian.Controls.Library
|
|||||||
MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right);
|
MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right);
|
||||||
}
|
}
|
||||||
|
|
||||||
//private void btnTblDgnAlignLeft_Click(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Left);
|
|
||||||
//}
|
|
||||||
|
|
||||||
//private void btnTblDgnAlignCentered_Click(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Center);
|
|
||||||
//}
|
|
||||||
|
|
||||||
//private void btnTblDgnAlignRight_Click(object sender, EventArgs e)
|
|
||||||
//{
|
|
||||||
// MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right);
|
|
||||||
//}
|
|
||||||
#endregion
|
#endregion
|
||||||
#region Table Grid Merge/Split
|
#region Table Grid Merge/Split
|
||||||
private void btnTblDgnSplitCells_ToRows_Click(object sender, EventArgs e)
|
private void btnTblDgnSplitCells_ToRows_Click(object sender, EventArgs e)
|
||||||
@ -1703,7 +1720,8 @@ namespace Volian.Controls.Library
|
|||||||
btnTblDgnInsertColumn.Enabled = enable;
|
btnTblDgnInsertColumn.Enabled = enable;
|
||||||
btnTblDgnInsertRow.Enabled = enable;
|
btnTblDgnInsertRow.Enabled = enable;
|
||||||
btnTblDgnMergeCells.Enabled = enable;
|
btnTblDgnMergeCells.Enabled = enable;
|
||||||
btnTblDgnPaste.Enabled = enable;
|
btnCmGridPaste.Enabled =
|
||||||
|
btnTblDgnPaste.Enabled = ((VlnFlexGrid.MyCopyInfo.MyCopiedFlexGrid != null) && enable);
|
||||||
btnTblDgnSplitCells.Enabled = enable;
|
btnTblDgnSplitCells.Enabled = enable;
|
||||||
}
|
}
|
||||||
public void SetRibbonForGrid()
|
public void SetRibbonForGrid()
|
||||||
|
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
BIN
PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs
generated
Binary file not shown.
@ -257,198 +257,6 @@ When selected, the entire table will turn gray. You can then click and drag the
|
|||||||
7SkYuUaR2F9nvuNLhOn8IQTPmwBcw++QnlMEPmPes+8AUnfuAtVwoQTBB/mMeSk+dS/CWOtCeJspyJgz
|
7SkYuUaR2F9nvuNLhOn8IQTPmwBcw++QnlMEPmPes+8AUnfuAtVwoQTBB/mMeSk+dS/CWOtCeJspyJgz
|
||||||
s7G5BFeYBI22fvQOesnKavvGdaAuVhaTC8JNmVulzMBmd77nek3M9jtudDieJAF42ooTzA0TQiLiIXP3
|
s7G5BFeYBI22fvQOesnKavvGdaAuVhaTC8JNmVulzMBmd77nek3M9jtudDieJAF42ooTzA0TQiLiIXP3
|
||||||
NkJmp82emes210oSzPdQDjHTZjf8S/MC/vYCZ//7AfBonUoF0toVAAAAAElFTkSuQmCC
|
NkJmp82emes210oSzPdQDjHTZjf8S/MC/vYCZ//7AfBonUoF0toVAAAAAElFTkSuQmCC
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsTrans.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
|
||||||
CvsBy58dkAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl
|
|
||||||
mr0081Gr+aD5mI/Kx3TO1po5zbmcaahIiKBkOvGBqTnndu+3cw45kmYHvpx7Lvf3Oed87s8DAFep7SYT
|
|
||||||
OJ53kghrZ4Hn4sNEHhwZ1wqsYjJpn0RvZms2aGFFkwUCeFd4gceyQ8C8TYDvySgGT1RMiElwIX2QrVfD
|
|
||||||
HlSaLlasNvThdXMvytVdKH5jQv/QOAOsFpcZlxGXM4Tw7GlEvVjZSmsZoKzR7Np9xcnjl13AzKKA7sFx
|
|
||||||
BJy7TgF4rl2Aqt2BB/UORObOQpTUS+PHACVqk4WeoKTuMwqrO5BfZkRWkQGdfROrJzhwQjaMq0V2HIs3
|
|
||||||
YE+IAv6xevhF1GcwgLL2k9RJ7m1b4TG3xGPyp4DRKYC6odcrVZtwu+BLuveVHuw8/RJxd6sTvSRyfl9o
|
|
||||||
hYU7FKbccUSqG7U5eOQoP+JRgR7pz5qR8lTDAH/LHbHa4B3dx+TuPy/XeUkU4LafrbsvSahNm5l3YHpB
|
|
||||||
wI9ZAcOTAgbHBLb7enL3im7GbgvMBLdJ3FB547E6bpZIe1VjRmGVCUkP65B4rwb/k7s7KKWVAMzcRnGH
|
|
||||||
6nJqa/volBMSmRkV+u9432WFttMKIpedwJ1cujvJQW5D8Le0XRc/fPUJll06k9wPv0gNDofeiSL/30Lk
|
|
||||||
wp3cth4r/TtS1gcRmWOWrIYlhGcMQNmyBFm5nUFO3RqIKX7bBndyWywMUMoAPqGVAYEJRuRpFpFSZUeE
|
|
||||||
nEdI6giD5JB+WLDx/8jVmRmAtTTrAwI57h3+Dv4xOlbsGZSNowndvooqA6jc1HwtkrMaXXKpnzUACiFC
|
|
||||||
tniKcqkYmgD6Tq7SwzonkI4ch7FnwiW3yeQG8AfiKqbrvBIt22m90G9+AzC/1ToF8MxHAAAAAElFTkSu
|
|
||||||
QmCC
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsRO.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA
|
|
||||||
EnEB89x6jgAAAIBJREFUOE/FU9ESgCAIy///aAMU0DDYSxecV6KOObB1squRs3VyNY1Z4OWHATYTFHI1
|
|
||||||
gp0RXdm+vlGoLC5zPowCHDeiAGkmhMHnAEFpDwwRjcFKV++/6xyLVgEk2UfhnuVTNsVBa5Njk8xV6c1k
|
|
||||||
hNwGBmaHAP5n4G8q6gFdoZLjBpE7j5KJdaRlAAAAAElFTkSuQmCC
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsBefore.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
|
||||||
EnQB3mYfeAAAASxJREFUOE9j/P//PwNVAchAamKEYQxAg7HAu0+//m9Z9ur/5XufQVbjhlCH4TUQZtiy
|
|
||||||
w7//J3ddw28oIQORDZuw8f3/9Ckv/oc33f5///l37C4lZCDImwbhK/9bJ23637Ds/X/X4nP/NYOW/5d3
|
|
||||||
n0megbDQciq5+j+1985/abt2ysMQZKhe2qX/Su6T/0tZN5JmYFZh5f+M/Mr/6XkV/1Nyyv4nZZf+T8wo
|
|
||||||
+R+XXvQ/JqXwf2RS/v/whLz/IXE5/4Nisv8HRGX+943I+O8Tnv7fMzQVmPIgyY9gssGbVJATEc0NzCiA
|
|
||||||
eDc1t/x/Msi7mSX/4zOK/semFv2PSi74H5ZY9D80Pu9/cCzIu1n//SIh3vUKTfvvGZyCxctUyoJUzceo
|
|
||||||
kTLqQnLLyMEfKQBWOvF3m6dboAAAAABJRU5ErkJggg==
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsAfter.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
|
||||||
EnQB3mYfeAAAASlJREFUOE9j/P//PwNFAGQAJZgizWDXU2L7IDEgq7Dyf0Z+5f/0vIr/KTll/5OyS/8n
|
|
||||||
ZpT8j0sv+h+TUvg/Min/f3hC3v+QuJz/QTHZ/wOiMv/7RmT89wlP/+8ZmgqMAQohhdqBsZBRAHF+am75
|
|
||||||
/2SQ8zNL/sdnFP2PTS36H5Vc8D8sseh/aHze/+BYkPOz/vtFQpzvFZr23zM4BbcHKmc/+B9Rdfi/f9Fu
|
|
||||||
UFLDCXFKtCx79X/hvu//HVPXk2aAQ9Kq/5ndF/+DDJi5/ct/38Id/81jV/xX9ZiA1SAMF1y7++a/pv+c
|
|
||||||
/80L7/5vXPrqf0TTjf9GofP/n7v2lDgDQL69cf/tf7OoRf89iw7/1/ab8X//ybs4vYEzDG7cf/NfzrHr
|
|
||||||
//x1Z/CGAQCjS0wEhVWp7QAAAABJRU5ErkJggg==
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsHLS.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
|
||||||
CvsBy58dkAAAAM9JREFUOE9j/P//PwNFAGRAeMMjHZ/SU0DmfwZSMVhDSNP9/x75B1AMALoK5DS8GOx6
|
|
||||||
EBFYdlnTIXn1f8ekVX5kucA1e8d/i/Dp/439O0j2Bsl+Rnch2ICg+hv/A6qv/HfJ3t5FlhfAhtRdT7eJ
|
|
||||||
XQD3AqEABMnDAzGk4aGPa9b2/7aJS/3JcoFnwYH/lhEz/hv5tgxQIPpXXfzvW37uv0PKavJd4Fdx7r9j
|
|
||||||
+qY0WBiQFIggTR5FR2abBU8gzwUehQfBgWgTvTCQrFggVROyegA1/oH1CRXf9wAAAABJRU5ErkJggg==
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsSubstep.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
|
||||||
CvsBy58dkAAAAHxJREFUOE9j/P//PwNFAGRAQfehAiD+D6JBfFIwWDFIc2jLk/+y1lVALsQAFiaW//gw
|
|
||||||
TB3MgAKQZiAmzwWkOBldLUn+xWYR3AujgUha4kEOTHAgJlYsLwDi/yCa1CiFGfDfs+jof0njTPJSIshm
|
|
||||||
kGYgJs8FpDobIwwoMQAAEuaJ1nndlB8AAAAASUVORK5CYII=
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsRNO.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
|
||||||
EnQB3mYfeAAAADpJREFUOE9j/P//PwNFAGQAJRismZmZ+T86RjaUhYnlPzoGqQe7nhLbR5oBo4GIO7WS
|
|
||||||
lJCQA3IYpUQA76epNf0QgmEAAAAASUVORK5CYII=
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsCaut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
|
||||||
CvsBy58dkAAAAl5JREFUOE+l019MUlEcB/B67M2HtrZ66aGHarW2/sxy5tJa2J8l2YNzMmuxjNWkEomu
|
|
||||||
AgJXvECJWCpMjH/ZkrKlzeyvLV5aWPNfw0BrJRVDrEAqWZT32720WtbVHjrbeTj3nu/n3Ps758wHMO+/
|
|
||||||
Ggtw9d6H91bZrVpBq1UHQipefqv7WhrXPM5wbbVsq9tOgQnTn1+RtKOJfOl2UOh0W4k/EU7gQjNFT42R
|
|
||||||
LABETHBaSCTGtKnxgLcn43eEE7A3qD/R43VMgPoBNGrAjl2WGlhq5XBajXk/EU6gpV7JBIxwmdXAuAm2
|
|
||||||
egVoBrI3qsH8Esy1RM+cgElTmlrRdpYAHTbBYijHNAOa9VIkgzpoZQcDMwBGVtga1GD7zevO05R0PxM0
|
|
||||||
ornuBJKvDWjSipB8o8eZikOYGqtGmXDP8C+AKcwCl0WL2HOSeUnisk0FuYiPbyED7rQdRzyggKe9FB9f
|
|
||||||
VKHtXAni/kocLdo+NOMLGERTVrQFE8MqTI7KYVbxkQhSiI5qEBuRI+on8MEvRSxAINR3BML8zMd/1eCi
|
|
||||||
VS9NIUMSRPrFiD5TIT6iwaS/Cu98lQgPyhDuO4bA7QIIdqV7OItorVdcYpG3XhFCvWJEmNB7XwUmnp5C
|
|
||||||
8FEJBq7y8OB8Fl24c/19TqDdbUqTHeCRLDLYtQ/9HXza151PD3XsxhN3DrytmdCJM79IinnmWbfRUaNe
|
|
||||||
qBDtrWKRK8Zt9N3mbNpjy8KNho3ThHDd1x2bV+Jkce7iOc+B8jBvmVJcIBHkZXRuWr0ksWHFIuSkLx0W
|
|
||||||
5K5tKS/MXvPPozzbDeV6/h15lKF3GQZi4gAAAABJRU5ErkJggg==
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsNote.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
|
||||||
CvsBy58dkAAAAeFJREFUOE+l019IU1EcwPFJz9JbD/Vgj5Kr9CGikDCitIxIqJeiMHQ5kdU2wyXan7mc
|
|
||||||
FmqQQURQFiG0RmgjGSbZcC6wMZz/bmqaTRcGpijOhNn9dibl3RLiUhc+3N85B7735Z4kQPNfTywg+Rr5
|
|
||||||
04D3DsGuBnrfNhB4U0/P6zo8LjvtDhvuZ9ZVqx//HSA6Ika/4FWl0pCnBIa6G4lG3okNh2oVhuNKwPeq
|
|
||||||
huW5l2LjvmrlJceUQFfrDb6HH0HktmqW4qNKwNNiY368jpU5+xpma/kbiz5XCXS+sDITLIPpKtUsRUeU
|
|
||||||
QPtzK5878liaLIepa4qwmL/ErePOynSHlYBbBD66Mgl79jHu3sOoaweBpk0s9uuQJ69C6Mo6l3Q5cQGH
|
|
||||||
la/dJxlq2sCCX8uMN5XAPQ2hjmzkiQoYu7yOuSA7MRAJ6Bl1bkNq3ogc3MWyL5Xgwy1Eh0tBMgnmBMb8
|
|
||||||
g3EB8VvKAwZ5yZ/PRGs67+8mE3qgYUz45ExDlozQfxEGxfuXC2cOJAZW+op/xA6jvXrCbXv58GQrg083
|
|
||||||
01OfhPQ4hSlnJt/aclnoPMG8UHJqf2KgypSDzXSIGnMWt4y7uWnIwF6kpfp8GrZCLdcLtFSe247l7E5K
|
|
||||||
T6djEtYuU2z4Vz8BC8XpB/oFsiMAAAAASUVORK5CYII=
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsTable.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
|
||||||
CvsBy58dkAAAAdBJREFUOE+lk90rQ2Ecx/mL5MKFG7lSXLiUa3IjKS4okpS4UFJelmnY2GbeLcPYbOZt
|
|
||||||
mKERQmFnmMyFmdnOtq/ndzizJ1zg1K/O83Q+35fn6aQDSPvXQwJto/dInRbdPRrVftT03aGi6xYl7Tco
|
|
||||||
bvWhsElAXr2AnBovsquvGcrMZQGNAxiwJ6C0xtFjjqHDJKJtOormsQga9K+o1bygShVCeW8IZd1BZJbt
|
|
||||||
8gJygmatH3UDflQq3p2LWnwoaPAi98OVnGkySpyfAvo5FxKJRHLW3RfcemHtUFpHxTiC4ThGTE5k5Zd+
|
|
||||||
CgwZnRyw4jrj1rP2A0QY/MzgQDAGrXGdF+ifXMX+iQByXnGdw7Z1CsvmMciZ4BmrG+PmHRiYM8GDkw5e
|
|
||||||
QGlY5hyXGCxXotgEB4IifIEozm+jUI3ZeIEe7SInYF47SnZ+DsdgmHNCeBQl2HMdgXLEygt0auax7bmE
|
|
||||||
ZYPFXj2EKTU2gym2esoB1bgNSoMVCt3iV4HUW5i2uKXTfniKsdgi1Kyz5yqC7bMw7EchdA+bfxagzhPU
|
|
||||||
mcECg+XO7/AL5vdCoMTcNdKGY+dUOm2C5dMm536KzTordEuSM337rQAp/naS/wK9/HX+DMqGb0lL76AI
|
|
||||||
wx7nAAAAAElFTkSuQmCC
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsFig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
|
||||||
CvsBy58dkAAAAklJREFUOE+lk11I02EUxusuIogugqALIyK6iJpEEIUZIQWSK8kLQ/pAqUApKbEsl4kL
|
|
||||||
srQwQYeOVmp+VGamlo1lMUVJ+9DmdCbNBVqkzvyiD9vmr51/rP8IoqgXzuXzO88553nnAnP+6wmg8FY7
|
|
||||||
wZVf0UbO9WbOFTehy39ISk4difpq4tMriUstJSbZxK4ko1/qbx4AeLzwu/r0FcamZxkam6X/vY9Ol49V
|
|
||||||
2zP/DuC2O3AcCMW+X4Ot1a6IyxoHWLnt7J8B0lnEDJmZeXycZ7uX0eLwca3+NSsiggAy86/2A7bt+zQ/
|
|
||||||
xLkRtEWHYO7yUnzHxvKtGaoDWVgwIHhmsS2dRXz33itqO7wUVHYQsuWMCpBtBwB9A8McyzIq1d77UZlZ
|
|
||||||
bEtnEVe1esgraWZpmE4FyKkE4BwcU4TOoXFs/aNsjkrAWPOS8J0HlSqq7aPU6iHXaGHJpnQVIHcOiN+N
|
|
||||||
TDL44TNPu91UmXuIjE2k7lEnjdZuSRxFD9ycL2xg8YbTKkBCIp2H3VNMTs9gc05gqnvDTYsLg39ebdwR
|
|
||||||
Sm4/Ie9qvQLRX6lh0fpTKkAS9s3jY3Ryhl7XFGX3nVwu7yHb9IIcUxvJ+ko04TEk6/JJTLukQBauS1MB
|
|
||||||
Es+R8S8873VT3fT2pzizwErqxXqSMsqJjtcrkMg9RwnXJrAg9KQKkGw7XBNUNHSRZWhBl2chNbvWL7xB
|
|
||||||
fIqB2MMX0O7VEbbjEKs3Rik1f20QQD6GZFviKQmTkMid5VSybVmYzCy2pbOI5605oTqQD/Wv9R1FPMYf
|
|
||||||
N743kwAAAABJRU5ErkJggg==
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsPgBrk.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
|
||||||
CvsBy58dkAAAActJREFUOE+NklkvA1EUx+ubeCJii6WNh0oQsb/ggQSJhK/gU+iLiHhQS6wJotFa0lJb
|
|
||||||
EWpLGUwbbVFLFbFVqp2Z/s29MhNpZpKe5OR/5845vzPnnEkBoCFmcbj/Dv+M53kNx3EaLhYjt4aWOl1X
|
|
||||||
YoyGAIibt1hRlM04swFdTSfGLfvdUrykMsC0fq4K6Bu3wrbDSBDDf4gMmFlxqQKGZtdosuSKgKmlQ8QT
|
|
||||||
EPF4nN7xvIDBaTt6R5ehre4gUXJh+TC54IQgCDi99FL1+ALgxETXhReRaAwnF9eYs+6pAwxGM3y3D2QT
|
|
||||||
YDzXVFlvgOqBi24IY3Or6oDE6Sb7LLdgsR/SKv7AE1WP/57queeGqsPJUC0sa1SewcS8Awwr9i8OLvTy
|
|
||||||
BjJAhvUhHIni4NSHu+AnDAMmpGurlAFGccocz8t7IAN8//rBfegLrP8Vx5dB9IwsIre0WRnQP2GTk0n1
|
|
||||||
70gMT6/fuAq8weUOYfvkjq4xq1ilBfJSMrL3j/APHp/DFLB/9gC784YCMorqlL9AAuweubG0cYxR0yaG
|
|
||||||
Z9fRP2mjiZKnFVaqA8hfVlDRjvzyNuSVtyKnpIl6lr4Bmfp6sXotUrOLlQHJ7j0x7hcSwu53ww+AbQAA
|
|
||||||
AABJRU5ErkJggg==
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnInsHrdSpc.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
|
||||||
EnQB3mYfeAAAAHlJREFUOE/llI0KwCAIhB2+/zO7GQhmLQ2OYCyQ/uzjrqRLRAjaFIgMKKy5Rar7CJCZ
|
|
||||||
yYU8Yw2/NhtbXuwpJleBei7mtvkbcEelMQagQaoqZ7Y7y8N9JHe5tBwtVlSeA3qr/vVWKstlk9Vfup8m
|
|
||||||
uHorPdofPwf0f3gD43NpwwQa5WcAAAAASUVORK5CYII=
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnSymbols.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
|
||||||
CvsBy58dkAAAAf1JREFUOE9j/P//PwNFAGQAJRiu2ansDqdr9V1F1/ZXWc69b2utp3/dYj7r10WzqV/3
|
|
||||||
mXS+7zaueJplmH/DSivurBiyhWADfGofcLk2PC+ya3+7yTvpwkW/8ANrfMIP53tFHk13iT492aLwzknN
|
|
||||||
nk/PFauf3VEOPlapZrWHB2YI2ACXqrv2ti2vHwUF7LsdE7rFH5uXzLMuT1RNvX5F2mnfPS3z5ZEoBtg0
|
|
||||||
vdhpmn//u5/zug584aGacmGbjNvezzrmC9eiGGBa/XS5bszVb86Wq7PxGaCcfn69nNfur4aW85egGGBR
|
|
||||||
fMtfw+/MDTXDbZfxGaBUcvWNisPG11Y2c2JQDDCLu6ys6n7igLz1ga/q9ls8sBmim302Ubn8yh8T60XX
|
|
||||||
rKwXaKIYAOJo+h2xEI+49Fra4+AubAbo5F+6rBay77O17QI3jGiECcgmX5ktmXD2qYbdZntkRUaZp5w0
|
|
||||||
iy990Pbdth7dcHA0ivd//qiWfM5ZJeSgqrTLzvdalis3Iis0yDl9RCf79Hd9/23Gmp7rk+R8Vv9E8YJ4
|
|
||||||
/fP34tmXv8harn+iYzbvjYH1vHuoBpx6oRe+97O2y+r36k5Lf6o6zf+GYoB80JETisarb+uaz/+kaT3n
|
|
||||||
h4bTwr/IBhgmHfht7L3hh5H3ih86rove6zjMe4gRiORmKIpyIshSAKemayZYZb7LAAAAAElFTkSuQmCC
|
|
||||||
</value>
|
|
||||||
</data>
|
|
||||||
<data name="btnIndent.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>
|
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
|
||||||
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
|
||||||
EnQB3mYfeAAAAKBJREFUOE9j/P//PwNFAGQAJRisGQ+wxyaHbCEhA+pJNUAfqGE/FMcjsWFiYBqnC7gC
|
|
||||||
F/oDMT+SrSAvYGB8BuwHGnAfZBDUEFAAYWAMA4AaQBr/o2GQF9BtB7uOEheAY4WSMMDvAqDh6LFAXBgg
|
|
||||||
hTrIBpi/5aFskKEoAF9CAmkCJR4QBhkEokGBSbQB6GpBhiCnC7A8qUkZ5Cr8LqAkNwIABOc40fsHWwUA
|
|
||||||
AAAASUVORK5CYII=
|
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnPdfCreate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="btnPdfCreate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
@ -764,6 +572,198 @@ When selected, the entire table will turn gray. You can then click and drag the
|
|||||||
crkcMpkMUqkUuOMgzKM+JUCSJFQqFZTLZZRKJdjZCAqFAlYOoljaf8Pi7isYNgTG/QyP71oJ6B9h0De8
|
crkcMpkMUqkUuOMgzKM+JUCSJFQqFZTLZZRKJdjZCAqFAlYOoljaf8Pi7isYNgTG/QyP71oJ6B9h0De8
|
||||||
AOuQHdbBefQOzFFd0lUQBCSTSSQSCfA8T6MA6H1pM1uPVJlhX+DYeVKkLcD05gM+f9Lg/De0ozryDvQM
|
AOuQHdbBefQOzFFd0lUQBCSTSSQSCfA8T6MA6H1pM1uPVJlhX+DYeVKkLcD05gM+f9Lg/De0ozryDvQM
|
||||||
bBv3dNPmMT+dVyv0LRj9LEbPOwb8Af/j3yagcYeqAAAAAElFTkSuQmCC
|
bBv3dNPmMT+dVyv0LRj9LEbPOwb8Af/j3yagcYeqAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsTrans.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
||||||
|
CvsBy58dkAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl
|
||||||
|
mr0081Gr+aD5mI/Kx3TO1po5zbmcaahIiKBkOvGBqTnndu+3cw45kmYHvpx7Lvf3Oed87s8DAFep7SYT
|
||||||
|
OJ53kghrZ4Hn4sNEHhwZ1wqsYjJpn0RvZms2aGFFkwUCeFd4gceyQ8C8TYDvySgGT1RMiElwIX2QrVfD
|
||||||
|
HlSaLlasNvThdXMvytVdKH5jQv/QOAOsFpcZlxGXM4Tw7GlEvVjZSmsZoKzR7Np9xcnjl13AzKKA7sFx
|
||||||
|
BJy7TgF4rl2Aqt2BB/UORObOQpTUS+PHACVqk4WeoKTuMwqrO5BfZkRWkQGdfROrJzhwQjaMq0V2HIs3
|
||||||
|
YE+IAv6xevhF1GcwgLL2k9RJ7m1b4TG3xGPyp4DRKYC6odcrVZtwu+BLuveVHuw8/RJxd6sTvSRyfl9o
|
||||||
|
hYU7FKbccUSqG7U5eOQoP+JRgR7pz5qR8lTDAH/LHbHa4B3dx+TuPy/XeUkU4LafrbsvSahNm5l3YHpB
|
||||||
|
wI9ZAcOTAgbHBLb7enL3im7GbgvMBLdJ3FB547E6bpZIe1VjRmGVCUkP65B4rwb/k7s7KKWVAMzcRnGH
|
||||||
|
6nJqa/volBMSmRkV+u9432WFttMKIpedwJ1cujvJQW5D8Le0XRc/fPUJll06k9wPv0gNDofeiSL/30Lk
|
||||||
|
wp3cth4r/TtS1gcRmWOWrIYlhGcMQNmyBFm5nUFO3RqIKX7bBndyWywMUMoAPqGVAYEJRuRpFpFSZUeE
|
||||||
|
nEdI6giD5JB+WLDx/8jVmRmAtTTrAwI57h3+Dv4xOlbsGZSNowndvooqA6jc1HwtkrMaXXKpnzUACiFC
|
||||||
|
tniKcqkYmgD6Tq7SwzonkI4ch7FnwiW3yeQG8AfiKqbrvBIt22m90G9+AzC/1ToF8MxHAAAAAElFTkSu
|
||||||
|
QmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsRO.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA
|
||||||
|
EnEB89x6jgAAAIBJREFUOE/FU9ESgCAIy///aAMU0DDYSxecV6KOObB1squRs3VyNY1Z4OWHATYTFHI1
|
||||||
|
gp0RXdm+vlGoLC5zPowCHDeiAGkmhMHnAEFpDwwRjcFKV++/6xyLVgEk2UfhnuVTNsVBa5Njk8xV6c1k
|
||||||
|
hNwGBmaHAP5n4G8q6gFdoZLjBpE7j5KJdaRlAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsBefore.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
||||||
|
EnQB3mYfeAAAASxJREFUOE9j/P//PwNVAchAamKEYQxAg7HAu0+//m9Z9ur/5XufQVbjhlCH4TUQZtiy
|
||||||
|
w7//J3ddw28oIQORDZuw8f3/9Ckv/oc33f5///l37C4lZCDImwbhK/9bJ23637Ds/X/X4nP/NYOW/5d3
|
||||||
|
n0megbDQciq5+j+1985/abt2ysMQZKhe2qX/Su6T/0tZN5JmYFZh5f+M/Mr/6XkV/1Nyyv4nZZf+T8wo
|
||||||
|
+R+XXvQ/JqXwf2RS/v/whLz/IXE5/4Nisv8HRGX+943I+O8Tnv7fMzQVmPIgyY9gssGbVJATEc0NzCiA
|
||||||
|
eDc1t/x/Msi7mSX/4zOK/semFv2PSi74H5ZY9D80Pu9/cCzIu1n//SIh3vUKTfvvGZyCxctUyoJUzceo
|
||||||
|
kTLqQnLLyMEfKQBWOvF3m6dboAAAAABJRU5ErkJggg==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsAfter.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
||||||
|
EnQB3mYfeAAAASlJREFUOE9j/P//PwNFAGQAJZgizWDXU2L7IDEgq7Dyf0Z+5f/0vIr/KTll/5OyS/8n
|
||||||
|
ZpT8j0sv+h+TUvg/Min/f3hC3v+QuJz/QTHZ/wOiMv/7RmT89wlP/+8ZmgqMAQohhdqBsZBRAHF+am75
|
||||||
|
/2SQ8zNL/sdnFP2PTS36H5Vc8D8sseh/aHze/+BYkPOz/vtFQpzvFZr23zM4BbcHKmc/+B9Rdfi/f9Fu
|
||||||
|
UFLDCXFKtCx79X/hvu//HVPXk2aAQ9Kq/5ndF/+DDJi5/ct/38Id/81jV/xX9ZiA1SAMF1y7++a/pv+c
|
||||||
|
/80L7/5vXPrqf0TTjf9GofP/n7v2lDgDQL69cf/tf7OoRf89iw7/1/ab8X//ybs4vYEzDG7cf/NfzrHr
|
||||||
|
//x1Z/CGAQCjS0wEhVWp7QAAAABJRU5ErkJggg==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsHLS.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
||||||
|
CvsBy58dkAAAAM9JREFUOE9j/P//PwNFAGRAeMMjHZ/SU0DmfwZSMVhDSNP9/x75B1AMALoK5DS8GOx6
|
||||||
|
EBFYdlnTIXn1f8ekVX5kucA1e8d/i/Dp/439O0j2Bsl+Rnch2ICg+hv/A6qv/HfJ3t5FlhfAhtRdT7eJ
|
||||||
|
XQD3AqEABMnDAzGk4aGPa9b2/7aJS/3JcoFnwYH/lhEz/hv5tgxQIPpXXfzvW37uv0PKavJd4Fdx7r9j
|
||||||
|
+qY0WBiQFIggTR5FR2abBU8gzwUehQfBgWgTvTCQrFggVROyegA1/oH1CRXf9wAAAABJRU5ErkJggg==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsSubstep.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
||||||
|
CvsBy58dkAAAAHxJREFUOE9j/P//PwNFAGRAQfehAiD+D6JBfFIwWDFIc2jLk/+y1lVALsQAFiaW//gw
|
||||||
|
TB3MgAKQZiAmzwWkOBldLUn+xWYR3AujgUha4kEOTHAgJlYsLwDi/yCa1CiFGfDfs+jof0njTPJSIshm
|
||||||
|
kGYgJs8FpDobIwwoMQAAEuaJ1nndlB8AAAAASUVORK5CYII=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsRNO.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
||||||
|
EnQB3mYfeAAAADpJREFUOE9j/P//PwNFAGQAJRismZmZ+T86RjaUhYnlPzoGqQe7nhLbR5oBo4GIO7WS
|
||||||
|
lJCQA3IYpUQA76epNf0QgmEAAAAASUVORK5CYII=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsCaut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
||||||
|
CvsBy58dkAAAAl5JREFUOE+l019MUlEcB/B67M2HtrZ66aGHarW2/sxy5tJa2J8l2YNzMmuxjNWkEomu
|
||||||
|
AgJXvECJWCpMjH/ZkrKlzeyvLV5aWPNfw0BrJRVDrEAqWZT32720WtbVHjrbeTj3nu/n3Ps758wHMO+/
|
||||||
|
Ggtw9d6H91bZrVpBq1UHQipefqv7WhrXPM5wbbVsq9tOgQnTn1+RtKOJfOl2UOh0W4k/EU7gQjNFT42R
|
||||||
|
LABETHBaSCTGtKnxgLcn43eEE7A3qD/R43VMgPoBNGrAjl2WGlhq5XBajXk/EU6gpV7JBIxwmdXAuAm2
|
||||||
|
egVoBrI3qsH8Esy1RM+cgElTmlrRdpYAHTbBYijHNAOa9VIkgzpoZQcDMwBGVtga1GD7zevO05R0PxM0
|
||||||
|
ornuBJKvDWjSipB8o8eZikOYGqtGmXDP8C+AKcwCl0WL2HOSeUnisk0FuYiPbyED7rQdRzyggKe9FB9f
|
||||||
|
VKHtXAni/kocLdo+NOMLGERTVrQFE8MqTI7KYVbxkQhSiI5qEBuRI+on8MEvRSxAINR3BML8zMd/1eCi
|
||||||
|
VS9NIUMSRPrFiD5TIT6iwaS/Cu98lQgPyhDuO4bA7QIIdqV7OItorVdcYpG3XhFCvWJEmNB7XwUmnp5C
|
||||||
|
8FEJBq7y8OB8Fl24c/19TqDdbUqTHeCRLDLYtQ/9HXza151PD3XsxhN3DrytmdCJM79IinnmWbfRUaNe
|
||||||
|
qBDtrWKRK8Zt9N3mbNpjy8KNho3ThHDd1x2bV+Jkce7iOc+B8jBvmVJcIBHkZXRuWr0ksWHFIuSkLx0W
|
||||||
|
5K5tKS/MXvPPozzbDeV6/h15lKF3GQZi4gAAAABJRU5ErkJggg==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsNote.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
||||||
|
CvsBy58dkAAAAeFJREFUOE+l019IU1EcwPFJz9JbD/Vgj5Kr9CGikDCitIxIqJeiMHQ5kdU2wyXan7mc
|
||||||
|
FmqQQURQFiG0RmgjGSbZcC6wMZz/bmqaTRcGpijOhNn9dibl3RLiUhc+3N85B7735Z4kQPNfTywg+Rr5
|
||||||
|
04D3DsGuBnrfNhB4U0/P6zo8LjvtDhvuZ9ZVqx//HSA6Ika/4FWl0pCnBIa6G4lG3okNh2oVhuNKwPeq
|
||||||
|
huW5l2LjvmrlJceUQFfrDb6HH0HktmqW4qNKwNNiY368jpU5+xpma/kbiz5XCXS+sDITLIPpKtUsRUeU
|
||||||
|
QPtzK5878liaLIepa4qwmL/ErePOynSHlYBbBD66Mgl79jHu3sOoaweBpk0s9uuQJ69C6Mo6l3Q5cQGH
|
||||||
|
la/dJxlq2sCCX8uMN5XAPQ2hjmzkiQoYu7yOuSA7MRAJ6Bl1bkNq3ogc3MWyL5Xgwy1Eh0tBMgnmBMb8
|
||||||
|
g3EB8VvKAwZ5yZ/PRGs67+8mE3qgYUz45ExDlozQfxEGxfuXC2cOJAZW+op/xA6jvXrCbXv58GQrg083
|
||||||
|
01OfhPQ4hSlnJt/aclnoPMG8UHJqf2KgypSDzXSIGnMWt4y7uWnIwF6kpfp8GrZCLdcLtFSe247l7E5K
|
||||||
|
T6djEtYuU2z4Vz8BC8XpB/oFsiMAAAAASUVORK5CYII=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsTable.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
||||||
|
CvsBy58dkAAAAdBJREFUOE+lk90rQ2Ecx/mL5MKFG7lSXLiUa3IjKS4okpS4UFJelmnY2GbeLcPYbOZt
|
||||||
|
mKERQmFnmMyFmdnOtq/ndzizJ1zg1K/O83Q+35fn6aQDSPvXQwJto/dInRbdPRrVftT03aGi6xYl7Tco
|
||||||
|
bvWhsElAXr2AnBovsquvGcrMZQGNAxiwJ6C0xtFjjqHDJKJtOormsQga9K+o1bygShVCeW8IZd1BZJbt
|
||||||
|
8gJygmatH3UDflQq3p2LWnwoaPAi98OVnGkySpyfAvo5FxKJRHLW3RfcemHtUFpHxTiC4ThGTE5k5Zd+
|
||||||
|
CgwZnRyw4jrj1rP2A0QY/MzgQDAGrXGdF+ifXMX+iQByXnGdw7Z1CsvmMciZ4BmrG+PmHRiYM8GDkw5e
|
||||||
|
QGlY5hyXGCxXotgEB4IifIEozm+jUI3ZeIEe7SInYF47SnZ+DsdgmHNCeBQl2HMdgXLEygt0auax7bmE
|
||||||
|
ZYPFXj2EKTU2gym2esoB1bgNSoMVCt3iV4HUW5i2uKXTfniKsdgi1Kyz5yqC7bMw7EchdA+bfxagzhPU
|
||||||
|
mcECg+XO7/AL5vdCoMTcNdKGY+dUOm2C5dMm536KzTordEuSM337rQAp/naS/wK9/HX+DMqGb0lL76AI
|
||||||
|
wx7nAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsFig.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
||||||
|
CvsBy58dkAAAAklJREFUOE+lk11I02EUxusuIogugqALIyK6iJpEEIUZIQWSK8kLQ/pAqUApKbEsl4kL
|
||||||
|
srQwQYeOVmp+VGamlo1lMUVJ+9DmdCbNBVqkzvyiD9vmr51/rP8IoqgXzuXzO88553nnAnP+6wmg8FY7
|
||||||
|
wZVf0UbO9WbOFTehy39ISk4difpq4tMriUstJSbZxK4ko1/qbx4AeLzwu/r0FcamZxkam6X/vY9Ol49V
|
||||||
|
2zP/DuC2O3AcCMW+X4Ot1a6IyxoHWLnt7J8B0lnEDJmZeXycZ7uX0eLwca3+NSsiggAy86/2A7bt+zQ/
|
||||||
|
xLkRtEWHYO7yUnzHxvKtGaoDWVgwIHhmsS2dRXz33itqO7wUVHYQsuWMCpBtBwB9A8McyzIq1d77UZlZ
|
||||||
|
bEtnEVe1esgraWZpmE4FyKkE4BwcU4TOoXFs/aNsjkrAWPOS8J0HlSqq7aPU6iHXaGHJpnQVIHcOiN+N
|
||||||
|
TDL44TNPu91UmXuIjE2k7lEnjdZuSRxFD9ycL2xg8YbTKkBCIp2H3VNMTs9gc05gqnvDTYsLg39ebdwR
|
||||||
|
Sm4/Ie9qvQLRX6lh0fpTKkAS9s3jY3Ryhl7XFGX3nVwu7yHb9IIcUxvJ+ko04TEk6/JJTLukQBauS1MB
|
||||||
|
Es+R8S8873VT3fT2pzizwErqxXqSMsqJjtcrkMg9RwnXJrAg9KQKkGw7XBNUNHSRZWhBl2chNbvWL7xB
|
||||||
|
fIqB2MMX0O7VEbbjEKs3Rik1f20QQD6GZFviKQmTkMid5VSybVmYzCy2pbOI5605oTqQD/Wv9R1FPMYf
|
||||||
|
N743kwAAAABJRU5ErkJggg==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsPgBrk.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
||||||
|
CvsBy58dkAAAActJREFUOE+NklkvA1EUx+ubeCJii6WNh0oQsb/ggQSJhK/gU+iLiHhQS6wJotFa0lJb
|
||||||
|
EWpLGUwbbVFLFbFVqp2Z/s29MhNpZpKe5OR/5845vzPnnEkBoCFmcbj/Dv+M53kNx3EaLhYjt4aWOl1X
|
||||||
|
YoyGAIibt1hRlM04swFdTSfGLfvdUrykMsC0fq4K6Bu3wrbDSBDDf4gMmFlxqQKGZtdosuSKgKmlQ8QT
|
||||||
|
EPF4nN7xvIDBaTt6R5ehre4gUXJh+TC54IQgCDi99FL1+ALgxETXhReRaAwnF9eYs+6pAwxGM3y3D2QT
|
||||||
|
YDzXVFlvgOqBi24IY3Or6oDE6Sb7LLdgsR/SKv7AE1WP/57queeGqsPJUC0sa1SewcS8Awwr9i8OLvTy
|
||||||
|
BjJAhvUhHIni4NSHu+AnDAMmpGurlAFGccocz8t7IAN8//rBfegLrP8Vx5dB9IwsIre0WRnQP2GTk0n1
|
||||||
|
70gMT6/fuAq8weUOYfvkjq4xq1ilBfJSMrL3j/APHp/DFLB/9gC784YCMorqlL9AAuweubG0cYxR0yaG
|
||||||
|
Z9fRP2mjiZKnFVaqA8hfVlDRjvzyNuSVtyKnpIl6lr4Bmfp6sXotUrOLlQHJ7j0x7hcSwu53ww+AbQAA
|
||||||
|
AABJRU5ErkJggg==
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnInsHrdSpc.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
||||||
|
EnQB3mYfeAAAAHlJREFUOE/llI0KwCAIhB2+/zO7GQhmLQ2OYCyQ/uzjrqRLRAjaFIgMKKy5Rar7CJCZ
|
||||||
|
yYU8Yw2/NhtbXuwpJleBei7mtvkbcEelMQagQaoqZ7Y7y8N9JHe5tBwtVlSeA3qr/vVWKstlk9Vfup8m
|
||||||
|
uHorPdofPwf0f3gD43NpwwQa5WcAAAAASUVORK5CYII=
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnSymbols.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA
|
||||||
|
CvsBy58dkAAAAf1JREFUOE9j/P//PwNFAGQAJRiu2ansDqdr9V1F1/ZXWc69b2utp3/dYj7r10WzqV/3
|
||||||
|
mXS+7zaueJplmH/DSivurBiyhWADfGofcLk2PC+ya3+7yTvpwkW/8ANrfMIP53tFHk13iT492aLwzknN
|
||||||
|
nk/PFauf3VEOPlapZrWHB2YI2ACXqrv2ti2vHwUF7LsdE7rFH5uXzLMuT1RNvX5F2mnfPS3z5ZEoBtg0
|
||||||
|
vdhpmn//u5/zug584aGacmGbjNvezzrmC9eiGGBa/XS5bszVb86Wq7PxGaCcfn69nNfur4aW85egGGBR
|
||||||
|
fMtfw+/MDTXDbZfxGaBUcvWNisPG11Y2c2JQDDCLu6ys6n7igLz1ga/q9ls8sBmim302Ubn8yh8T60XX
|
||||||
|
rKwXaKIYAOJo+h2xEI+49Fra4+AubAbo5F+6rBay77O17QI3jGiECcgmX5ktmXD2qYbdZntkRUaZp5w0
|
||||||
|
iy990Pbdth7dcHA0ivd//qiWfM5ZJeSgqrTLzvdalis3Iis0yDl9RCf79Hd9/23Gmp7rk+R8Vv9E8YJ4
|
||||||
|
/fP34tmXv8harn+iYzbvjYH1vHuoBpx6oRe+97O2y+r36k5Lf6o6zf+GYoB80JETisarb+uaz/+kaT3n
|
||||||
|
h4bTwr/IBhgmHfht7L3hh5H3ih86rove6zjMe4gRiORmKIpyIshSAKemayZYZb7LAAAAAElFTkSuQmCC
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnIndent.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
|
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA
|
||||||
|
EnQB3mYfeAAAAKBJREFUOE9j/P//PwNFAGQAJRisGQ+wxyaHbCEhA+pJNUAfqGE/FMcjsWFiYBqnC7gC
|
||||||
|
F/oDMT+SrSAvYGB8BuwHGnAfZBDUEFAAYWAMA4AaQBr/o2GQF9BtB7uOEheAY4WSMMDvAqDh6LFAXBgg
|
||||||
|
hTrIBpi/5aFskKEoAF9CAmkCJR4QBhkEokGBSbQB6GpBhiCnC7A8qUkZ5Cr8LqAkNwIABOc40fsHWwUA
|
||||||
|
AAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btnListUsers.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="btnListUsers.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
@ -22,6 +22,39 @@ namespace Volian.Controls.Library
|
|||||||
public delegate string VlnFlexGridPasteEvent(object sender, VlnFlexGridPasteEventArgs args);
|
public delegate string VlnFlexGridPasteEvent(object sender, VlnFlexGridPasteEventArgs args);
|
||||||
public partial class VlnFlexGrid : C1.Win.C1FlexGrid.C1FlexGrid
|
public partial class VlnFlexGrid : C1.Win.C1FlexGrid.C1FlexGrid
|
||||||
{
|
{
|
||||||
|
public static GridCopyInfo MyCopyInfo = new GridCopyInfo();
|
||||||
|
|
||||||
|
public void CopyToCopiedFlexGrid(GridCopyOption myCopyOption)
|
||||||
|
{
|
||||||
|
MyCopyInfo.MyCopiedFlexGrid = new VlnFlexGrid(); //make a copy of the grid being copied
|
||||||
|
using (StringReader sr = new StringReader(this.GetXMLData()))
|
||||||
|
{
|
||||||
|
MyCopyInfo.MyCopiedFlexGrid.ReadXml(sr);
|
||||||
|
sr.Close();
|
||||||
|
}
|
||||||
|
//FlipCopied(); // create a flipped version of the grid
|
||||||
|
MyCopyInfo.MyCopyOption = myCopyOption;
|
||||||
|
OnCopyOptionChanged(this, new EventArgs());
|
||||||
|
switch (MyCopyInfo.MyCopyOption)
|
||||||
|
{
|
||||||
|
case GridCopyOption.Row:
|
||||||
|
MyCopyInfo.MyCopiedCellRange = MyCopyInfo.MyCopiedFlexGrid.GetCellRange(Selection.r1, 0, Selection.r2, Cols.Count - 1);
|
||||||
|
break;
|
||||||
|
case GridCopyOption.Column:
|
||||||
|
MyCopyInfo.MyCopiedCellRange = MyCopyInfo.MyCopiedFlexGrid.GetCellRange(0, Selection.c1, Rows.Count - 1, Selection.c2);
|
||||||
|
break;
|
||||||
|
case GridCopyOption.Selection:
|
||||||
|
MyCopyInfo.MyCopiedCellRange = MyCopyInfo.MyCopiedFlexGrid.GetCellRange(Selection.r1, Selection.c1, Selection.r2, Selection.c2);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public event VlnFlexGridEvent CopyOptionChanged;
|
||||||
|
public void OnCopyOptionChanged(object sender, EventArgs args)
|
||||||
|
{
|
||||||
|
if (CopyOptionChanged != null) CopyOptionChanged(sender, args);
|
||||||
|
}
|
||||||
//[XmlElement("MyBorders")]
|
//[XmlElement("MyBorders")]
|
||||||
//[Browsable(false)]
|
//[Browsable(false)]
|
||||||
//[EditorBrowsable(EditorBrowsableState.Never)]
|
//[EditorBrowsable(EditorBrowsableState.Never)]
|
||||||
@ -627,7 +660,7 @@ namespace Volian.Controls.Library
|
|||||||
// draw the RTF text
|
// draw the RTF text
|
||||||
if (e.Bounds.Width > 0 && e.Bounds.Height > 0)
|
if (e.Bounds.Width > 0 && e.Bounds.Height > 0)
|
||||||
{
|
{
|
||||||
_rtf.Width = e.Bounds.Width - 3;
|
_rtf.Width = e.Bounds.Width - 1;
|
||||||
_rtf.Rtf = rtfText;
|
_rtf.Rtf = rtfText;
|
||||||
CellRange cr = GetMergedRange(e.Row, e.Col);
|
CellRange cr = GetMergedRange(e.Row, e.Col);
|
||||||
cr.UserData = _rtf.Height;
|
cr.UserData = _rtf.Height;
|
||||||
@ -635,6 +668,7 @@ namespace Volian.Controls.Library
|
|||||||
int hDiff = e.Bounds.Height - _rtf.Height;
|
int hDiff = e.Bounds.Height - _rtf.Height;
|
||||||
if (hDiff < 0)
|
if (hDiff < 0)
|
||||||
{
|
{
|
||||||
|
Console.WriteLine("{0}, {1}, {2}, {3}, {4}", hDiff, e.Bounds.Height, _rtf.Height, e.Row, e.Col);
|
||||||
Rows[e.Row].Height = _rtf.Height + 4;
|
Rows[e.Row].Height = _rtf.Height + 4;
|
||||||
AdjustGridControlSize();
|
AdjustGridControlSize();
|
||||||
hDiff = 0;
|
hDiff = 0;
|
||||||
@ -896,6 +930,8 @@ namespace Volian.Controls.Library
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void AdjustGridControlSize()
|
public void AdjustGridControlSize()
|
||||||
{
|
{
|
||||||
|
//Console.WriteLine("AdjustGridControlSize");
|
||||||
|
//Volian.Base.Library.vlnStackTrace.ShowStackLocal("AdjustGridControlSize", 3);
|
||||||
if (Parent is GridItem ? (Parent as GridItem).Initializing : false ) return;
|
if (Parent is GridItem ? (Parent as GridItem).Initializing : false ) return;
|
||||||
int difW = this.Width - this.ClientSize.Width;
|
int difW = this.Width - this.ClientSize.Width;
|
||||||
int difH = this.Height - this.ClientSize.Height;
|
int difH = this.Height - this.ClientSize.Height;
|
||||||
@ -1041,6 +1077,7 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
private void AdjustCellHeightWidth(int r, int c)
|
private void AdjustCellHeightWidth(int r, int c)
|
||||||
{
|
{
|
||||||
|
Console.WriteLine("AdjustCellHeightWidth");
|
||||||
StepRTB trtb = new StepRTB();
|
StepRTB trtb = new StepRTB();
|
||||||
string tstr = null;
|
string tstr = null;
|
||||||
bool dummyCharWidth = false;
|
bool dummyCharWidth = false;
|
||||||
@ -2167,143 +2204,265 @@ namespace Volian.Controls.Library
|
|||||||
|
|
||||||
#endregion //Grid Add and Remove Row / Column
|
#endregion //Grid Add and Remove Row / Column
|
||||||
|
|
||||||
#region Clipboard
|
#region Copy/Paste
|
||||||
|
|
||||||
public void ClipBoardCopyRow()
|
public void CopyRow()
|
||||||
{
|
{
|
||||||
this.SelectionMode = SelectionModeEnum.Row;
|
DialogResult dr = DialogResult.Yes;
|
||||||
this.Select(this.Selection.r1, 0, this.Selection.r2, this.Cols.Count - 1, true);
|
SelectRow();
|
||||||
DialogResult dr = MessageBox.Show("Copy these Rows?", "Copy Rows", MessageBoxButtons.YesNo);
|
if (Selection.r1 != Selection.r2)
|
||||||
|
{
|
||||||
|
//dr = MessageBox.Show("You selected a row that includes merged cells.\n\nThese additional rows must be included.\n\nCopy these rows?", "Copy Rows", MessageBoxButtons.YesNo);
|
||||||
|
dr = MessageBox.Show("Your selection was expanded due to merged cell regions.\n\nContinue with the copy?", "Copy Rows", MessageBoxButtons.YesNo);
|
||||||
|
}
|
||||||
if (dr == DialogResult.Yes)
|
if (dr == DialogResult.Yes)
|
||||||
_clpbrdCpyPste.Put(this.Selection);
|
CopyToCopiedFlexGrid(GridCopyOption.Row);
|
||||||
this.SelectionMode = SelectionModeEnum.Default;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClipBoardCopyColumn()
|
public void CopyColumn()
|
||||||
{
|
{
|
||||||
this.SelectionMode = SelectionModeEnum.Column;
|
SelectCol();
|
||||||
this.Select(0, this.Selection.c1, this.Rows.Count - 1, this.Selection.c2, true);
|
DialogResult dr = DialogResult.Yes;
|
||||||
DialogResult dr = MessageBox.Show("Copy these columns?", "Copy Columns", MessageBoxButtons.YesNo);
|
if (Selection.c1 != Selection.c2)
|
||||||
|
{
|
||||||
|
//dr = MessageBox.Show("You selected a column that includes merged cells.\n\nThese additional columns must be included.\n\nCopy these columns?", "Copy Columns", MessageBoxButtons.YesNo);
|
||||||
|
dr = MessageBox.Show("Your selection was expanded due to merged cell regions.\n\nContinue with the copy?", "Copy Columns", MessageBoxButtons.YesNo);
|
||||||
|
}
|
||||||
if (dr == DialogResult.Yes)
|
if (dr == DialogResult.Yes)
|
||||||
_clpbrdCpyPste.Put(this.Selection);
|
CopyToCopiedFlexGrid(GridCopyOption.Column);
|
||||||
this.SelectionMode = SelectionModeEnum.Default;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClipBoardCopySelection()
|
public void CopyCellSelection()
|
||||||
{
|
{
|
||||||
this.Select(this.Selection.r1, this.Selection.c1, this.Selection.r2, this.Selection.c2);
|
DialogResult dr = DialogResult.Yes;
|
||||||
DialogResult dr = MessageBox.Show("Copy Selected Cells?", "Copy Selection", MessageBoxButtons.YesNo);
|
CellRange cr = Selection;
|
||||||
|
MakeSelectionEven();
|
||||||
|
if (!cr.Equals(Selection))
|
||||||
|
{
|
||||||
|
dr = MessageBox.Show("Your selection was expanded due to merged cell regions.\n\nContinue with the copy?", "Copy Selection", MessageBoxButtons.YesNo);
|
||||||
|
}
|
||||||
if (dr == DialogResult.Yes)
|
if (dr == DialogResult.Yes)
|
||||||
_clpbrdCpyPste.Put(this.Selection);
|
CopyToCopiedFlexGrid(GridCopyOption.Selection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void CopyTextFromCellRange(ArrayList arylst, int srow, int scol, int erow, int ecol)
|
|
||||||
{
|
|
||||||
StepRTB trtb = new StepRTB();
|
|
||||||
int aryidx = 0;
|
|
||||||
for (int r = srow; r <= erow; r++)
|
|
||||||
{
|
|
||||||
for (int c = scol; c <= ecol; c++)
|
|
||||||
{
|
|
||||||
if (aryidx >= arylst.Count)
|
|
||||||
trtb.Text = "";
|
|
||||||
else
|
|
||||||
{
|
|
||||||
trtb.Rtf = OnAdjustPastedText(this, new VlnFlexGridPasteEventArgs((string)(arylst[aryidx++])));
|
|
||||||
trtb.AdjustWidthForContent();
|
|
||||||
}
|
|
||||||
this[r, c] = trtb.Rtf;
|
|
||||||
//this.ConvertTextCellToRTF(r, c);
|
|
||||||
this.AdjustCellHeightWidth(r, c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
FixTableCellsHeightWidth();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public enum enmPastePos : int
|
public enum enmPastePos : int
|
||||||
{
|
{
|
||||||
Before = 1, Replace = 0, After = -1
|
Before = 1, Replace = 0, After = -1
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClipBoardPasteRows(enmPastePos pp)
|
public void PasteRows(enmPastePos pp)
|
||||||
{
|
{
|
||||||
// Get a list of strings representing the text (rtf text) in each cell
|
if (MyCopyInfo.MyCopiedFlexGrid == null || MyCopyInfo.MyCopyOption != GridCopyOption.Row) return;
|
||||||
// that was saved to the clipboard (row/column order)
|
int rowsToAdd = MyCopyInfo.MyCopiedCellRange.r2 - MyCopyInfo.MyCopiedCellRange.r1 + 1;
|
||||||
ArrayList aryCellList = _clpbrdCpyPste.Get();
|
int colsToAdd = Math.Max((MyCopyInfo.MyCopiedCellRange.c2 - MyCopyInfo.MyCopiedCellRange.c1 + 1) - Cols.Count, 0);
|
||||||
|
int rowOffset = Selection.r1 + (pp == enmPastePos.After ? 1 : 0) - MyCopyInfo.MyCopiedCellRange.r1;
|
||||||
|
int selR1 = Selection.r1;
|
||||||
|
|
||||||
if (aryCellList != null && aryCellList.Count > 0)
|
// If the rows we are copying has more columns than the current table, then append then needed columns to the grid
|
||||||
|
if (colsToAdd > 0)
|
||||||
{
|
{
|
||||||
// Since we're pasting an entire row, make sure the current selection includes
|
Cols.Add(colsToAdd);
|
||||||
// all the columns to ensure proper logic path when inserting a new (empty) row
|
AdjustMergedColumns(Cols.Count - 1, false, false);
|
||||||
this.SelectionMode = SelectionModeEnum.Row;
|
}
|
||||||
this.Select(this.Selection.r1, 0, this.Selection.r2, this.Cols.Count - 1, true);
|
|
||||||
this.SelectionMode = SelectionModeEnum.Default;
|
switch (pp)
|
||||||
// get row/column starting position in which new rows will be added
|
{
|
||||||
int startrow = this.Selection.r1 + ((pp == enmPastePos.After) ? 1 : 0);
|
case enmPastePos.Before:
|
||||||
int startcol = this.Selection.c1;
|
//this.Rows.InsertRange(Selection.r1,rowsToAdd);
|
||||||
// get the number of rows needed based on what was save to the clipboard
|
this.Rows.InsertRange(selR1, rowsToAdd);
|
||||||
int numrows = Math.Max(1, (aryCellList.Count / this.Cols.Count));
|
AdjustMergedRows(selR1, true, false);
|
||||||
// insert that number of new rows.
|
break;
|
||||||
if (pp != enmPastePos.Replace) // insert new rows before or after
|
case enmPastePos.After:
|
||||||
for (int r = 0; r < numrows; r++)
|
if (selR1 < Rows.Count - 1)
|
||||||
if (pp == enmPastePos.After) // create new rows after
|
{
|
||||||
this.InsertRowAfter();
|
//this.Rows.InsertRange(Selection.r1 + 1, rowsToAdd);
|
||||||
|
this.Rows.InsertRange(selR1 + 1, rowsToAdd);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
this.InsertRowBefore();
|
this.Rows.Add(rowsToAdd);
|
||||||
// copy each grid cell text (aryCellList) into the newly inserted rows
|
AdjustMergedRows(selR1 + 1, false, false);
|
||||||
CopyTextFromCellRange(aryCellList, startrow, startcol, startrow + numrows - 1, startcol + this.Cols.Count - 1);
|
break;
|
||||||
|
case enmPastePos.Replace:
|
||||||
|
if (rowsToAdd > Rows.Count - Selection.r1)
|
||||||
|
{
|
||||||
|
this.Rows.Add(rowsToAdd - (Rows.Count - Selection.r1));
|
||||||
|
AdjustMergedRows(selR1, false, false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
RemoveMergedRanges(MyCopyInfo.MyCopiedCellRange.r1 + rowOffset, MyCopyInfo.MyCopiedCellRange.c1, MyCopyInfo.MyCopiedCellRange.r2 + rowOffset, MyCopyInfo.MyCopiedCellRange.c2);
|
||||||
|
|
||||||
|
for (int r = MyCopyInfo.MyCopiedCellRange.r1; r <= MyCopyInfo.MyCopiedCellRange.r2; r++)
|
||||||
|
{
|
||||||
|
Rows[r + rowOffset].Height = MyCopyInfo.MyCopiedFlexGrid.Rows[r].Height;
|
||||||
|
for (int c = MyCopyInfo.MyCopiedCellRange.c1; c <= Math.Min(MyCopyInfo.MyCopiedCellRange.c2 + colsToAdd, Cols.Count - 1); c++)
|
||||||
|
{
|
||||||
|
CellRange crm = MyCopyInfo.MyCopiedFlexGrid.GetMergedRange(r, c);
|
||||||
|
if (r == crm.r1 && c == crm.c1)
|
||||||
|
{
|
||||||
|
Cols[c].Width = Math.Max(Cols[c].Width, MyCopyInfo.MyCopiedFlexGrid.Cols[c].Width);
|
||||||
|
CellRange cr = GetCellRange(crm.r1 + rowOffset, crm.c1, crm.r2 + rowOffset, crm.c2);
|
||||||
|
if ((crm.r2 > crm.r1) || (crm.c2 > crm.c1))
|
||||||
|
MergedRanges.Add(cr);
|
||||||
|
this[r + rowOffset, c] = MyCopyInfo.MyCopiedFlexGrid[r, c];
|
||||||
|
MatchStyle(crm, cr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
this.AdjustGridControlSize();
|
this.AdjustGridControlSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void MatchStyle(CellRange crm, CellRange cr)
|
||||||
|
{
|
||||||
|
if (crm.Style != null)
|
||||||
|
{
|
||||||
|
ChangeCellAlign(cr, crm.Style.TextAlign);
|
||||||
|
ChangeCellBorder(cr, crm.Style.Border.Style);
|
||||||
|
}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// cr.Style = null; // - didn't like the null
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClipBoardPasteColumns(enmPastePos pp)
|
private void RemoveMergedRanges(int r1, int c1, int r2, int c2)
|
||||||
{
|
{
|
||||||
// Get a list of strings representing the text (rtf text) in each cell
|
for (int r = r1; r <= r2; r++)
|
||||||
// that was saved to the clipboard (row/column order)
|
for (int c = c1; c <= c2; c++)
|
||||||
ArrayList aryCellList = _clpbrdCpyPste.Get();
|
{
|
||||||
|
CellRange cr = GetMergedRange(r, c);
|
||||||
|
if (cr.r1 < cr.r2 || cr.c1 < cr.c2)
|
||||||
|
MergedRanges.Remove(cr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (aryCellList != null && aryCellList.Count > 0)
|
public void PasteColumns(enmPastePos pp)
|
||||||
{
|
{
|
||||||
// Since we're pasting an entire column, make sure the current selection includes
|
if (MyCopyInfo.MyCopiedFlexGrid == null || MyCopyInfo.MyCopyOption != GridCopyOption.Column) return;
|
||||||
// all the rows to ensure proper logic path when inserting a new (empty) column
|
|
||||||
this.SelectionMode = SelectionModeEnum.Column;
|
int colsToAdd = MyCopyInfo.MyCopiedCellRange.c2 - MyCopyInfo.MyCopiedCellRange.c1 + 1;
|
||||||
this.Select(0, this.Selection.c1, this.Rows.Count - 1, this.Selection.c2, true);
|
int rowsToAdd = Math.Max((MyCopyInfo.MyCopiedCellRange.r2 - MyCopyInfo.MyCopiedCellRange.r1 + 1) - Rows.Count, 0);
|
||||||
this.SelectionMode = SelectionModeEnum.Default;
|
int colOffset = Selection.c1 + (pp == enmPastePos.After ? 1 : 0) - MyCopyInfo.MyCopiedCellRange.c1;
|
||||||
// get row/column starting position in which new rows will be added
|
int selC1 = Selection.c1;
|
||||||
int startrow = 0;//grd.Selection.r1+((pp == enmPastePos.After) ? 1 : 0);
|
|
||||||
int startcol = this.Selection.c1 + ((pp == enmPastePos.After) ? 1 : 0);
|
// If the columns we are copying has more rows than the current table, then append the needed rows to the grid
|
||||||
// get the number of columns needed based on what was save to the clipboard
|
if (rowsToAdd > 0)
|
||||||
int numcols = Math.Max(1, (aryCellList.Count / this.Rows.Count));
|
{
|
||||||
// insert that number of new columns.
|
Rows.Add(rowsToAdd);
|
||||||
if (pp != enmPastePos.Replace) // insert new columns before or after
|
AdjustMergedRows(Rows.Count, false, false);
|
||||||
for (int c = 0; c < numcols; c++)
|
}
|
||||||
if (pp == enmPastePos.After) // create new columns after
|
|
||||||
this.InsertColumnAfter();
|
switch (pp)
|
||||||
|
{
|
||||||
|
case enmPastePos.Before:
|
||||||
|
//this.Cols.InsertRange(Selection.c1, colsToAdd);
|
||||||
|
this.Cols.InsertRange(selC1, colsToAdd);
|
||||||
|
AdjustMergedColumns(selC1, true, false);
|
||||||
|
break;
|
||||||
|
case enmPastePos.After:
|
||||||
|
//if (Selection.c1 < Cols.Count - 1)
|
||||||
|
// this.Cols.InsertRange(Selection.c1 + 1, colsToAdd);
|
||||||
|
if (selC1 < Cols.Count - 1)
|
||||||
|
this.Cols.InsertRange(selC1 + 1, colsToAdd);
|
||||||
else
|
else
|
||||||
this.InsertColumnBefore();
|
this.Cols.Add(colsToAdd);
|
||||||
// copy each grid cell text (aryCellList) into the newly inserted colmns
|
AdjustMergedColumns(selC1 + 1, false, false);
|
||||||
this.CopyTextFromCellRange(aryCellList, startrow, startcol, startrow + this.Rows.Count - 1, startcol + numcols - 1);
|
break;
|
||||||
|
case enmPastePos.Replace:
|
||||||
|
//if (colsToAdd > Cols.Count - Selection.c1)
|
||||||
|
// this.Cols.Add(colsToAdd - (Cols.Count - Selection.c1));
|
||||||
|
if (colsToAdd > Cols.Count - selC1)
|
||||||
|
{
|
||||||
|
this.Cols.Add(colsToAdd - (Cols.Count - selC1));
|
||||||
|
AdjustMergedColumns(selC1, true, false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
RemoveMergedRanges(MyCopyInfo.MyCopiedCellRange.r1, MyCopyInfo.MyCopiedCellRange.c1 + colOffset, MyCopyInfo.MyCopiedCellRange.r2, MyCopyInfo.MyCopiedCellRange.c2 + colOffset);
|
||||||
|
|
||||||
|
for (int c = MyCopyInfo.MyCopiedCellRange.c1; c <= MyCopyInfo.MyCopiedCellRange.c2; c++)
|
||||||
|
{
|
||||||
|
Cols[c + colOffset].Width = MyCopyInfo.MyCopiedFlexGrid.Cols[c].Width;
|
||||||
|
for (int r = MyCopyInfo.MyCopiedCellRange.r1; r <= Math.Min(MyCopyInfo.MyCopiedCellRange.r2 + rowsToAdd, Rows.Count - 1); r++)
|
||||||
|
{
|
||||||
|
CellRange crm = MyCopyInfo.MyCopiedFlexGrid.GetMergedRange(r, c);
|
||||||
|
if (r == crm.r1 && c == crm.c1)
|
||||||
|
{
|
||||||
|
Rows[r].Height = Math.Max(Rows[r].Height, MyCopyInfo.MyCopiedFlexGrid.Rows[r].Height);
|
||||||
|
CellRange cr = GetCellRange(crm.r1, crm.c1 + colOffset, crm.r2, crm.c2 + colOffset);
|
||||||
|
if ((crm.r2 > crm.r1) || (crm.c2 > crm.c1))
|
||||||
|
MergedRanges.Add(cr);
|
||||||
|
this[r, c + colOffset] = MyCopyInfo.MyCopiedFlexGrid[r, c];
|
||||||
|
MatchStyle(crm, cr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
this.AdjustGridControlSize();
|
this.AdjustGridControlSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void PasteCopiedCells()
|
||||||
|
{
|
||||||
|
// Warn the user that this type of paste will replace the currently selected (highlighted) table cells and give the option to abort.
|
||||||
|
DialogResult dr = MessageBox.Show("This will replace the cells that are currently selected (highlighted). \n\nContinue with the paste?","Paste Table Cells",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
|
||||||
|
if (dr == DialogResult.No) return;
|
||||||
|
|
||||||
|
int nSelRows = Selection.r2 - Selection.r1 + 1;
|
||||||
|
int nSelCols = Selection.c2 - Selection.c1 + 1;
|
||||||
|
int nCpyRows = MyCopyInfo.MyCopiedCellRange.r2 - MyCopyInfo.MyCopiedCellRange.r1 + 1;
|
||||||
|
int nCpyCols = MyCopyInfo.MyCopiedCellRange.c2 - MyCopyInfo.MyCopiedCellRange.c1 + 1;
|
||||||
|
int colsToAdd = Math.Max(nCpyCols - nSelCols, 0);
|
||||||
|
int rowsToAdd = Math.Max(nCpyRows - nSelRows, 0);
|
||||||
|
int rowOffset = Selection.r1 - MyCopyInfo.MyCopiedCellRange.r1;
|
||||||
|
int colOffset = Selection.c1 - MyCopyInfo.MyCopiedCellRange.c1;
|
||||||
|
int selR2 = Selection.r2;
|
||||||
|
int selC2 = Selection.c2;
|
||||||
|
// If there are more cells to copy than what is seleceted in the target table
|
||||||
|
// Add extra rows and columns as needed
|
||||||
|
if (rowsToAdd > 0)
|
||||||
|
{
|
||||||
|
if (selR2 < Rows.Count - 1)
|
||||||
|
this.Rows.InsertRange(selR2 + 1, rowsToAdd);
|
||||||
|
else
|
||||||
|
this.Rows.Add(rowsToAdd);
|
||||||
|
AdjustMergedRows(selR2 + 1, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClipBoardPasteIntoSelection()
|
if (colsToAdd > 0)
|
||||||
{
|
{
|
||||||
// Get a list of strings representing the text (rtf text) in each cell
|
if (selC2 < Cols.Count - 1)
|
||||||
// that was saved to the clipboard (row/column order)
|
this.Cols.InsertRange(selC2 + 1, colsToAdd);
|
||||||
ArrayList aryCellList = _clpbrdCpyPste.Get();
|
else
|
||||||
|
this.Cols.Add(colsToAdd);
|
||||||
|
AdjustMergedColumns(selC2 + 1, false, false);
|
||||||
|
}
|
||||||
|
|
||||||
if (aryCellList != null && aryCellList.Count > 0)
|
RemoveMergedRanges(MyCopyInfo.MyCopiedCellRange.r1 + rowOffset, MyCopyInfo.MyCopiedCellRange.c1 + colOffset, MyCopyInfo.MyCopiedCellRange.r2 + rowOffset, MyCopyInfo.MyCopiedCellRange.c2 + colOffset);
|
||||||
|
|
||||||
|
for (int c = MyCopyInfo.MyCopiedCellRange.c1; c <= Math.Min(MyCopyInfo.MyCopiedCellRange.c2, Cols.Count - 1 - colOffset); c++)
|
||||||
|
Cols[c + colOffset].Width = Math.Max(MyCopyInfo.MyCopiedFlexGrid.Cols[c].Width, Cols[c + colOffset].Width);
|
||||||
|
|
||||||
|
for (int r = MyCopyInfo.MyCopiedCellRange.r1; r <= Math.Min(MyCopyInfo.MyCopiedCellRange.r2, Rows.Count - 1 - rowOffset); r++)
|
||||||
{
|
{
|
||||||
// copy each grid cell text (aryCellList) into the selected cells
|
Rows[r + rowOffset].Height = Math.Max(MyCopyInfo.MyCopiedFlexGrid.Rows[r].Height, Rows[r + rowOffset].Height);
|
||||||
this.CopyTextFromCellRange(aryCellList, this.Selection.r1, this.Selection.c1, this.Selection.r2, this.Selection.c2);
|
for (int c = MyCopyInfo.MyCopiedCellRange.c1; c <= Math.Min(MyCopyInfo.MyCopiedCellRange.c2, Cols.Count - 1 - colOffset); c++)
|
||||||
|
{
|
||||||
|
CellRange crm = MyCopyInfo.MyCopiedFlexGrid.GetMergedRange(r, c);
|
||||||
|
if (r == crm.r1 && c == crm.c1)
|
||||||
|
{
|
||||||
|
CellRange cr = GetCellRange(crm.r1 + rowOffset, crm.c1 + colOffset, crm.r2 + rowOffset, crm.c2 + colOffset);
|
||||||
|
if ((crm.r2 > crm.r1) || (crm.c2 > crm.c1))
|
||||||
|
MergedRanges.Add(cr);
|
||||||
|
this[r + rowOffset, c + colOffset] = MyCopyInfo.MyCopiedFlexGrid[r, c];
|
||||||
|
MatchStyle(crm, cr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
this.AdjustGridControlSize();
|
this.AdjustGridControlSize();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#endregion //Clipboard
|
#endregion // Copy/Paste
|
||||||
#region Selection
|
#region Selection
|
||||||
public bool SelectNextCell()
|
public bool SelectNextCell()
|
||||||
{
|
{
|
||||||
@ -3331,8 +3490,29 @@ namespace Volian.Controls.Library
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ShowMySelection()
|
||||||
|
{
|
||||||
|
int r1 = MySelection[0].r1;
|
||||||
|
int r2 = MySelection[0].r2;
|
||||||
|
int c1 = MySelection[0].c1;
|
||||||
|
int c2 = MySelection[0].c2;
|
||||||
|
foreach (CellRange cr in MySelection)
|
||||||
|
{
|
||||||
|
r1 = Math.Min(r1, cr.r1);
|
||||||
|
c1 = Math.Min(c1, cr.c1);
|
||||||
|
r2 = Math.Max(r2, cr.r2);
|
||||||
|
c2 = Math.Max(c2, cr.c2);
|
||||||
|
}
|
||||||
|
Select(r1,c1,r2,c2);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// This is used for storing the grid selection for copy/past Row/Column
|
||||||
|
/// </summary>
|
||||||
|
public enum GridCopyOption { Row, Column, Selection };
|
||||||
|
|
||||||
#region RTF Class for Cell rendering
|
#region RTF Class for Cell rendering
|
||||||
class RTF : StepRTB //RichTextBox
|
class RTF : StepRTB //RichTextBox
|
||||||
{
|
{
|
||||||
@ -3741,7 +3921,8 @@ namespace Volian.Controls.Library
|
|||||||
class TableClipBoardFuncts
|
class TableClipBoardFuncts
|
||||||
{
|
{
|
||||||
DataFormats.Format dfmtTableCellRange = DataFormats.GetFormat("TableCellRange");
|
DataFormats.Format dfmtTableCellRange = DataFormats.GetFormat("TableCellRange");
|
||||||
|
private SelectedTableCells mySeldTableCellsObject;
|
||||||
|
private DataObject myDataObject;
|
||||||
public TableClipBoardFuncts()
|
public TableClipBoardFuncts()
|
||||||
{
|
{
|
||||||
//mySeldTableCellsObject = new DataObject(dfmtTableCellRange.Name, seldTableCells);
|
//mySeldTableCellsObject = new DataObject(dfmtTableCellRange.Name, seldTableCells);
|
||||||
@ -3754,6 +3935,18 @@ namespace Volian.Controls.Library
|
|||||||
// This is saved as one RTF string.
|
// This is saved as one RTF string.
|
||||||
Clipboard.SetDataObject(cr.Clip, true); // the "true" make the copy persistent
|
Clipboard.SetDataObject(cr.Clip, true); // the "true" make the copy persistent
|
||||||
//Console.WriteLine("\nClip: '{0}' \n'{1}'", cr.Clip,cr.DataDisplay);
|
//Console.WriteLine("\nClip: '{0}' \n'{1}'", cr.Clip,cr.DataDisplay);
|
||||||
|
//mySeldTableCellsObject = new SelectedTableCells();
|
||||||
|
//mySeldTableCellsObject.CpbrdCellRange = cr;
|
||||||
|
// myDataObject = new DataObject(dfmtTableCellRange.Name, mySeldTableCellsObject);
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// Clipboard.SetDataObject(myDataObject); //,true);
|
||||||
|
// }
|
||||||
|
// catch (Exception ex)
|
||||||
|
// {
|
||||||
|
// Console.WriteLine(ex.Message);
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList Get()
|
public ArrayList Get()
|
||||||
@ -3764,6 +3957,27 @@ namespace Volian.Controls.Library
|
|||||||
return GetCellStrings(jj);
|
return GetCellStrings(jj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//public CellRange get_cr_Paste()
|
||||||
|
//{
|
||||||
|
// mySeldTableCellsObject = new SelectedTableCells();
|
||||||
|
// CellRange cr = new CellRange();
|
||||||
|
// SelectedTableCells sc;
|
||||||
|
// IDataObject myRetrievedObject = Clipboard.GetDataObject();
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// //object obj = myRetrievedObject.GetData(dfmtTableCellRange.Name);
|
||||||
|
// object obj = myRetrievedObject.GetData("TableCellRange");
|
||||||
|
// //sc = (SelectedTableCells)myRetrievedObject.GetData(dfmtTableCellRange.Name);
|
||||||
|
// sc = (SelectedTableCells)obj;
|
||||||
|
// cr = sc.CpbrdCellRange;
|
||||||
|
// }
|
||||||
|
// catch (Exception ex)
|
||||||
|
// {
|
||||||
|
// Console.WriteLine(ex.Message);
|
||||||
|
// }
|
||||||
|
// return cr;
|
||||||
|
//}
|
||||||
|
|
||||||
private ArrayList GetCellStrings(string instr)
|
private ArrayList GetCellStrings(string instr)
|
||||||
{
|
{
|
||||||
// The table cells placed on the clipboard is saved as one long RTF string.
|
// The table cells placed on the clipboard is saved as one long RTF string.
|
||||||
@ -3886,4 +4100,43 @@ namespace Volian.Controls.Library
|
|||||||
_Text = text;
|
_Text = text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public class GridCopyInfo
|
||||||
|
{
|
||||||
|
private int _Bozo = 5;
|
||||||
|
[XmlIgnore]
|
||||||
|
public int Bozo
|
||||||
|
{
|
||||||
|
get { return _Bozo; }
|
||||||
|
set { _Bozo = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
private GridCopyOption _MyCopyOption = GridCopyOption.Selection;
|
||||||
|
|
||||||
|
public GridCopyOption MyCopyOption
|
||||||
|
{
|
||||||
|
get { return _MyCopyOption; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
Console.WriteLine("MyCopyOption = {0}", _MyCopyOption);
|
||||||
|
if (_MyCopyOption != value)
|
||||||
|
Console.WriteLine("Changed Option to {0}", value);
|
||||||
|
_MyCopyOption = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private VlnFlexGrid _MyCopiedFlexGrid = null;
|
||||||
|
|
||||||
|
public VlnFlexGrid MyCopiedFlexGrid
|
||||||
|
{
|
||||||
|
get { return _MyCopiedFlexGrid; }
|
||||||
|
set { _MyCopiedFlexGrid = value; }
|
||||||
|
}
|
||||||
|
private CellRange _MyCopiedCellRange;
|
||||||
|
|
||||||
|
public CellRange MyCopiedCellRange
|
||||||
|
{
|
||||||
|
get { return _MyCopiedCellRange; }
|
||||||
|
set { _MyCopiedCellRange = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user