// PtProp.cpp : implementation file // #include "stdafx.h" #include "femm.h" #include "hdrawDoc.h" #include "hd_PtProp.h" #include "hd_NodeProp.h" #include "hd_MatDlg.h" #include "hd_BdryDlg.h" #include "hd_CircProp.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // hdCPtProp dialog hdCPtProp::hdCPtProp(CWnd* pParent /*=NULL*/) : CDialog(hdCPtProp::IDD, pParent) { //{{AFX_DATA_INIT(hdCPtProp) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } void hdCPtProp::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(hdCPtProp) DDX_Control(pDX, IDC_NAME_LIST, m_namelist); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(hdCPtProp, CDialog) //{{AFX_MSG_MAP(hdCPtProp) 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() ///////////////////////////////////////////////////////////////////////////// // hdCPtProp message handlers void hdCPtProp::OnAddProp() { // Code to deal with adding a Point Property. if (PropType==0){ CPointProp PProp; CArray &nodeproplist=*pnodeproplist; hdCNodeProp zDlg; for(int nn=0;nn &circproplist=*pcircproplist; hdCCircProp zDlg; for(int nn=0;nn &lineproplist=*plineproplist; hdCBdryDlg zDlg; for(int nn=0;nn &blockproplist=*pblockproplist; hdCMatDlg 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 hdCPtProp::OnModProp() { // TODO: Add your control notification handler code here if (PropType==0){ CArray &nodeproplist=*pnodeproplist; hdCNodeProp zDlg; if (nodeproplist.GetSize()==0) return; int k=m_namelist.GetCurSel(); if (k==CB_ERR) return; zDlg.m_vp=nodeproplist[k].T; zDlg.m_qp=nodeproplist[k].qp; 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; hdCCircProp zDlg; zDlg.m_circname = circproplist[k].CircName; zDlg.m_circtype = circproplist[k].CircType; zDlg.m_q = circproplist[k].q; zDlg.m_v = circproplist[k].T; for(int nn=0;nn &lineproplist=*plineproplist; hdCBdryDlg zDlg; if (lineproplist.GetSize()==0) return; int k=m_namelist.GetCurSel(); if (k==CB_ERR) return; zDlg.m_Tset = lineproplist[k].Tset; zDlg.m_qs = lineproplist[k].qs; zDlg.m_beta = lineproplist[k].beta; zDlg.m_htc = lineproplist[k].h; zDlg.m_To1 = lineproplist[k].Tinf; zDlg.m_To2 = lineproplist[k].Tinf; zDlg.BdryFormat=lineproplist[k].BdryFormat; zDlg.m_BdryName=lineproplist[k].BdryName; for(int nn=0;nn &blockproplist=*pblockproplist; hdCMatDlg zDlg; if (blockproplist.GetSize()==0) return; int k=m_namelist.GetCurSel(); if (k==CB_ERR) return; zDlg.m_Kx=blockproplist[k].Kx; zDlg.m_Ky=blockproplist[k].Ky; zDlg.m_Kt=blockproplist[k].Kt; zDlg.m_qv=blockproplist[k].qv; zDlg.m_BlockName=blockproplist[k].BlockName; zDlg.m_npts=blockproplist[k].npts; for(int i=0;i &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 }