reman3/Rayman_X/cpa/tempgrp/OAC/Src/EdActors/dlgcleanalwfile.cpp

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();
}