Added ROFSTLookup property to Display RO control
Changed how ROFSTLookup object was obtained based on correct DocVersion Added change to ROFSTLookup property to trigger a update of RO values Update LoadTree method to use ROFSTLookup property value
This commit is contained in:
parent
9b9ca02bef
commit
8de1e073ee
@ -27,6 +27,17 @@ namespace Volian.Controls.Library
|
||||
set { _TabControl = value; }
|
||||
}
|
||||
private ROFstInfo _CurROFST = null;
|
||||
private ROFSTLookup _CurROFSTLookup = null;
|
||||
private ROFSTLookup _MyROFSTLookup;
|
||||
public ROFSTLookup MyROFSTLookup
|
||||
{
|
||||
get { return _MyROFSTLookup; }
|
||||
set
|
||||
{
|
||||
_MyROFSTLookup = value;
|
||||
LoadTree();
|
||||
}
|
||||
}
|
||||
private ROFstInfo _MyROFST;
|
||||
public ROFstInfo MyROFST
|
||||
{
|
||||
@ -110,7 +121,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
string lookFor = MyRTB.SelectedText.Replace('\u2011', '-');
|
||||
List<ROFSTLookup.roChild> children = null;
|
||||
if (_MyROFST != null) children = _MyROFST.ROFSTLookup.GetRosByValue(lookFor);
|
||||
if (_MyROFST != null) children = _MyROFST.GetROFSTLookup(Mydvi).GetRosByValue(lookFor);
|
||||
if (children != null)
|
||||
{
|
||||
lbFound.Visible = true;
|
||||
@ -135,12 +146,13 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
|
||||
private DocVersionInfo _Mydvi;
|
||||
//private DocVersionInfo _Mydvi;
|
||||
|
||||
public DocVersionInfo Mydvi
|
||||
{
|
||||
get { return _Mydvi; }
|
||||
set { _Mydvi = value; }
|
||||
get { return MyROFSTLookup != null ? MyROFSTLookup.MyDocVersionInfo : null; }
|
||||
// get { return _Mydvi; }
|
||||
//set { _Mydvi = value; }
|
||||
}
|
||||
|
||||
|
||||
@ -393,6 +405,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
_CurROFST = null;
|
||||
_CurROFSTLookup = null;
|
||||
LoadTree();
|
||||
if (_SelectedRoidBeforeRoEditor != null)
|
||||
{
|
||||
@ -406,18 +419,20 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
tvROFST.Nodes.Clear();
|
||||
_CurROFST = null;
|
||||
_CurROFSTLookup = null;
|
||||
return;
|
||||
}
|
||||
if (_MyROFST == _CurROFST && ROTypeFilter == _CurrentROTypeFilter) return;
|
||||
if (_MyROFST == _CurROFST && ROTypeFilter == _CurrentROTypeFilter && _MyROFSTLookup == _CurROFSTLookup) return;
|
||||
tvROFST.Nodes.Clear();
|
||||
_CurROFST = _MyROFST;
|
||||
_CurROFSTLookup = _MyROFSTLookup;
|
||||
_CurrentROTypeFilter = ROTypeFilter;
|
||||
for (int i = 0; i < _MyROFST.ROFSTLookup.myHdr.myDbs.Length; i++)
|
||||
for (int i = 0; i < _MyROFST.GetROFSTLookup(Mydvi).myHdr.myDbs.Length; i++)
|
||||
{
|
||||
TreeNode tn = new TreeNode(_MyROFST.ROFSTLookup.myHdr.myDbs[i].dbiTitle);
|
||||
tn.Tag = _MyROFST.ROFSTLookup.myHdr.myDbs[i];
|
||||
TreeNode tn = new TreeNode(_MyROFST.GetROFSTLookup(Mydvi).myHdr.myDbs[i].dbiTitle);
|
||||
tn.Tag = _MyROFST.GetROFSTLookup(Mydvi).myHdr.myDbs[i];
|
||||
tvROFST.Nodes.Add(tn);
|
||||
AddDummyGroup(_MyROFST.ROFSTLookup.myHdr.myDbs[i], tn);
|
||||
AddDummyGroup(_MyROFST.GetROFSTLookup(Mydvi).myHdr.myDbs[i], tn);
|
||||
}
|
||||
if ((ROTypeFilter == E_ROValueType.Text || ROTypeFilter == E_ROValueType.All) && this.Mydvi != null && this.Mydvi.MultiUnitCount > 1)
|
||||
{
|
||||
@ -432,6 +447,7 @@ namespace Volian.Controls.Library
|
||||
if (ROID == "FFFF00000007") return _ROFstInfo.docVer.DocVersionConfig.Unit_Name;
|
||||
if (ROID == "FFFF00000008") return _ROFstInfo.docVer.DocVersionConfig.Other_Unit_Name;
|
||||
*/
|
||||
/*
|
||||
TreeNode cn = tnn.Nodes.Add("Number");
|
||||
cn.Tag = MyROFST.ROFSTLookup.GetRoChild("FFFF00000001");
|
||||
cn = tnn.Nodes.Add("Other Number");
|
||||
@ -448,6 +464,23 @@ namespace Volian.Controls.Library
|
||||
cn.Tag = MyROFST.ROFSTLookup.GetRoChild("FFFF00000007");
|
||||
cn = tnn.Nodes.Add("Other Name");
|
||||
cn.Tag = MyROFST.ROFSTLookup.GetRoChild("FFFF00000008");
|
||||
*/
|
||||
TreeNode cn = tnn.Nodes.Add("Number");
|
||||
cn.Tag = MyROFSTLookup.GetRoChild("FFFF00000001");
|
||||
cn = tnn.Nodes.Add("Other Number");
|
||||
cn.Tag = MyROFSTLookup.GetRoChild("FFFF00000002");
|
||||
cn = tnn.Nodes.Add("Text");
|
||||
cn.Tag = MyROFSTLookup.GetRoChild("FFFF00000003");
|
||||
cn = tnn.Nodes.Add("Other Text");
|
||||
cn.Tag = MyROFSTLookup.GetRoChild("FFFF00000004");
|
||||
cn = tnn.Nodes.Add("ID");
|
||||
cn.Tag = MyROFSTLookup.GetRoChild("FFFF00000005");
|
||||
cn = tnn.Nodes.Add("Other ID");
|
||||
cn.Tag = MyROFSTLookup.GetRoChild("FFFF00000006");
|
||||
cn = tnn.Nodes.Add("Name");
|
||||
cn.Tag = MyROFSTLookup.GetRoChild("FFFF00000007");
|
||||
cn = tnn.Nodes.Add("Other Name");
|
||||
cn.Tag = MyROFSTLookup.GetRoChild("FFFF00000008");
|
||||
}
|
||||
}
|
||||
private void AddDummyGroup(ROFSTLookup.rodbi rodbi, TreeNode tn)
|
||||
@ -475,7 +508,7 @@ namespace Volian.Controls.Library
|
||||
if (roid.Length == 16)
|
||||
multValSel = true;
|
||||
|
||||
ROFSTLookup.rochild rochld = MyROFST.ROFSTLookup.GetRoChild(roid.Substring(0, 12).ToUpper());
|
||||
ROFSTLookup.rochild rochld = MyROFSTLookup.GetRoChild(roid.Substring(0, 12).ToUpper());
|
||||
// use this to walk up tree until database - this is used to expand tree.
|
||||
List<int> path = new List<int>();
|
||||
int myid = rochld.ID;
|
||||
@ -484,7 +517,7 @@ namespace Volian.Controls.Library
|
||||
path.Insert(0, myid);
|
||||
myid = rochld.ParentID;
|
||||
String pROID = string.Format("{0}{1:X08}",db,myid);
|
||||
rochld = MyROFST.ROFSTLookup.GetRoChild(pROID);
|
||||
rochld = MyROFSTLookup.GetRoChild(pROID);
|
||||
//rochld = MyROFST.ROFSTLookup.GetRoChildFromID(myid); Did not include db
|
||||
if (rochld.ID == -1) myid = -1;
|
||||
}
|
||||
@ -564,7 +597,7 @@ namespace Volian.Controls.Library
|
||||
if (dti.MyDSOTabPanel != null) // A Word Document tab is the active tab
|
||||
{
|
||||
int dbiId = System.Convert.ToInt32(roch.roid.Substring(0, 4), 16);
|
||||
ROFSTLookup.rodbi[] dbs = MyROFST.ROFSTLookup.GetRODatabaseList();
|
||||
ROFSTLookup.rodbi[] dbs = MyROFSTLookup.GetRODatabaseList();
|
||||
bool dbFound = false;
|
||||
ROFSTLookup.rodbi db = dbs[0];
|
||||
foreach (ROFSTLookup.rodbi rodbi in dbs)
|
||||
@ -591,8 +624,8 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
else
|
||||
{
|
||||
string accPrefix = db.dbiAP.Replace(_Mydvi.DocVersionConfig.RODefaults_graphicsprefix, "IG");
|
||||
accPrefix = accPrefix.Replace(_Mydvi.DocVersionConfig.RODefaults_setpointprefix, "SP");
|
||||
string accPrefix = db.dbiAP.Replace(Mydvi.DocVersionConfig.RODefaults_graphicsprefix, "IG");
|
||||
accPrefix = accPrefix.Replace(Mydvi.DocVersionConfig.RODefaults_setpointprefix, "SP");
|
||||
// string accPrefix = (roch.type == 8) ? _Mydvi.DocVersionConfig.RODefaults_graphicsprefix : _Mydvi.DocVersionConfig.RODefaults_setpointprefix;
|
||||
string suffix = (roch.roid.Length == 12 || roch.roid.Substring(12, 4) == "0041") ? "" : "." + ((char)Convert.ToInt32(roch.roid.Substring(12, 4), 16)).ToString();
|
||||
AccPageID = string.Format("<{0}-{1}{2}>", accPrefix, roch.appid, suffix);// makes <SP1-A.1.B> for example
|
||||
@ -617,7 +650,7 @@ namespace Volian.Controls.Library
|
||||
string padroid = (roch.roid.Length <= 12) ? roch.roid + "0000" : roch.roid;
|
||||
string linktxt = string.Format(@"#Link:ReferencedObject:<NewID> {0} {1}", padroid, _MyROFST.MyRODb.RODbID);
|
||||
// Resolve symbols and scientific notation in the RO return value
|
||||
string valtxt = _MyROFST.ROFSTLookup.GetTranslatedRoValue(padroid, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta); //ConvertSymbolsAndStuff(selectedChld.value);
|
||||
string valtxt = _MyROFST.GetROFSTLookup(Mydvi).GetTranslatedRoValue(padroid, MyRTB.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.ConvertCaretToDelta); //ConvertSymbolsAndStuff(selectedChld.value);
|
||||
MyRTB.OnRoInsert(this, new StepRTBRoEventArgs(valtxt, selectedChld.value, linktxt, padroid, _MyROFST.MyRODb.RODbID));
|
||||
}
|
||||
btnGoToRO.Enabled = btnSaveRO.Enabled = btnCancelRO.Enabled = btnPreviewRO.Enabled = false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user