This commit is contained in:
John Jenko 2011-04-15 14:45:39 +00:00
parent ee90d4d732
commit 6ac65a51a3
4 changed files with 495 additions and 795 deletions

View File

@ -341,6 +341,7 @@ namespace DataLoader
} }
private Regex _RemoveComments = new Regex(@"\\v .*?\\v0( |$)"); private Regex _RemoveComments = new Regex(@"\\v .*?\\v0( |$)");
private string ConvertTableToGrid(string stepText, Content content, FormatInfo fmt, bool isROTable) private string ConvertTableToGrid(string stepText, Content content, FormatInfo fmt, bool isROTable)
{ {
string savethis = stepText; string savethis = stepText;
@ -350,49 +351,7 @@ namespace DataLoader
VE_Font vefont = fmt.PlantFormat.FormatData.StepDataList.Table.Font; VE_Font vefont = fmt.PlantFormat.FormatData.StepDataList.Table.Font;
Font GridFont = new Font(vefont.Family, (float)vefont.Size); Font GridFont = new Font(vefont.Family, (float)vefont.Size);
grd.Font = GridFont; // this also changes the default Row Height "Rows.DefaultSize" grd.Font = GridFont; // this also changes the default Row Height "Rows.DefaultSize"
stepText = FixStepText(stepText); grd.ParseTableFromText(stepText);
stepText = stepText.Replace(@"\u8209?", "-");
stepText = stepText.Replace(@"\u9474?", "\xB3"); // Vert Line graphic character
stepText = stepText.Replace(@"\'b0", "\xB0");
stepText = stepText.Replace(@"\up2 ", "\x9566");
stepText = stepText.Replace(@"\up0 ", "\x9567");
stepText = stepText.Replace(@"\ulnone", "\xBB");
stepText = stepText.Replace(@"\ul", "\xAB");
stepText = stepText.Replace(@"\{", "{");
stepText = stepText.Replace(@"\}", "}");
stepText = stepText.Replace(@"\b0", "\xD6");
stepText = stepText.Replace(@"\b", "\xD5");
stepText = stepText.Replace(@"\u160?", "\xA0"); //hard space
stepText = stepText.Replace(@"\u916?", "\x7F"); // delta
stepText = stepText.Replace(@"\u8805?", "\xF2"); //greater than or equal
stepText = stepText.Replace(@"\u8804?", "\xF3"); // less than or equal
stepText = stepText.Replace(@"\u931?", "\xE4"); // sigma
stepText = stepText.Replace(@"\u947?", "\xE7"); // gamma
stepText = stepText.Replace(@"\u9604?", "\xFE"); // accum 2584
stepText = stepText.Replace(@"\u9679?", "\x7"); // bullet 25CF
stepText = stepText.Replace(@"\u8776?", "\xF7"); // approx eq
stepText = stepText.Replace(@"\u8773?", "\xF0"); // similar eq 2245
stepText = stepText.Replace(@"\u8730?", "\xFB"); // square root
stepText = stepText.Replace(@"\u961?", "\xE2"); // rho 3C1
stepText = stepText.Replace(@"\u960?", "\xE3"); // pi
stepText = stepText.Replace(@"\u956?", "\xE6"); // micro
stepText = stepText.Replace(@"\u948?", "\xEB"); // lower case delta
stepText = stepText.Replace(@"\u963?", "\xE5"); // lower case sigma
stepText = stepText.Replace(@"\u274?", "\x90"); // energy, 112
stepText = stepText.Replace(@"\u949?", "\xEE"); // epsilon
stepText = stepText.Replace(@"\u952?", "\xE9"); // theta, 3B8
stepText = stepText.Replace(@"\u8857?", "\xEC"); // dot in oval, 2299
stepText = stepText.Replace(@"\u964?", "\xA8"); // tau, 3C4
stepText = stepText.Replace(@"\u9830?", "\xA9"); // diamond, 2666
stepText = stepText.Replace(@"\u8593?", "\x18"); // Up Arrow - changes to \xff
stepText = stepText.Replace(@"\u8595?", "\x19"); // Down Arrow - changes to \xd6
//Console.WriteLine("B4 Parse Orig Text: '{0}'", savethis);
//Console.WriteLine("B4 Parse sym repl: '{0}'", stepText);
if (grd.IsRoTable)
grd.ParseTableFromText(_RemoveComments.Replace(stepText, ""));
else
grd.ParseTableFromText(stepText);
grd.AutoSizeCols(); grd.AutoSizeCols();
grd.AutoSizeRows(); grd.AutoSizeRows();
grd.MakeRTFcells(); grd.MakeRTFcells();
@ -407,23 +366,7 @@ namespace DataLoader
} }
return strGrid; return strGrid;
} }
//private void FixSymbolsInGridTable(Content content, ItemInfo ii)
//{
// VlnFlexGrid grd = new VlnFlexGrid(1, 1);
// using (TextReader stringreader = new StringReader(content.MyGrid.Data))
// {
// grd.ReadXml(stringreader);
// stringreader.Close();
// }
// for (int r = 0; r < grd.Rows.Count; r++)
// for (int c = 0; c < grd.Cols.Count; c++)
// {
// StepRTB trtb = new StepRTB();
// trtb = grd[r, c];
// DisplayText dt = new DisplayText(trtb.Rtf, true);
// grd[r, c] = dt.OriginalText;
// }
//}
private bool IsATable(int? contenttype) private bool IsATable(int? contenttype)
{ {
bool rtnval = false; bool rtnval = false;

View File

@ -290,12 +290,13 @@ namespace Volian.Controls.Library
{ {
if (MyFlexGrid.IsRoTable) if (MyFlexGrid.IsRoTable)
{ {
MyFlexGrid.MergedRanges.Clear(); MyFlexGrid.ConvertTableROToGrid(args.ValText, args.RODbID, args.ROID);
MyFlexGrid.Clear(); //MyFlexGrid.MergedRanges.Clear();
ConvertTableToGrid(args.RawValText); //MyFlexGrid.Clear();
MyFlexGrid.RODbId = args.RODbID; //ConvertTableToGrid(args.RawValText, args.RODbID, args.ROID);
MyFlexGrid.ROID = args.ROID; //MyFlexGrid.RODbId = args.RODbID;
SaveContents(); //MyFlexGrid.ROID = args.ROID;
//SaveContents();
} }
else else
MyStepRTB.UpdateStepRtb(args.LinkText, args.ValText); MyStepRTB.UpdateStepRtb(args.LinkText, args.ValText);
@ -498,17 +499,23 @@ namespace Volian.Controls.Library
MyItemInfo.MyContent.RefreshContentRoUsages(); MyItemInfo.MyContent.RefreshContentRoUsages();
return string.Format(@"#Link:ReferencedObject:{0} {1} {2}", rousg.ROUsageID, MyFlexGrid.ROID, MyFlexGrid.RODbId); return string.Format(@"#Link:ReferencedObject:{0} {1} {2}", rousg.ROUsageID, MyFlexGrid.ROID, MyFlexGrid.RODbId);
} }
private void ConvertTableToGrid(string valtext) //private void ConvertTableToGrid(string valtext, int rodbid, string roid)
{ //{
VE_Font vefont = MyItemInfo.GetItemFont(); // VE_Font vefont = MyItemInfo.GetItemFont();
MyFlexGrid.Font = vefont.WindowsFont; // MyFlexGrid.Font = vefont.WindowsFont;
Initializing = true; // //Initializing = true;
MyFlexGrid.ParseTableFromText(valtext); // MyFlexGrid.MergedRanges.Clear();
MyFlexGrid.AutoSizeCols(); // MyFlexGrid.Clear();
MyFlexGrid.AutoSizeRows(); // MyFlexGrid.ParseTableFromText(valtext);
MyFlexGrid.MakeRTFcells(); // MyFlexGrid.AutoSizeCols();
Initializing = false; // MyFlexGrid.AutoSizeRows();
} // MyFlexGrid.MakeRTFcells();
// MyFlexGrid.RODbId = rodbid;
// MyFlexGrid.ROID = roid;
// MyFlexGrid.IsRoTable = true;
// //Initializing = false;
// SaveContents();
//}
private bool FinishSave(string searchableText) private bool FinishSave(string searchableText)
{ {
// Just in case if the grid was in a mode to change sizes, clear out that setting // Just in case if the grid was in a mode to change sizes, clear out that setting
@ -879,18 +886,19 @@ namespace Volian.Controls.Library
IdentifyMe(false); IdentifyMe(false);
} }
private void RefreshGridData() //private void RefreshGridData()
{ //{
string ROID = MyFlexGrid.ROID; // string ROID = MyFlexGrid.ROID;
int rodbid = MyFlexGrid.RODbId; // int rodbid = MyFlexGrid.RODbId;
MyFlexGrid.Clear(); // //MyFlexGrid.Clear();
ROFSTLookup MyROFSTLookup = MyItemInfo.MyDocVersion.DocVersionAssociations[0].MyROFst.ROFSTLookup; // ROFSTLookup MyROFSTLookup = MyItemInfo.MyDocVersion.DocVersionAssociations[0].MyROFst.ROFSTLookup;
ConvertTableToGrid(MyROFSTLookup.GetRoValue(ROID)); // MyFlexGrid.ConvertTableROToGrid(MyROFSTLookup.GetRoValue(ROID), rodbid, ROID);
MyFlexGrid.RODbId = rodbid; // //ConvertTableToGrid(MyROFSTLookup.GetRoValue(ROID), rodbid, ROID);
MyFlexGrid.ROID = ROID; // //MyFlexGrid.RODbId = rodbid;
MyFlexGrid.IsRoTable = true; // //MyFlexGrid.ROID = ROID;
SaveContents(); // //MyFlexGrid.IsRoTable = true;
} // //SaveContents();
//}
public override void SetExpandAndExpander(ItemInfo itemInfo) { CanExpand = false; } // can't expand a table public override void SetExpandAndExpander(ItemInfo itemInfo) { CanExpand = false; } // can't expand a table
public void SavePastedCellRoTran() public void SavePastedCellRoTran()
{ {

View File

@ -1171,15 +1171,17 @@ namespace Volian.Controls.Library
} }
string roid = myGrid.ROID; string roid = myGrid.ROID;
int rodbid = myGrid.RODbId; int rodbid = myGrid.RODbId;
Font GridFont = myGrid.Font; ////Font GridFont = myGrid.Font;
myGrid.Clear(); //myGrid.MergedRanges.Clear();
myGrid.ParseTableFromText(args.ROText); //myGrid.Clear();
myGrid.AutoSizeCols(); //myGrid.ParseTableFromText(args.ROText);
myGrid.AutoSizeRows(); //myGrid.AutoSizeCols();
myGrid.MakeRTFcells(); //myGrid.AutoSizeRows();
myGrid.RODbId = rodbid; //myGrid.MakeRTFcells();
myGrid.ROID = roid; //myGrid.RODbId = rodbid;
myGrid.IsRoTable = true; //myGrid.ROID = roid;
//myGrid.IsRoTable = true;
myGrid.ConvertTableROToGrid(args.ROText, rodbid, roid);
using (StringWriter sw = new StringWriter()) using (StringWriter sw = new StringWriter())
{ {
myGrid.WriteXml(sw); myGrid.WriteXml(sw);

File diff suppressed because it is too large Load Diff