// dlgcleanalwfile.cpp : implementation file // #include "stdafx.h" #include "..\inc\edactors\EdAcIRes.h" #include "..\inc\edactors\dlgcleanalwfile.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDlgCleanAlwFile dialog const CString CDlgCleanAlwFile::m_aColumnHeaders [][COLUMNS] = { {"List of loaded and not referenced always", "List of always to be removed from the alw file"}, {"List of referenced and not loaded always", "List of always to be loaded in the alw file"} }; const CString CDlgCleanAlwFile::m_aDlgTitle [] = { "Clean the ALW file", "Update the ALW file" }; const CString CDlgCleanAlwFile::m_aOKText [] = { "Remove", "Update" }; ////////////////////////////////////////////////////////////////////////////////////////////////////// // Method : CDlgCleanAlwFile // Date : 98/07/01 ////////////////////////////////////////////////////////////////////////////////////////////////////// // Description : // Author : Stegaru Cristian - CPA ////////////////////////////////////////////////////////////////////////////////////////////////////// // Modification : // Date : // By : ////////////////////////////////////////////////////////////////////////////////////////////////////// CDlgCleanAlwFile::CDlgCleanAlwFile(CStringList &rlstOfAlways, int nCurrentTask/* = TASK_CLEAN_ALW_FILE*/, CWnd* pParent /*=NULL*/) : CDialog(CDlgCleanAlwFile::IDD, pParent), m_rlstOfAlways (rlstOfAlways) { //{{AFX_DATA_INIT(CDlgCleanAlwFile) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_nCurrentTask = nCurrentTask; } void CDlgCleanAlwFile::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgCleanAlwFile) DDX_Control(pDX, IDC_LOADED_ALWAYS, m_lstAlways); DDX_Control(pDX, IDC_ALWAYS_TO_BE_REMOVED, m_lstAlwaysToBeRemoved); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDlgCleanAlwFile, CDialog) //{{AFX_MSG_MAP(CDlgCleanAlwFile) ON_BN_CLICKED(IDC_LEFT, OnLeft) ON_BN_CLICKED(IDC_RIGHT, OnRight) ON_BN_CLICKED(IDC_RIGHT_ALL, OnRightAll) ON_LBN_DBLCLK(IDC_LOADED_ALWAYS, OnDblclkLoadedAlways) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDlgCleanAlwFile message handlers ////////////////////////////////////////////////////////////////////////////////////////////////////// // Method : OnLeft // Date : 98/07/01 ////////////////////////////////////////////////////////////////////////////////////////////////////// // Description : // Author : Stegaru Cristian - CPA ////////////////////////////////////////////////////////////////////////////////////////////////////// // Modification : // Date : // By : ////////////////////////////////////////////////////////////////////////////////////////////////////// void CDlgCleanAlwFile::OnLeft() { int iSelectedInx = m_lstAlwaysToBeRemoved.GetCurSel (); if (LB_ERR != iSelectedInx) { CString csAlwaysName; m_lstAlwaysToBeRemoved.GetText (iSelectedInx, csAlwaysName); m_lstAlwaysToBeRemoved.DeleteString (iSelectedInx); m_lstAlways.AddString (csAlwaysName); } const int iItemsInList = m_lstAlwaysToBeRemoved.GetCount (); if (iItemsInList > iSelectedInx) m_lstAlwaysToBeRemoved.SetCurSel (iSelectedInx); else if (iItemsInList > 0) m_lstAlwaysToBeRemoved.SetCurSel (iItemsInList - 1); } ////////////////////////////////////////////////////////////////////////////////////////////////////// // Method : OnRight // Date : 98/07/01 ////////////////////////////////////////////////////////////////////////////////////////////////////// // Description : // Author : Stegaru Cristian - CPA ////////////////////////////////////////////////////////////////////////////////////////////////////// // Modification : // Date : // By : ////////////////////////////////////////////////////////////////////////////////////////////////////// void CDlgCleanAlwFile::OnRight() { int iSelectedInx = m_lstAlways.GetCurSel (); if (LB_ERR != iSelectedInx) { CString csAlwaysName; m_lstAlways.GetText (iSelectedInx, csAlwaysName); m_lstAlways.DeleteString (iSelectedInx); m_lstAlwaysToBeRemoved.AddString (csAlwaysName); } const int iItemsInList = m_lstAlways.GetCount (); if (iItemsInList > iSelectedInx) m_lstAlways.SetCurSel (iSelectedInx); else if (iItemsInList > 0) m_lstAlways.SetCurSel (iItemsInList - 1); } ////////////////////////////////////////////////////////////////////////////////////////////////////// // Method : OnRightAll // Date : 98/07/01 ////////////////////////////////////////////////////////////////////////////////////////////////////// // Description : // Author : Stegaru Cristian - CPA ////////////////////////////////////////////////////////////////////////////////////////////////////// // Modification : // Date : // By : ////////////////////////////////////////////////////////////////////////////////////////////////////// void CDlgCleanAlwFile::OnRightAll() { CString csAlwaysName; for (int i = 0; i < m_lstAlways.GetCount (); i++) { m_lstAlways.GetText (i, csAlwaysName); m_lstAlwaysToBeRemoved.AddString (csAlwaysName); } m_lstAlways.ResetContent (); } ////////////////////////////////////////////////////////////////////////////////////////////////////// // Method : OnOK // Date : 98/07/01 ////////////////////////////////////////////////////////////////////////////////////////////////////// // Description : // Author : Stegaru Cristian - CPA ////////////////////////////////////////////////////////////////////////////////////////////////////// // Modification : // Date : // By : ////////////////////////////////////////////////////////////////////////////////////////////////////// void CDlgCleanAlwFile::OnOK() { UpdateData (TRUE); m_rlstOfAlways.RemoveAll (); CString csAlwaysName; for (int i = 0; i < m_lstAlwaysToBeRemoved.GetCount (); i++) { m_lstAlwaysToBeRemoved.GetText (i, csAlwaysName); m_rlstOfAlways.AddTail (csAlwaysName); } CDialog::EndDialog(IDOK); } ////////////////////////////////////////////////////////////////////////////////////////////////////// // Method : OnInitDialog // Date : 98/07/01 ////////////////////////////////////////////////////////////////////////////////////////////////////// // Description : // Author : Stegaru Cristian - CPA ////////////////////////////////////////////////////////////////////////////////////////////////////// // Modification : // Date : // By : ////////////////////////////////////////////////////////////////////////////////////////////////////// BOOL CDlgCleanAlwFile::OnInitDialog() { CDialog::OnInitDialog(); SetWindowText (m_aDlgTitle [m_nCurrentTask]); GetDlgItem (IDC_STATIC_LEFT)->SetWindowText (m_aColumnHeaders [m_nCurrentTask][LEFT]); GetDlgItem (IDC_STATIC_RIGHT)->SetWindowText (m_aColumnHeaders [m_nCurrentTask][RIGHT]); GetDlgItem (IDOK)->SetWindowText (m_aOKText [m_nCurrentTask]); POSITION pos = m_rlstOfAlways.GetHeadPosition (); while (pos) { CString csAlwaysName = m_rlstOfAlways.GetNext (pos); m_lstAlways.AddString (csAlwaysName); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } ////////////////////////////////////////////////////////////////////////////////////////////////////// // Method : OnDblclkLoadedAlways // Date : 98/07/16 ////////////////////////////////////////////////////////////////////////////////////////////////////// // Description : // Author : Stegaru Cristian - CPA ////////////////////////////////////////////////////////////////////////////////////////////////////// // Modification : // Date : // By : ////////////////////////////////////////////////////////////////////////////////////////////////////// void CDlgCleanAlwFile::OnDblclkLoadedAlways() { OnRight(); }