123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 |
- // Dlg_ActionWithAlarm.cpp : 实现文件
- //
- #include "stdafx.h"
- #include "Dlg_ActionWithAlarm.h"
- #include ".\dlg_actionwithalarm.h"
- #include "Dlg_AddActionWithAlarm.h"
- // CDlg_ActionWithAlarm 对话框
- IMPLEMENT_DYNAMIC(CDlg_ActionWithAlarm, CDialog)
- CDlg_ActionWithAlarm::CDlg_ActionWithAlarm(CWnd* pParent /*=NULL*/)
- : CDialog(CDlg_ActionWithAlarm::IDD, pParent)
- {
- m_nAlarmData = 1;
- m_nResumeData = 0;
- m_nListSel = -1;
- }
- CDlg_ActionWithAlarm::~CDlg_ActionWithAlarm()
- {
- }
- void CDlg_ActionWithAlarm::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_LIST1, m_ctrlList);
- DDX_Control(pDX, IDC_LIST_SRC, m_ctrlListBoxSrc);
- DDX_Control(pDX, IDC_LIST_DEST, m_ctrlListBoxDest);
- }
- BEGIN_MESSAGE_MAP(CDlg_ActionWithAlarm, CDialog)
- ON_BN_CLICKED(IDC_BTN_SEL_SINGLE, OnBnClickedBtnSelSingle)
- ON_BN_CLICKED(IDC_BTN_SEL_ALL, OnBnClickedBtnSelAll)
- ON_BN_CLICKED(IDC_BTN_REVERSE_SEL_SINGLE, OnBnClickedBtnReverseSelSingle)
- ON_BN_CLICKED(IDC_BTN_REVERSE_SEL_ALL, OnBnClickedBtnReverseSelAll)
- ON_NOTIFY(NM_CLICK, IDC_LIST1, OnNMClickList1)
- ON_BN_CLICKED(IDC_BTN_ADD, OnBnClickedBtnAdd)
- ON_BN_CLICKED(IDC_BTN_MODIFY, OnBnClickedBtnModify)
- ON_BN_CLICKED(IDC_BTN_DEL, OnBnClickedBtnDel)
- ON_BN_CLICKED(IDOK, OnBnClickedOk)
- ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
- END_MESSAGE_MAP()
- // CDlg_ActionWithAlarm 消息处理程序
- BOOL CDlg_ActionWithAlarm::OnInitDialog()
- {
- CDialog::OnInitDialog();
- // TODO: 在此添加额外的初始化
- m_ctrlList.InsertColumn(0, "DOSet_VarName");
- m_ctrlList.SetColumnWidth(0, 130);
- m_ctrlList.InsertColumn(1, "DOStatus_VarName");
- m_ctrlList.SetColumnWidth(1, 125);
- m_ctrlList.InsertColumn(2, "AlarmData");
- m_ctrlList.SetColumnWidth(2, 125);
- m_ctrlList.InsertColumn(3, "ResumeData");
- m_ctrlList.SetColumnWidth(3, 125);
- m_ctrlList.SetExtendedStyle(m_ctrlList.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
- CDBInterface::GetInstancePtr()->GetAllActionWithAlarm( &m_ctrlList );
- return TRUE; // return TRUE unless you set the focus to a control
- // 异常: OCX 属性页应返回 FALSE
- }
- void CDlg_ActionWithAlarm::OnBnClickedBtnSelSingle()
- {
- CString str;
- int nCount, i, nIndex = 0;
- CArray<int,int> arrayListSel;
- nCount = m_ctrlListBoxSrc.GetSelCount();
- arrayListSel.SetSize( nCount );
- m_ctrlListBoxSrc.GetSelItems( nCount, arrayListSel.GetData() );
- for( i = 0; i < nCount; i++ )
- {
- m_ctrlListBoxSrc.GetText( arrayListSel[i] - nIndex, str );
- m_ctrlListBoxSrc.DeleteString( arrayListSel[i] - nIndex );
- m_ctrlListBoxSrc.SetSel( arrayListSel[i] - nIndex, FALSE );
- m_ctrlListBoxDest.AddString( str );
- nIndex++;
- }
- }
- void CDlg_ActionWithAlarm::OnBnClickedBtnSelAll()
- {
- CString str;
- int i, nCount, nIndex = 0;
- nCount = m_ctrlListBoxSrc.GetCount();
- for( i = 0; i < nCount; i++ )
- {
- m_ctrlListBoxSrc.GetText( i - nIndex, str );
- m_ctrlListBoxSrc.DeleteString( i - nIndex );
- m_ctrlListBoxDest.AddString( str );
- nIndex++;
- }
- }
- void CDlg_ActionWithAlarm::OnBnClickedBtnReverseSelSingle()
- {
- CString str;
- int nCount, i, nIndex = 0;
- CArray<int,int> arrayListSel;
- nCount = m_ctrlListBoxDest.GetSelCount();
- arrayListSel.SetSize( nCount );
- m_ctrlListBoxDest.GetSelItems( nCount, arrayListSel.GetData() );
- for( i = 0; i < nCount; i++ )
- {
- m_ctrlListBoxDest.GetText( arrayListSel[i] - nIndex, str );
- m_ctrlListBoxDest.DeleteString( arrayListSel[i] - nIndex );
- m_ctrlListBoxDest.SetSel( arrayListSel[i] - nIndex, FALSE );
- m_ctrlListBoxSrc.AddString( str );
- nIndex++;
- }
- }
- void CDlg_ActionWithAlarm::OnBnClickedBtnReverseSelAll()
- {
- CString str;
- int i, nCount, nIndex = 0;
- nCount = m_ctrlListBoxDest.GetCount();
- for( i = 0; i < nCount; i++ )
- {
- m_ctrlListBoxDest.GetText( i - nIndex, str );
- m_ctrlListBoxDest.DeleteString( i - nIndex );
- m_ctrlListBoxSrc.AddString( str );
- nIndex++;
- }
- }
- void CDlg_ActionWithAlarm::OnNMClickList1(NMHDR *pNMHDR, LRESULT *pResult)
- {
- int iListCount = m_ctrlList.GetItemCount();
- POSITION pos = m_ctrlList.GetFirstSelectedItemPosition();
- int nListSel = m_ctrlList.GetNextSelectedItem(pos);
- if(nListSel>=iListCount || nListSel==-1)
- {
- //MessageBox(g_strDClickFirstOperate, g_strTip, MB_ICONWARNING);
- return;
- }
- CString str;
- str = m_ctrlList.GetItemText( nListSel,0 );
- m_ctrlListBoxDest.ResetContent();
- m_ctrlListBoxSrc.ResetContent();
- m_nListSel = nListSel;
- m_sDoSet = m_ctrlList.GetItemText( nListSel,0 );
- m_sDoStatus = m_ctrlList.GetItemText( nListSel,1 );
- m_nAlarmData = atoi( m_ctrlList.GetItemText( nListSel,2 ) );
- m_nResumeData = atoi( m_ctrlList.GetItemText( nListSel,3 ) );
- CDBInterface::GetInstancePtr()->GetActionWithAlarmVar( &m_ctrlListBoxDest,str );
- CDBInterface::GetInstancePtr()->GetActionWithAlarmVar( &m_ctrlListBoxSrc,&m_ctrlListBoxDest );
- GetDlgItem( IDC_BTN_MODIFY )->EnableWindow( true );
- GetDlgItem( IDC_BTN_DEL )->EnableWindow( true );
- *pResult = 0;
- }
- void CDlg_ActionWithAlarm::OnBnClickedBtnAdd()
- {
- CDlg_AddActionWithAlarm dlg;
- dlg.m_nMode = 0;
- if( dlg.DoModal()==IDOK )
- {
- int iListCount = m_ctrlList.GetItemCount();
- CString str;
- for( int i=0;i<iListCount;i++ )
- {
- str = m_ctrlList.GetItemText( i,0 );
- if( str==dlg.m_sEdit_DoSet )
- {
- return;
- }
- }
- int n = m_ctrlList.GetItemCount();
- m_ctrlList.InsertItem( n,dlg.m_sEdit_DoSet );
- m_ctrlList.SetItemText( n,1,dlg.m_sEdit_DoStatus );
- str.Format( "%d",dlg.m_nEdit_AlarmData );
- m_ctrlList.SetItemText( n,2,str );
- str.Format( "%d",dlg.m_nEdit_ResumeData );
- m_ctrlList.SetItemText( n,3,str );
-
- CDBInterface::GetInstancePtr()->AddActionWithAlarm( dlg.m_sEdit_DoSet,dlg.m_sEdit_DoStatus,dlg.m_nEdit_AlarmData,dlg.m_nEdit_ResumeData,dlg.m_sDoSetPlanTime );
- m_ctrlListBoxDest.ResetContent();
- m_ctrlListBoxSrc.ResetContent();
- CDBInterface::GetInstancePtr()->GetActionWithAlarmVar( &m_ctrlListBoxDest,dlg.m_sEdit_DoSet );
- CDBInterface::GetInstancePtr()->GetActionWithAlarmVar( &m_ctrlListBoxSrc,&m_ctrlListBoxDest );
- GetDlgItem( IDC_BTN_MODIFY )->EnableWindow( true );
- GetDlgItem( IDC_BTN_DEL )->EnableWindow( true );
- }
- }
- void CDlg_ActionWithAlarm::OnBnClickedBtnModify()
- {
- if( m_nListSel==-1 )
- {
- MessageBox(g_strDClickFirstOperate, g_strTip, MB_ICONWARNING);
- return;
- }
- CString str;
- CDlg_AddActionWithAlarm dlg;
- dlg.m_nMode = 1;
- dlg.m_sEdit_DoSet = m_sDoSet;
- dlg.m_sEdit_DoStatus = m_sDoStatus;
- dlg.m_nEdit_AlarmData = m_nAlarmData;
- dlg.m_nEdit_ResumeData = m_nResumeData;
- CDBInterface::GetInstancePtr()->GetAWAPlanTime( m_sDoSet,dlg.m_sDoSetPlanTime );
- if( dlg.DoModal()==IDOK )
- {
- m_ctrlList.SetItemText( m_nListSel,0,dlg.m_sEdit_DoSet );
- m_ctrlList.SetItemText( m_nListSel,1,dlg.m_sEdit_DoStatus );
- str.Format( "%d",dlg.m_nEdit_AlarmData );
- m_ctrlList.SetItemText( m_nListSel,2,str );
- str.Format( "%d",dlg.m_nEdit_ResumeData );
- m_ctrlList.SetItemText( m_nListSel,3,str );
- CDBInterface::GetInstancePtr()->ModifyActionWithAlarm( dlg.m_sOldDoSet,dlg.m_sEdit_DoSet,dlg.m_sEdit_DoStatus,dlg.m_nEdit_AlarmData,dlg.m_nEdit_ResumeData,dlg.m_sDoSetPlanTime );
- }
-
- m_nListSel = -1;
- GetDlgItem( IDC_BTN_MODIFY )->EnableWindow( false );
- GetDlgItem( IDC_BTN_DEL )->EnableWindow( false );
- }
- void CDlg_ActionWithAlarm::OnBnClickedBtnDel()
- {
- if( m_nListSel==-1 )
- {
- MessageBox(g_strDClickFirstOperate, g_strTip, MB_ICONWARNING);
- return;
- }
- CString str;
-
- str = m_ctrlList.GetItemText( m_nListSel,0 );
-
- if( MessageBox( "确定要删除吗?",g_strTip,MB_YESNO )==IDNO )
- return;
- m_ctrlList.DeleteItem( m_nListSel );
- CDBInterface::GetInstancePtr()->DelActionWithAlarm( str );
- m_nListSel = -1;
- GetDlgItem( IDC_BTN_MODIFY )->EnableWindow( false );
- GetDlgItem( IDC_BTN_DEL )->EnableWindow( false );
- m_ctrlListBoxDest.ResetContent();
- m_ctrlListBoxSrc.ResetContent();
- }
- void CDlg_ActionWithAlarm::OnBnClickedOk()
- {
- if( m_nListSel==-1 )
- return;
- CString sGroupPermit;
- CString str;
- CStringArray SA;
- int nCount = m_ctrlListBoxDest.GetCount();
- for( int i = 0; i < nCount; i++ )
- {
- m_ctrlListBoxDest.GetText( i, str );
- SA.Add( str );
- }
- CDBInterface::GetInstancePtr()->GetAWAPlanTime( m_sDoSet,m_sDoSetPlanTime );
- CDBInterface::GetInstancePtr()->AddActionWithAlarm( m_sDoSet,m_sDoStatus,m_nAlarmData,m_nResumeData,m_sDoSetPlanTime,SA );
- AfxMessageBox( "保存完成!" );
- m_nListSel = -1;
- GetDlgItem( IDC_BTN_MODIFY )->EnableWindow( false );
- GetDlgItem( IDC_BTN_DEL )->EnableWindow( false );
- }
- void CDlg_ActionWithAlarm::OnBnClickedCancel()
- {
- // TODO: 在此添加控件通知处理程序代码
- OnCancel();
- }
|