221 lines
7.8 KiB
C++
221 lines
7.8 KiB
C++
// 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();
|
|
}
|