private bool EditPropertyComponent(MbeObjComponent obj) { SetComponentForm dlg = new SetComponentForm(); dlg.LineWidth = obj.RefNumLineWidth; dlg.TextHeight = obj.RefNumTextHeight; dlg.PackageName = obj.PackageName; dlg.RefNumString = obj.RefNumText; dlg.ComponentName = obj.SigName; dlg.RemarksText = obj.RemarksText; dlg.DrawRefOnDoc = obj.DrawRefOnDoc; dlg.Anglex10 = obj.AngleX10; DialogResult retv = dlg.ShowDialog(); if (retv == DialogResult.OK) { obj.RefNumLineWidth = dlg.LineWidth; obj.RefNumTextHeight = dlg.TextHeight; obj.PackageName = dlg.PackageName; obj.RefNumText = dlg.RefNumString; obj.SigName = dlg.ComponentName; obj.RemarksText = dlg.RemarksText; obj.DrawRefOnDoc = dlg.DrawRefOnDoc; obj.AngleX10 = dlg.Anglex10; return(true); } return(false); }
/// <summary> /// ReadCE3のストリームから、startWordで始まるMbeObjを読み取る /// </summary> /// <param name="readMb3"></param> /// <param name="startWord"></param> /// <param name="obj"></param> /// <returns></returns> public static ReadCE3.RdStatus ReadMbeObj(ReadCE3 readMb3, string startWord, out MbeObj obj) { ReadCE3.RdStatus result = ReadCE3.RdStatus.NoError; obj = null; if (startWord == "+MBE_HOLE") { obj = new MbeObjHole(); } else if (startWord == "+MBE_PTH") { obj = new MbeObjPTH(); } else if (startWord == "+MBE_PINSMD") { obj = new MbeObjPinSMD(true); } else if (startWord == "+MBE_FLASHMARK") { obj = new MbeObjPinSMD(false); } else if (startWord == "+MBE_LINE") { obj = new MbeObjLine(); } else if (startWord == "+MBE_POLYGON") { obj = new MbeObjPolygon(); } else if (startWord == "+MBE_TEXT") { obj = new MbeObjText(); } else if (startWord == "+MBE_ARC") { obj = new MbeObjArc(); } else if (startWord == "+MBE_COMPONENT") { obj = new MbeObjComponent(); } else { string strSkipTo = "-" + startWord.Substring(1); readMb3.SkipTo(strSkipTo); } if (obj != null) { result = obj.RdMb3(readMb3); if (result != ReadCE3.RdStatus.NoError) { obj = null; } } return(result); }
private void IDOK_Click(object sender, EventArgs e) { if (listBoxComponent.Items.Count > 0 && listBoxComponent.SelectedIndex >= 0) { selectedComponent = (MbeObjComponent)((MbeObjComponent)listBoxComponent.SelectedItem).Duplicate(); } else { selectedComponent = null; } DialogResult = DialogResult.OK; }
private void SearchFromList(string searchWord, LinkedList <MbeObj> mbeDataList, ulong visibleLayer) { if (mbeDataList == null || mbeDataList.Count == 0) { return; } foreach (MbeObj obj in mbeDataList) { if (obj.DeleteCount < 0) { if (obj.Id() == MbeObjID.MbeText) { if (((ulong)obj.Layer & visibleLayer) != 0) { if (obj.SigName.ToUpper().Contains(searchWord)) { addItem(obj.SigName, "Text", obj.GetPos(0)); } } } else if (obj.Id() == MbeObjID.MbeComponent) { MbeObjComponent compObj = (MbeObjComponent)obj; if (compObj.DrawRefOnDoc && (((ulong)MbeLayer.LayerValue.DOC & visibleLayer) != 0) || !compObj.DrawRefOnDoc && (((ulong)(compObj.Layer == MbeLayer.LayerValue.CMP ? MbeLayer.LayerValue.PLC : MbeLayer.LayerValue.PLS) & visibleLayer) != 0)) { if (compObj.RefNumText.ToUpper().Contains(searchWord)) { addItem(compObj.RefNumText, "Reference", compObj.RefnumPos()); } } if (((ulong)compObj.Layer & visibleLayer) != 0) { if (compObj.PackageName.ToUpper().Contains(searchWord)) { addItem(compObj.PackageName, "Package", compObj.GetPos(0)); } if (compObj.SigName.ToUpper().Contains(searchWord)) { addItem(compObj.SigName, "Name", compObj.GetPos(0)); } } } } } }
/// <summary> /// コピーコンストラクタ /// </summary> /// <param name="mbeObjPin"></param> public MbeObjComponent(MbeObjComponent mbeObjComponent) : base(mbeObjComponent) { //layer = mbeObjComponent.layer; refNum = (MbeObjText)mbeObjComponent.refNum.Duplicate(); packageName = mbeObjComponent.packageName; remarksText = mbeObjComponent.remarksText; angleX10 = mbeObjComponent.angleX10; //pinCount = mbeObjComponent.pinCount; if (mbeObjComponent.contentsObj != null) { int n = mbeObjComponent.contentsObj.Count; contentsObj = new List <MbeObj>(n); for (int i = 0; i < n; i++) { MbeObj obj = mbeObjComponent.contentsObj[i]; if (obj != null) { contentsObj.Add(obj.Duplicate()); } } } }
/// <summary> /// 複製を行う /// </summary> /// <returns></returns> public override MbeObj Duplicate() { MbeObj newObj = new MbeObjComponent(this); return(newObj); }