// PtProp.cpp : implementation file // #include "stdafx.h" #include "femm.h" #include "femmeDoc.h" #include "PtProp.h" #include "NodeProp.h" #include "MatDlg.h" #include "BdryDlg.h" #include "CircProp.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CPtProp dialog CPtProp::CPtProp(CWnd* pParent /*=NULL*/) : CDialog(CPtProp::IDD, pParent) { //{{AFX_DATA_INIT(CPtProp) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } void CPtProp::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPtProp) DDX_Control(pDX, IDC_NAME_LIST, m_namelist); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CPtProp, CDialog) //{{AFX_MSG_MAP(CPtProp) ON_BN_CLICKED(IDC_ADD_PROP, OnAddProp) ON_BN_CLICKED(IDC_DEL_PROP, OnDelProp) ON_BN_CLICKED(IDC_MOD_PROP, OnModProp) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CPtProp message handlers void CPtProp::OnAddProp() { // Code to deal with adding a Point Property. if (PropType==0){ CPointProp PProp; CNodeProp zDlg; CArray &nodeproplist=*pnodeproplist; for(int nn=0;nn &circproplist=*pcircproplist; CCircProp zDlg; for(int nn=0;nn &lineproplist=*plineproplist; CBdryDlg zDlg; for(int nn=0;nn &blockproplist=*pblockproplist; CMatDlg zDlg; for(int nn=0;nn &nodeproplist=*pnodeproplist; int k=m_namelist.GetCurSel(); if((k!=CB_ERR) && (nodeproplist.GetSize()!=0)) { nodeproplist.RemoveAt(k); m_namelist.DeleteString(k); m_namelist.SetCurSel(0); } } if (PropType==3){ CArray &circproplist=*pcircproplist; int k=m_namelist.GetCurSel(); if((k!=CB_ERR) && (circproplist.GetSize()!=0)) { circproplist.RemoveAt(k); m_namelist.DeleteString(k); m_namelist.SetCurSel(0); } } if (PropType==1){ CArray &lineproplist=*plineproplist; int k=m_namelist.GetCurSel(); if((k!=CB_ERR) && (lineproplist.GetSize()!=0)) { lineproplist.RemoveAt(k); m_namelist.DeleteString(k); m_namelist.SetCurSel(0); } } if (PropType==2){ CArray &blockproplist=*pblockproplist; int k=m_namelist.GetCurSel(); if((k!=CB_ERR) && (blockproplist.GetSize()!=0)) { blockproplist.RemoveAt(k); m_namelist.DeleteString(k); m_namelist.SetCurSel(0); } } } void CPtProp::OnModProp() { // TODO: Add your control notification handler code here if (PropType==0){ CArray &nodeproplist=*pnodeproplist; CNodeProp zDlg; if (nodeproplist.GetSize()==0) return; int k=m_namelist.GetCurSel(); if (k==CB_ERR) return; zDlg.m_ap=nodeproplist[k].Ap; zDlg.m_jp=nodeproplist[k].Jp; zDlg.m_nodename=nodeproplist[k].PointName; for(int nn=0;nn &circproplist=*pcircproplist; if (circproplist.GetSize()==0) return; int k=m_namelist.GetCurSel(); if (k==CB_ERR) return; CCircProp zDlg; zDlg.m_circname = circproplist[k].CircName; zDlg.m_circtype = circproplist[k].CircType; zDlg.m_totcurrent = circproplist[k].Amps; for(int nn=0;nn &lineproplist=*plineproplist; CBdryDlg zDlg; if (lineproplist.GetSize()==0) return; int k=m_namelist.GetCurSel(); if (k==CB_ERR) return; zDlg.m_A0 =lineproplist[k].A0; zDlg.m_A1 =lineproplist[k].A1; zDlg.m_A2 =lineproplist[k].A2; zDlg.m_Phi=lineproplist[k].phi; zDlg.m_Mu =lineproplist[k].Mu; zDlg.m_Sig=lineproplist[k].Sig; zDlg.m_c0 =lineproplist[k].c0; zDlg.m_c1 =lineproplist[k].c1; zDlg.BdryFormat=lineproplist[k].BdryFormat; zDlg.m_BdryName=lineproplist[k].BdryName; zDlg.m_innerangle=lineproplist[k].InnerAngle; zDlg.m_outerangle=lineproplist[k].OuterAngle; for(int nn=0;nn &blockproplist=*pblockproplist; CMatDlg zDlg; if (blockproplist.GetSize()==0) return; int k=m_namelist.GetCurSel(); if (k==CB_ERR) return; zDlg.m_mu_x=blockproplist[k].mu_x; zDlg.m_mu_y=blockproplist[k].mu_y; zDlg.m_H_c=blockproplist[k].H_c; zDlg.m_Jsrc=blockproplist[k].Jsrc; zDlg.m_Cduct=blockproplist[k].Cduct; zDlg.m_Lam_d=blockproplist[k].Lam_d; zDlg.m_Theta_hn=blockproplist[k].Theta_hn; zDlg.m_Theta_hx=blockproplist[k].Theta_hx; zDlg.m_Theta_hy=blockproplist[k].Theta_hy; zDlg.m_WireD=blockproplist[k].WireD; zDlg.m_NStrands=blockproplist[k].NStrands; zDlg.m_BlockName=blockproplist[k].BlockName; zDlg.LamType=blockproplist[k].LamType; zDlg.m_lam_fill=blockproplist[k].LamFill; for(int nn=0;nn &nodeproplist=*pnodeproplist; for(i=0;i0) m_namelist.SetCurSel(0); } if (PropType==1){ CArray &lineproplist=*plineproplist; for(i=0;i0) m_namelist.SetCurSel(0); } if (PropType==2){ CArray &blockproplist=*pblockproplist; for(i=0;i0) m_namelist.SetCurSel(0); } if (PropType==3){ CArray &circproplist=*pcircproplist; for(i=0;i0) m_namelist.SetCurSel(0); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }