public override RawRecord Next() { if (this.inputOp.State()) { RawRecord r = this.inputOp.Next(); if (r == null) { this.Close(); return(null); } PathField path = r[this.pathIndex] as PathField; Debug.Assert(path != null); this.treeFunction.Accumulate(path); if (!this.inputOp.State()) { this.Close(); } return(r); } return(null); }
void IProduct.FillTableLayoutPanel(TableLayoutPanel TLP, IRole UVO) { ZhgutVO wp = (ZhgutVO)this; TextBox tb = new TextBox(); DBCategory dbc = new DBCategory("ZHGUTLIST"); tb.Text = dbc.GetName(wp.IDCat); tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; UIWorks.AddToTLP(TLP, "Категория", tb); tb = new TextBox(); DBSubCategory dbsc = new DBSubCategory(); tb.Text = dbsc.GetName(wp.IDSubCat); tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; UIWorks.AddToTLP(TLP, "Подкатегория", tb); PathField pf = new PathField(); pf.Tag = Roles.Inzhener; pf.Init(wp.ZHGUTPATH, true, false, false, true, Roles.Inzhener, "VIEWONLY", UVO, "ZHGUTPATH", null, this); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Изготовление жгута", pf); }
private void Home_Hide() { // changes the displayed items to fit non-home screens PathTxt.Show(); PathField.Show(); ScanBtn.Show(); PathBtn.Show(); HomeContent.Hide(); HomePanel.Hide(); SettingsBox.Hide(); SettingsTitle.Hide(); }
public static void AddToTLP(TableLayoutPanel TLP, string LableText, PathField pf) { TLP.RowCount = TLP.RowCount + 1; TLP.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F)); Label l = new Label(); l.Text = LableText; l.AutoSize = false; l.Size = new System.Drawing.Size(174, 38); TLP.Controls.Add(l, 0, TLP.RowCount - 1); TLP.Controls.Add(pf, 1, TLP.RowCount - 1); }
private static void ConstructTree(TreeField root, int index, PathField pathField) { if (index >= pathField.Path.Count) { return; } PathStepField pathStepField = pathField.Path[index++] as PathStepField; Debug.Assert(pathStepField != null, "pathStepField != null"); CompositeField compose1PathStep = pathStepField.StepFieldObject as CompositeField; Debug.Assert(compose1PathStep != null, "compose1PathStep != null"); FieldObject nodeObject = compose1PathStep[compose1PathStep.DefaultProjectionKey]; TreeField child; if (!root.Children.TryGetValue(nodeObject, out child)) { child = new TreeField(nodeObject); root.Children[nodeObject] = child; } ConstructTree(child, index, pathField); }
public override FieldObject Evaluate(RawRecord record) { List <FieldObject> path = new List <FieldObject>(); foreach (Tuple <ScalarFunction, bool, HashSet <string> > tuple in pathStepList) { ScalarFunction accessPathStepFunc = tuple.Item1; bool needsUnfold = tuple.Item2; HashSet <string> stepLabels = tuple.Item3; if (accessPathStepFunc == null) { PathStepField pathStepField = new PathStepField(null); foreach (string label in stepLabels) { pathStepField.AddLabel(label); } path.Add(pathStepField); continue; } FieldObject step = accessPathStepFunc.Evaluate(record); if (step == null) { PathStepField lastPathStep; if (path.Any()) { lastPathStep = (PathStepField)path[path.Count - 1]; } else { lastPathStep = new PathStepField(null); path.Add(lastPathStep); } foreach (string label in stepLabels) { lastPathStep.AddLabel(label); } continue; } if (needsUnfold) { PathField subPath = step as PathField; Debug.Assert(subPath != null, "(subPath as PathField) != null"); foreach (PathStepField subPathStep in subPath.Path.Cast <PathStepField>()) { if (subPathStep.StepFieldObject == null) { if (path.Any()) { PathStepField lastPathStep = (PathStepField)path[path.Count - 1]; foreach (string label in subPathStep.Labels) { lastPathStep.AddLabel(label); } } else { path.Add(subPathStep); } continue; } PathStepField pathStepField = new PathStepField(subPathStep.StepFieldObject); foreach (string label in subPathStep.Labels) { pathStepField.AddLabel(label); } path.Add(pathStepField); } PathStepField lastSubPathStep = (PathStepField)path.Last(); foreach (string label in stepLabels) { lastSubPathStep.AddLabel(label); } } else { PathStepField pathStepField = new PathStepField(step); foreach (string label in stepLabels) { pathStepField.AddLabel(label); } path.Add(pathStepField); } } return(new PathField(path)); }
void IProduct.FillTableLayoutPanel(TableLayoutPanel TLP, IRole UVO) { //===============================================================Inzhener WPNameVO wp = (WPNameVO)this; if (wp.COMPOSITIONREQ) { PathField pf = new PathField(); pf.Tag = Roles.Inzhener; pf.Init(wp.COMPOSITION, true, false, false, true, Roles.Inzhener, "VIEWONLY", UVO, "COMPOSITION", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; //pf.tbPath.Dock = DockStyle.Left; //pf.tbPath.Anchor = AnchorStyles.Left | AnchorStyles.Right; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Состав изделия", pf); } if (wp.TECHREQREQ) { PathField pf = new PathField(); pf.Tag = Roles.Inzhener; pf.Init(wp.TECHREQ, true, false, false, true, Roles.Inzhener, "VIEWONLY", UVO, "TECHREQ", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Технические требования", pf); } if (wp.CONFIGURATIONREQ) { PathField pf = new PathField(); pf.Tag = Roles.Inzhener; pf.Init(wp.CONFIGURATION, true, false, false, true, Roles.Inzhener, "VIEWONLY", UVO, "CONFIGURATION", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Конфигурация", pf); } //===============================================================Constructor if (wp.DIMENSIONALDRAWINGREQ) { PathField pf = new PathField(); pf.Tag = Roles.Constructor; pf.Init(wp.DIMENDRAWING, true, false, false, true, Roles.Constructor, "VIEWONLY", UVO, "DIMENSIONALDRAWING", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Габаритный чертёж", pf); } if (wp.SBORKA3DREQ) { PathField pf = new PathField(); pf.Tag = Roles.Constructor; pf.Init(wp.SBORKA3D, true, false, false, true, Roles.Constructor, "VIEWONLY", UVO, "SBORKA3D", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "3Д сборка", pf); } if (wp.MECHPARTSREQ) { PathField pf = new PathField(); pf.Tag = Roles.Constructor; pf.Init(wp.MECHPARTS, true, false, false, true, Roles.Constructor, "VIEWONLY", UVO, "MECHPARTS", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Проект механических деталей", pf); } if (wp.SHILDSREQ) { PathField pf = new PathField(); pf.Tag = Roles.Constructor; pf.Init(wp.SHILDS, true, false, false, true, Roles.Constructor, "VIEWONLY", UVO, "SHILDS", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Шильды", pf); } /*if (wp.PLANKAREQ) * { * PathField pf = new PathField(); * pf.Tag = Roles.Constructor; * pf.Init(wp.PLANKA, true, false, false, true, Roles.Constructor, UVO.Role); * pf.bDelVisible = false; * pf.bPathVisible = false; * pf.tbPath.Width += 150; * UIWorks.AddToTLP(TLP, "Планка фирменная", pf); * }*/ if (wp.PACKAGINGREQ) { PathField pf = new PathField(); pf.Tag = Roles.Constructor; pf.Init(wp.PACKAGING, true, false, false, true, Roles.Constructor, "VIEWONLY", UVO, "PACKAGING", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Упаковка", pf); } //===================================================================================TEHNOLOG //===================================================================================shemotehbik if (wp.WIRINGDIAGRAMREQ) { PathField pf = new PathField(); pf.Tag = Roles.Shemotehnik; pf.Init(wp.WIRINGDIAGRAM, true, false, false, true, Roles.Shemotehnik, "VIEWONLY", UVO, "WIRINGDIAGRAM", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Схема электрическая монтажная", pf); } //===================================================================================OTD //if (wp.PASSPORTREQ) //{ // PathField pf = new PathField(); // pf.Tag = Roles.OTD; // pf.Init(wp.PASSPORT, true, false, false, true, Roles.OTD, UVO.Role, "VIEWONLY"); // pf.bDelVisible = false; // pf.bPathVisible = false; // pf.tbPath.Dock = DockStyle.Fill; // pf.Dock = DockStyle.Fill; // UIWorks.AddToTLP(TLP, "Паспорт/ЭТ", pf); //} //if (wp.MANUALREQ) //{ // PathField pf = new PathField(); // pf.Tag = Roles.OTD; // pf.Init(wp.MANUAL, true, false, false, true, Roles.OTD, UVO.Role, "VIEWONLY"); // pf.bDelVisible = false; // pf.bPathVisible = false; // pf.tbPath.Dock = DockStyle.Fill; // pf.Dock = DockStyle.Fill; // UIWorks.AddToTLP(TLP, "РЭ", pf); //} //if (wp.PACKINGLISTREQ) //{ // PathField pf = new PathField(); // pf.Tag = Roles.OTD; // pf.Init(wp.PACKINGLIST, true, false, false, true, Roles.OTD, UVO.Role, "VIEWONLY"); // pf.bDelVisible = false; // pf.bPathVisible = false; // pf.tbPath.Dock = DockStyle.Fill; // pf.Dock = DockStyle.Fill; // UIWorks.AddToTLP(TLP, "Лист упаковочный", pf); //} //===================================================================================OTK /*if (wp.SERIALREQ) * { * PathField pf = new PathField(); * pf.Tag = Roles.OTK; * pf.Init(wp.SERIAL, true, false, false, true, Roles.OTK, UVO.Role); * pf.bDelVisible = false; * pf.bPathVisible = false; * pf.tbPath.Width += 150; * UIWorks.AddToTLP(TLP, "Серийные номера", pf); * }*/ TextBox tb = new TextBox(); tb.Tag = Roles.OTK; tb.Text = wp.LENGTH; tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; if ((tb.Text == "") && (UVO.Role == Roles.OTK)) { tb.BackColor = Color.Tomato; } UIWorks.AddToTLP(TLP, "Длина", tb); tb = new TextBox(); tb.Tag = Roles.OTK; tb.Text = wp.WIDTH; tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; if ((tb.Text == "") && (UVO.Role == Roles.OTK)) { tb.BackColor = Color.Tomato; } UIWorks.AddToTLP(TLP, "Ширина", tb); tb = new TextBox(); tb.Tag = Roles.OTK; tb.Text = wp.HEIGHT; tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; if ((tb.Text == "") && (UVO.Role == Roles.OTK)) { tb.BackColor = Color.Tomato; } UIWorks.AddToTLP(TLP, "Высота", tb); tb = new TextBox(); tb.Tag = Roles.OTK; tb.Text = wp.WEIGHT; tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; if ((tb.Text == "") && (UVO.Role == Roles.OTK)) { tb.BackColor = Color.Tomato; } UIWorks.AddToTLP(TLP, "Вес", tb); }
void IProduct.FillTableLayoutPanel(TableLayoutPanel TLP, IRole UVO) { CableVO wp = (CableVO)this; TextBox tb = new TextBox(); DBCategory dbc = new DBCategory("CABLELIST"); tb.Text = dbc.GetName(wp.IDCat); tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; UIWorks.AddToTLP(TLP, "Категория", tb); tb = new TextBox(); DBSubCategory dbsc = new DBSubCategory(); tb.Text = dbsc.GetName(wp.IDSubCat); tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; UIWorks.AddToTLP(TLP, "Подкатегория", tb); PathField pf = new PathField(); pf.Tag = Roles.Inzhener; pf.Init(wp.DIMENDRAWING, true, false, false, true, Roles.Inzhener, "VIEWONLY", UVO, "DIMENSIONALDRAWING_CABLE", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Width += 150; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Сборочный чертёж", pf); pf = new PathField(); pf.Tag = Roles.Inzhener; pf.Init(wp.MECHPARTS, true, false, false, true, Roles.Inzhener, "VIEWONLY", UVO, "MECHPARTS_CABLE", null, wp); pf.bDelVisible = false; pf.bPathVisible = false; pf.tbPath.Width += 150; pf.tbPath.Dock = DockStyle.Fill; pf.Dock = DockStyle.Fill; pf.bRemark.Visible = false; UIWorks.AddToTLP(TLP, "Проект мех. деталей", pf); tb = new TextBox(); tb.Text = wp.CONECTORS; tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; UIWorks.AddToTLP(TLP, "Соединители", tb); tb = new TextBox(); tb.Text = wp.CLENGTH; tb.Anchor = AnchorStyles.Left | AnchorStyles.Right; tb.ReadOnly = true; tb.Dock = DockStyle.Fill; UIWorks.AddToTLP(TLP, "Длина", tb); }
public override RawRecord Next() { RawRecord inputRec; while (this.inputOp.State() && (inputRec = this.inputOp.Next()) != null) { List <FieldObject> path = new List <FieldObject>(); int activeByFuncIndex = 0; foreach (Tuple <ScalarFunction, bool, HashSet <string> > tuple in pathStepList) { ScalarFunction accessPathStepFunc = tuple.Item1; bool needsUnfold = tuple.Item2; HashSet <string> stepLabels = tuple.Item3; if (accessPathStepFunc == null) { PathStepField pathStepField = new PathStepField(null); foreach (string label in stepLabels) { pathStepField.AddLabel(label); } path.Add(pathStepField); continue; } FieldObject step = accessPathStepFunc.Evaluate(inputRec); if (step == null) { PathStepField lastPathStep; if (path.Any()) { lastPathStep = (PathStepField)path[path.Count - 1]; } else { lastPathStep = new PathStepField(null); path.Add(lastPathStep); } foreach (string label in stepLabels) { lastPathStep.AddLabel(label); } continue; } if (needsUnfold) { PathField subPath = step as PathField; Debug.Assert(subPath != null, "(subPath as PathField) != null"); foreach (PathStepField subPathStep in subPath.Path.Cast <PathStepField>()) { if (subPathStep.StepFieldObject == null) { if (path.Any()) { PathStepField lastPathStep = (PathStepField)path[path.Count - 1]; foreach (string label in subPathStep.Labels) { lastPathStep.AddLabel(label); } } else { path.Add(subPathStep); } continue; } FieldObject pathStep = GetStepProjectionResult(subPathStep.StepFieldObject, ref activeByFuncIndex); PathStepField pathStepField = new PathStepField(pathStep); foreach (string label in subPathStep.Labels) { pathStepField.AddLabel(label); } path.Add(pathStepField); } PathStepField lastSubPathStep = (PathStepField)path.Last(); foreach (string label in stepLabels) { lastSubPathStep.AddLabel(label); } } else { FieldObject pathStep = GetStepProjectionResult(step, ref activeByFuncIndex); Compose1Field compose1PathStep = pathStep as Compose1Field; Debug.Assert(compose1PathStep != null, "compose1PathStep != null"); // // g.V().optional(__.count().V()).path() // if (compose1PathStep[compose1PathStep.DefaultProjectionKey] == null) { continue; } PathStepField pathStepField = new PathStepField(pathStep); foreach (string label in stepLabels) { pathStepField.AddLabel(label); } path.Add(pathStepField); } } RawRecord r = new RawRecord(inputRec); r.Append(new PathField(path)); return(r); } this.Close(); return(null); }
internal override List <RawRecord> CrossApply(RawRecord record) { List <RawRecord> results = new List <RawRecord>(); FieldObject unfoldTarget = getUnfoldTargetFunc.Evaluate(record); if (unfoldTarget is PathField) { PathField path = (PathField)unfoldTarget; foreach (PathStepField pathStep in path.Path.Cast <PathStepField>()) { if (pathStep == null) { continue; } RawRecord flatRecord = new RawRecord(); Compose1Field compose1StepField = pathStep.StepFieldObject as Compose1Field; Debug.Assert(compose1StepField != null, "compose1StepField != null"); // // Extract only needed columns from Compose1Field // foreach (string unfoldColumn in populateColumns) { flatRecord.Append(compose1StepField[unfoldColumn]); } results.Add(flatRecord); } } else if (unfoldTarget is CollectionField) { CollectionField inputCollection = (CollectionField)unfoldTarget; foreach (FieldObject singleObj in inputCollection.Collection) { if (singleObj == null) { continue; } RawRecord flatRecord = new RawRecord(); Compose1Field compose1ObjField = singleObj as Compose1Field; Debug.Assert(compose1ObjField != null, "compose1ObjField != null"); // // Extract only needed columns from Compose1Field // foreach (string unfoldColumn in populateColumns) { flatRecord.Append(compose1ObjField[unfoldColumn]); } results.Add(flatRecord); } } else if (unfoldTarget is MapField) { MapField inputMap = (MapField)unfoldTarget; foreach (EntryField entry in inputMap) { RawRecord entryRecord = new RawRecord(); foreach (string columnName in this.populateColumns) { entryRecord.Append(columnName.Equals(GraphViewKeywords.KW_TABLE_DEFAULT_COLUMN_NAME) ? entry : (FieldObject)null); } results.Add(entryRecord); } } else { RawRecord flatRecord = unfoldTarget.FlatToRawRecord(this.populateColumns); results.Add(flatRecord); } return(results); }