reman3/Rayman_X/cpa/tempgrp/OSC/Src/SECdEnv.cpp

947 lines
27 KiB
C++

/*=========================================================================
*
* SECTdEnv.cpp : Environment dialog - Implementation file
*
*
* Version 1.0
* Creation date
* Revision date
*
* Shaitan
*=======================================================================*/
/*
#include "stdafx.h"
#include "acp_base.h"
#include "SECTint.hpp"
#include "SECdEnv.hpp"
#include "SECmodif.hpp"
#include "SECdMec.hpp"
#include "SECdVis.hpp"
#include "SEClEnvs.hpp"
#include "SECdEnvs.hpp"
#include "SECdSrfs.hpp"
#include "..\Main\Inc\_EditID.h"
#include "TUT.h"
SECT_MecEnvironment *g_pClickedMecEnv;
SECT_VisEnvironment *g_pClickedVisEnv;
//#################################################################################
// SECT_DialogEnv dialog
//#################################################################################
/*----------------------------------------
----------------------------------------*/
/*
SECT_DialogEnv::SECT_DialogEnv(CWnd* pParent)
: CFormView(SECT_DialogEnv::IDD)
{
//{{AFX_DATA_INIT(SECT_DialogEnv)
//}}AFX_DATA_INIT
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(SECT_DialogEnv)
DDX_Control(pDX, SECT_IDC_ENVNAME, m_cName);
DDX_Control(pDX, SECT_IDC_ENVDEFAULT, m_cDefault);
DDX_Control(pDX, SECT_IDC_ENVCANCEL, m_cCancel);
DDX_Control(pDX, SECT_IDC_ENVSAVE, m_cSave);
DDX_Control(pDX, SECT_IDC_MECLISTBOX, m_cMecListBox);
DDX_Control(pDX, SECT_IDC_EDITMEC, m_cEditMec);
DDX_Control(pDX, SECT_IDC_NEWMEC, m_cNewMec);
DDX_Control(pDX, SECT_IDC_VISLISTBOX, m_cVisListBox);
DDX_Control(pDX, SECT_IDC_EDITVIS, m_cEditVis);
DDX_Control(pDX, SECT_IDC_NEWVIS, m_cNewVis);
DDX_Control(pDX, SECT_IDC_SOUNDLIST, m_cSndListBox);
//}}AFX_DATA_MAP
}
*/
/*----------------------------------------
----------------------------------------*/
/*
BEGIN_MESSAGE_MAP(SECT_DialogEnv, CFormView)
//{{AFX_MSG_MAP(SECT_DialogEnv)
ON_WM_SIZE()
ON_WM_DESTROY()
ON_EN_KILLFOCUS(SECT_IDC_ENVNAME, OnChangeName)
ON_BN_CLICKED(SECT_IDC_ENVDEFAULT, OnDefault)
ON_BN_CLICKED(SECT_IDC_ENVCANCEL, OnCancel)
ON_BN_CLICKED(SECT_IDC_ENVSAVE, OnSave)
ON_NOTIFY(LVN_ITEMCHANGED, SECT_IDC_MECLISTBOX, OnSelChangeMecListBox)
ON_NOTIFY(NM_DBLCLK, SECT_IDC_MECLISTBOX, OnDblClkMecListBox)
ON_BN_CLICKED(SECT_IDC_EDITMEC, OnEditMec)
ON_BN_CLICKED(SECT_IDC_NEWMEC, OnNewMec)
ON_NOTIFY(LVN_ITEMCHANGED, SECT_IDC_VISLISTBOX, OnSelChangeVisListBox)
ON_NOTIFY(NM_DBLCLK, SECT_IDC_VISLISTBOX, OnDblClkVisListBox)
ON_BN_CLICKED(SECT_IDC_EDITVIS, OnEditVis)
ON_BN_CLICKED(SECT_IDC_NEWVIS, OnNewVis)
ON_CBN_SELCHANGE(SECT_IDC_SOUNDLIST, OnSelChangeSndListBox)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
*/
//#################################################################################
// SECT_DialogEnv Inits
//#################################################################################
/*===========================================================================
* Description: Init dialog
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vInitDialog (Sector_Interface *p_oDLL, CWnd *pParent)
{
// create the dialog
m_bInitialised = FALSE;
m_pSectorInterface = p_oDLL;
CFormView::Create(NULL, "", AFX_WS_DEFAULT_VIEW, CRect(0,0,120,180), pParent, AFX_IDW_PANE_FIRST, NULL);
// init data for dialog
CFormView::UpdateData(FALSE);
// FOR TUTORIAL
TUT_M_vGetTutDll();
// environment
TUT_M_vRegisterControl(m_cName.m_hWnd, "OSC_DENV_EDIT_NAME", TUT_e_TextEdit);
TUT_M_vRegisterControl(m_cDefault.m_hWnd, "OSC_DENV_BUTTON_DEFAULT", TUT_e_Button);
TUT_M_vRegisterControl(m_cCancel.m_hWnd, "OSC_DENV_BUTTON_CANCEL", TUT_e_Button);
TUT_M_vRegisterControl(m_cSave.m_hWnd, "OSC_DENV_BUTTON_SAVE", TUT_e_Button);
// mechanic environment
TUT_M_vRegisterControl(m_cMecListBox.m_hWnd, "OSC_DENV_LIST_MECENVS", TUT_e_ListBox);
TUT_M_vRegisterControl(m_cEditMec.m_hWnd, "OSC_DENV_BUTTON_EDITMEC", TUT_e_Button);
TUT_M_vRegisterControl(m_cNewMec.m_hWnd, "OSC_DENV_BUTTON_NEWMEC", TUT_e_Button);
// visual environment
TUT_M_vRegisterControl(m_cVisListBox.m_hWnd, "OSC_DENV_LIST_VISENVS", TUT_e_ListBox);
TUT_M_vRegisterControl(m_cEditVis.m_hWnd, "OSC_DENV_BUTTON_EDITVIS", TUT_e_Button);
TUT_M_vRegisterControl(m_cNewVis.m_hWnd, "OSC_DENV_BUTTON_NEWVIS", TUT_e_Button);
// sound environment
TUT_M_vRegisterControl(m_cSndListBox.m_hWnd, "OSC_DENV_LIST_SOUNDENVS", TUT_e_ListBox);
// END TUTORIAL
// init all controls
m_pDefaultEnv = NULL;
fn_vInitEnvironment(NULL, FALSE);
// init lists
m_cMecListBox.fn_vInitParameters(this, m_pSectorInterface, E_te_MecEnvironment);
m_cVisListBox.fn_vInitParameters(this, m_pSectorInterface, E_te_VisEnvironment);
m_bInitialised = TRUE;
}
*/
/*===========================================================================
* Description: Init environment and controls
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vInitEnvironment (SECT_Environment *pEnv, BOOL bNewEnv)
{
// no environment and controls enabled => new environment
if ((!pEnv) && bNewEnv)
m_pEnvironment = m_pDefaultEnv;
else
m_pEnvironment = pEnv;
// update controls state
fn_vInitControls(TRUE);
// update parameters
m_csName = (m_pEnvironment) ? m_pEnvironment->GetName() : "";
// update controls
m_cName.SetWindowText(m_csName);
fn_vSelectMechanic((m_pEnvironment) ? m_pEnvironment->GetMecEnvironment() : NULL);
fn_vSelectVisual((m_pEnvironment) ? m_pEnvironment->GetVisEnvironment() : NULL);
fn_vSelectSound((m_pEnvironment) ? m_pEnvironment->GetSndEnvironment() : NULL);
// sound
m_cSndListBox.EnableWindow((m_pEnvironment != NULL));
}
*/
/*===========================================================================
* Description: Init controls
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vInitControls (BOOL bEnable)
{
m_cCancel.EnableWindow(bEnable&&(m_pEnvironment == m_pDefaultEnv));
m_cSave.EnableWindow(bEnable&&(m_pEnvironment == m_pDefaultEnv));
m_cName.EnableWindow(bEnable&&(m_pEnvironment != NULL));
m_cDefault.EnableWindow(bEnable&&(m_pEnvironment != NULL));
// mec
m_cMecListBox.EnableWindow(bEnable);
m_cEditMec.EnableWindow(bEnable);
m_cNewMec.EnableWindow(bEnable);
// vis
m_cVisListBox.EnableWindow(bEnable);
m_cEditVis.EnableWindow(bEnable);
m_cNewVis.EnableWindow(bEnable);
// snd => only if Sound DLL present
if (m_pSectorInterface->GetSoundEnvList())
m_cSndListBox.EnableWindow(bEnable);
else
m_cSndListBox.EnableWindow(FALSE);
}
*/
/*===========================================================================
* Description: Reinit dialog
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vReinitDialog (void)
{
// init default environment
if (!m_pDefaultEnv)
{
m_pDefaultEnv = new SECT_Environment(m_pSectorInterface, NULL, NULL, NULL, "");
m_pDefaultEnv->fn_bUnValidate();
m_pDefaultEnv->fn_vNotifyUnSave();
}
// init mechanic
fn_vInitMecListBox();
// init mechanic
fn_vInitVisListBox();
// init sound
fn_vInitSndListBox();
}
*/
/*===========================================================================
* Description: Init mechanic listbox
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vInitMecListBox (void)
{
// init style
m_cMecListBox.SetOrder(E_lo_Alpha, FALSE, FALSE);
// reinit list
m_cMecListBox.SetSortedList(m_pSectorInterface->GetBaseObjectList(C_szMecEnvironmentTypeName));
// current selection => none
m_cMecListBox.SetSelectedItem(-1);
}
*/
/*===========================================================================
* Description: update mechanic selection
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vSelectMechanic (SECT_MecEnvironment *pMecEnv, BOOL bUpdateEnv)
{
SECT_MecEnvironment *pOldSelect, *pOldCurrent = NULL;
SECT_ModifEnvParams *pModif;
int iInd;
// update mechanic
pOldSelect = m_pMecEnvironment;
m_pMecEnvironment = pMecEnv;
// update mechanic dialog
if (m_pSectorInterface->GetDialogMec())
m_pSectorInterface->GetDialogMec()->fn_vInitMecEnvironment(m_pMecEnvironment, FALSE);
// update environment
if ((bUpdateEnv)&&(m_pEnvironment))
{
pOldCurrent = m_pEnvironment->GetMecEnvironment();
if ((m_pMecEnvironment)&&(m_pMecEnvironment != pOldCurrent))
{
if (m_pEnvironment != m_pDefaultEnv)
{
pModif = new SECT_ModifEnvParams(m_pSectorInterface, E_mt_ChangeMecEnv,
m_pEnvironment, m_pMecEnvironment, NULL, NULL);
m_pSectorInterface->M_GetEditManager()->AskFor(pModif);
}
else
m_pEnvironment->SetMecEnvironment(m_pMecEnvironment, FALSE);
}
}
// redraw previous element
if (pOldSelect != m_pMecEnvironment)
{
iInd = m_cMecListBox.GetCorrespondingIndex((DWORD) pOldSelect);
m_cMecListBox.RedrawItems(iInd, iInd);
}
// redraw previous element
if ((pOldCurrent)&&(pOldCurrent != pOldSelect))
{
iInd = m_cMecListBox.GetCorrespondingIndex((DWORD) pOldCurrent);
m_cMecListBox.RedrawItems(iInd, iInd);
}
// update selection
iInd = m_cMecListBox.GetCorrespondingIndex((DWORD) m_pMecEnvironment);
m_cMecListBox.RedrawItems(iInd, iInd);
// update button
m_cEditMec.EnableWindow(m_pMecEnvironment != NULL);
m_cMecListBox.UpdateWindow();
}
*/
/*===========================================================================
* Description: Init visual listbox
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vInitVisListBox (void)
{
// init style
m_cVisListBox.SetOrder(E_lo_Alpha, FALSE, FALSE);
// reinit list
m_cVisListBox.SetSortedList(m_pSectorInterface->GetBaseObjectList(C_szVisEnvironmentTypeName));
// m_cVisListBox selection => none
m_cVisListBox.SetSelectedItem(-1);
}
*/
/*===========================================================================
* Description: update visual selection
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vSelectVisual (SECT_VisEnvironment *pVisEnv, BOOL bUpdateEnv)
{
SECT_VisEnvironment *pOldSelect, *pOldCurrent = NULL;
SECT_ModifEnvParams *pModif;
int iInd;
// update mechanic
pOldSelect = m_pVisEnvironment;
m_pVisEnvironment = pVisEnv;
// update mechanic dialog
if (m_pSectorInterface->GetDialogVis())
m_pSectorInterface->GetDialogVis()->fn_vInitVisEnvironment(m_pVisEnvironment, FALSE);
// update environment
if ((bUpdateEnv)&&(m_pEnvironment))
{
pOldCurrent = m_pEnvironment->GetVisEnvironment();
if (m_pVisEnvironment != pOldCurrent)
{
if (m_pEnvironment != m_pDefaultEnv)
{
pModif = new SECT_ModifEnvParams(m_pSectorInterface, E_mt_ChangeVisEnv,
m_pEnvironment, NULL, m_pVisEnvironment, NULL);
m_pSectorInterface->M_GetEditManager()->AskFor(pModif);
}
else
m_pEnvironment->SetVisEnvironment(m_pVisEnvironment, FALSE);
}
}
// redraw previous element
if (pOldSelect != m_pVisEnvironment)
{
iInd = m_cVisListBox.GetCorrespondingIndex((DWORD) pOldSelect);
m_cVisListBox.RedrawItems(iInd, iInd);
}
// redraw previous element
if ((pOldCurrent)&&(pOldCurrent != pOldSelect))
{
iInd = m_cVisListBox.GetCorrespondingIndex((DWORD) pOldCurrent);
m_cVisListBox.RedrawItems(iInd, iInd);
}
// update selection
iInd = m_cVisListBox.GetCorrespondingIndex((DWORD) m_pVisEnvironment);
m_cVisListBox.RedrawItems(iInd, iInd);
// update button
m_cEditVis.EnableWindow(m_pVisEnvironment != NULL);
m_cVisListBox.UpdateWindow();
}
*/
/*===========================================================================
* Description: Init sound listbox
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vInitSndListBox (void)
{
CPA_BaseObjectList *pListObject;
CPA_BaseObject *pElem;
Position pos;
int iInd;
// RAZ
m_cSndListBox.ResetContent();
pListObject = m_pSectorInterface->GetSoundEnvList();
if (!pListObject)
return;
// init content
for (pElem = pListObject->GetHeadElement(pos); pElem;
pElem = pListObject->GetNextElement(pos))
{
// reinit list
iInd = m_cSndListBox.AddString(pElem->GetName());
m_cSndListBox.SetItemData(iInd, (DWORD) pElem);
}
// current selection => none
m_cSndListBox.SetCurSel(-1);
}
*/
/*===========================================================================
* Description: update sound selection
* Creation date:
* Author: Shaitan
*---------------------------------------------------------------------------
* Revision date: Author:
*=========================================================================*/
/*
void SECT_DialogEnv::fn_vSelectSound (SECT_SndEnvironment *pSndEnv, BOOL bUpdateEnv)
{
SECT_SndEnvironment *pOldSelect, *pOldCurrent = NULL;
SECT_ModifEnvParams *pModif;
int iInd;
// update mechanic
pOldSelect = m_pSndEnvironment;
m_pSndEnvironment = pSndEnv;
// update sound
if ((bUpdateEnv)&&(m_pEnvironment)&&(m_pEnvironment != m_pDefaultEnv))
{
pOldCurrent = m_pEnvironment->GetSndEnvironment();
if ((m_pSndEnvironment)&&(m_pSndEnvironment != pOldCurrent))
{
pModif = new SECT_ModifEnvParams(m_pSectorInterface, E_mt_ChangeSndEnv,
m_pEnvironment, NULL, NULL, m_pSndEnvironment);
m_pSectorInterface->M_GetEditManager()->AskFor(pModif);
}
}
// update selection
iInd = GetSoundIndex((DWORD) m_pSndEnvironment);
m_cSndListBox.SetCurSel(iInd);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
int SECT_DialogEnv::GetSoundIndex (DWORD pElem)
{
DWORD pData;
int iIndex;
for (iIndex = 0; iIndex < m_cSndListBox.GetCount(); iIndex++)
{
pData = m_cSndListBox.GetItemData(iIndex);
if (pData == pElem)
return iIndex;
}
return -1;
}
*/
//#################################################################################
// Messages
//#################################################################################
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnSize(UINT, int, int)
{
RECT WindowPosition;
int ecx, ecy;
if (!m_bInitialised)
return;
// calculate name position
GetWindowRect(&WindowPosition);
ecx = WindowPosition.right - WindowPosition.left - 10;
ecx = (ecx < 100) ? 100 : ecx;
ecy = WindowPosition.bottom - WindowPosition.top - 10;
ecy = (ecy < 140) ? 140 : ecy;
// buttons
m_cCancel.MoveWindow(5, 7, 40, 16);
m_cSave.MoveWindow(ecx-35, 7, 40, 16);
// save
m_cName.MoveWindow(50, 5, ecx-90, 20);
// mechanic
GetDlgItem(SECT_IDC_STATICMEC)->MoveWindow(5, 30, ecx/3, ecy-25);
m_cMecListBox.MoveWindow(10, 45, ecx/3-10, ecy-75);
m_cEditMec.MoveWindow(15, ecy-20, 25, 18);
m_cNewMec.MoveWindow(ecx/3-30, ecy-20, 25, 18);
// visual
GetDlgItem(SECT_IDC_STATICVIS)->MoveWindow(ecx/3+5, 30, ecx/3, ecy-25);
m_cVisListBox.MoveWindow(ecx/3+10, 45, ecx/3-10, ecy-75);
m_cEditVis.MoveWindow(ecx/3+15, ecy-20, 25, 18);
m_cNewVis.MoveWindow(2*ecx/3-30, ecy-20, 25, 18);
// sound
GetDlgItem(SECT_IDC_STATICSOUND)->MoveWindow(2*ecx/3+5, 30, ecx/3, ecy-25);
m_cSndListBox.MoveWindow(2*ecx/3+10, 45, ecx/3-10, ecy-45);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnDestroy (void)
{
// FOR TUTORIAL
TUT_M_vGetTutDll();
// environment
TUT_M_vUnregisterControl(m_cName.m_hWnd);
TUT_M_vUnregisterControl(m_cDefault.m_hWnd);
TUT_M_vUnregisterControl(m_cCancel.m_hWnd);
TUT_M_vUnregisterControl(m_cSave.m_hWnd);
// mechanic environment
TUT_M_vUnregisterControl(m_cMecListBox.m_hWnd);
TUT_M_vUnregisterControl(m_cEditMec.m_hWnd);
TUT_M_vUnregisterControl(m_cNewMec.m_hWnd);
// visual environment
TUT_M_vUnregisterControl(m_cVisListBox.m_hWnd);
TUT_M_vUnregisterControl(m_cEditVis.m_hWnd);
TUT_M_vUnregisterControl(m_cNewVis.m_hWnd);
// sound environment
TUT_M_vUnregisterControl(m_cSndListBox.m_hWnd);
// END TUTORIAL
CFormView::OnDestroy();
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnChangeName()
{
CString csFinalName;
char szNewName[256];
// no environment => no modif
if ((!m_pEnvironment)||(!m_cName.GetModify()))
return;
// get corresponding name
m_cName.GetWindowText(szNewName, 255);
if (!strcmp(szNewName, ""))
{
m_cName.SetWindowText(m_csName);
return;
}
// get prefixed name
csFinalName = m_pSectorInterface->GetInterface()->GetPrefixedName(szNewName);
// check name validity
if (m_pEnvironment->fn_eCheckValidity(csFinalName) == E_mc_None)
m_csName = csFinalName;
// update window
m_cName.SetWindowText(m_csName);
// update name
if ((m_pEnvironment != m_pDefaultEnv)&&(m_csName != m_pEnvironment->GetName()))
{
m_pEnvironment->fn_eRename(m_csName);
m_pSectorInterface->GetDialogEnvs()->fn_vInitEnvListBox();
}
// update flag
m_cName.SetModify(FALSE);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnDefault()
{
if (m_cName.GetModify())
{
OnChangeName();
m_cName.SetFocus();
}
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnCancel()
{
// default env => cancel
if (m_pEnvironment == m_pDefaultEnv)
m_pEnvironment = NULL;
// reinit controls
fn_vInitEnvironment(m_pEnvironment, FALSE);
// enable previous dialog
m_pSectorInterface->GetDialogEnvs()->fn_vInitControls(TRUE);
m_pSectorInterface->GetDialogSrf()->fn_vInitControls(TRUE);
m_pSectorInterface->GetDialogEnvList()->fn_vInitControls(TRUE);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnSave()
{
// default env => create it
if (m_pEnvironment == m_pDefaultEnv)
{
m_pEnvironment = new SECT_Environment(m_pSectorInterface, m_pMecEnvironment,
m_pVisEnvironment, m_pSndEnvironment, m_csName);
m_pEnvironment->fn_vNotifySave();
m_pSectorInterface->GetDialogEnvs()->fn_vInitEnvListBox();
}
// enable previous dialog
m_pSectorInterface->GetDialogEnvList()->fn_vInitControls(TRUE);
m_pSectorInterface->GetDialogSrf()->fn_vInitControls(TRUE);
m_pSectorInterface->GetDialogEnvs()->fn_vInitControls(TRUE);
m_pSectorInterface->GetDialogEnvs()->fn_vSelectEnv(m_pEnvironment);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnSelChangeMecListBox(NMHDR* pNMHDR, LRESULT* pResult)
{
SECT_MecEnvironment *pMecEnv = NULL;
LPNM_LISTVIEW pNMListView = (LPNM_LISTVIEW)pNMHDR;
BOOL bOldSelect, bNewSelect;
int iIndex;
// update param
*pResult = 0;
if ((pNMListView->uChanged != LVIF_STATE)||(m_cMecListBox.fn_bIsSelecting()))
return;
bOldSelect = (pNMListView->uOldState & LVIS_SELECTED);
bNewSelect = (pNMListView->uNewState & LVIS_SELECTED);
// get corresponding sector
iIndex = pNMListView->iItem;
pMecEnv = (SECT_MecEnvironment *) m_cMecListBox.GetItemData(iIndex);
g_pClickedMecEnv = pMecEnv;
m_cMecListBox.SetSelectedItem(-1);
if (bOldSelect != bNewSelect)
{
// no env or unavailable env => invalid
if ((!pMecEnv)||(!pMecEnv->fn_bIsAvailable()))
fn_vSelectMechanic(m_pMecEnvironment, FALSE);
else if (pMecEnv != m_pMecEnvironment)
fn_vSelectMechanic(pMecEnv, FALSE);
}
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnDblClkMecListBox(NMHDR* pNMHDR, LRESULT* pResult)
{
SECT_MecEnvironment *pMecEnv = NULL;
// update param
*pResult = 0;
// get corresponding sector
pMecEnv = g_pClickedMecEnv;
g_pClickedMecEnv = NULL;
// no env or unavailable env => invalid
if ((!pMecEnv)||(!pMecEnv->fn_bIsAvailable()))
fn_vSelectMechanic(m_pMecEnvironment);
else
fn_vSelectMechanic(pMecEnv);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnEditMec()
{
// no mecenv => no edition
if (!m_pMecEnvironment)
return;
// disable dialog
fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogSrf()->fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogEnvs()->fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogEnvList()->fn_vInitControls(FALSE);
// update mechanic dialog
m_pSectorInterface->GetDialogMec()->fn_vInitMecEnvironment(m_pMecEnvironment, TRUE);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnNewMec()
{
// disable dialog
fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogSrf()->fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogEnvs()->fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogEnvList()->fn_vInitControls(FALSE);
// set selection
m_cMecListBox.SetSelectedItem(-1);
m_pSectorInterface->GetDialogMec()->fn_vInitMecEnvironment(NULL, TRUE);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnSelChangeVisListBox(NMHDR* pNMHDR, LRESULT* pResult)
{
SECT_VisEnvironment *pVisEnv = NULL;
LPNM_LISTVIEW pNMListView = (LPNM_LISTVIEW)pNMHDR;
BOOL bOldSelect, bNewSelect;
int iIndex;
// update param
*pResult = 0;
if ((pNMListView->uChanged != LVIF_STATE)||(m_cVisListBox.fn_bIsSelecting()))
return;
bOldSelect = (pNMListView->uOldState & LVIS_SELECTED);
bNewSelect = (pNMListView->uNewState & LVIS_SELECTED);
// get corresponding sector
iIndex = pNMListView->iItem;
pVisEnv = (SECT_VisEnvironment *) m_cVisListBox.GetItemData(iIndex);
g_pClickedVisEnv = pVisEnv;
m_cVisListBox.SetSelectedItem(-1);
if (bOldSelect != bNewSelect)
{
// no env or unavailable env => invalid
if ((!pVisEnv)||(!pVisEnv->fn_bIsAvailable()))
fn_vSelectVisual(m_pVisEnvironment, FALSE);
else if (pVisEnv != m_pVisEnvironment)
fn_vSelectVisual(pVisEnv, FALSE);
}
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnDblClkVisListBox(NMHDR* pNMHDR, LRESULT* pResult)
{
SECT_VisEnvironment *pVisEnv = NULL;
// update param
*pResult = 0;
// get corresponding sector
pVisEnv = g_pClickedVisEnv;
g_pClickedVisEnv = NULL;
// no env or unavailable env => invalid
if ((pVisEnv)&&(!pVisEnv->fn_bIsAvailable()))
fn_vSelectVisual(m_pVisEnvironment);
else
fn_vSelectVisual(pVisEnv);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnEditVis()
{
// no visenv => no edition
if (!m_pVisEnvironment)
return;
// disable dialog
fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogSrf()->fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogEnvs()->fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogEnvList()->fn_vInitControls(FALSE);
// update mechanic dialog
m_pSectorInterface->GetDialogVis()->fn_vInitVisEnvironment(m_pVisEnvironment, TRUE);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnNewVis()
{
// disable dialog
fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogSrf()->fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogEnvs()->fn_vInitControls(FALSE);
m_pSectorInterface->GetDialogEnvList()->fn_vInitControls(FALSE);
// set selection
m_cVisListBox.SetSelectedItem(-1);
m_pSectorInterface->GetDialogVis()->fn_vInitVisEnvironment(NULL, TRUE);
}
*/
/*----------------------------------------
----------------------------------------*/
/*
void SECT_DialogEnv::OnSelChangeSndListBox()
{
SECT_SndEnvironment *pSndEnv = NULL;
int iInd;
// no sound DLL => no change in sound environment
if (!m_pSectorInterface->GetSoundEnvList())
return;
// get corresponding element
iInd = m_cSndListBox.GetCurSel();
if (iInd !=-1)
pSndEnv = (SECT_SndEnvironment *) m_cSndListBox.GetItemData(iInd);
// no env or unavailable env => invalid
if ((pSndEnv)&&(!pSndEnv->fn_bIsAvailable()))
fn_vSelectSound(m_pSndEnvironment);
else if (pSndEnv != m_pSndEnvironment)
fn_vSelectSound(pSndEnv);
}
*/
//#################################################################################
// SECT_EnvParamListBox
//#################################################################################
/*----------------------------------------
----------------------------------------*/
/*
SECT_EnvParamListBox::SECT_EnvParamListBox (void)
{
}
*/
/*----------------------------------------
----------------------------------------*/
/*
SECT_EnvParamListBox::~SECT_EnvParamListBox (void)
{
}
*/
/*----------------------------------------
----------------------------------------*/
/*
BOOL SECT_EnvParamListBox::fn_bIsCurrentElement (CPA_BaseObject *pElem)
{
SECT_Environment *pEnv;
// no dialog => no current element
if (!m_pDialog)
return FALSE;
// init parameters
pEnv = ((SECT_DialogEnv *) m_pDialog)->GetCurrentEnv();
switch (m_eType)
{
case E_te_MecEnvironment:
return ((pEnv)&&(pElem == pEnv->GetMecEnvironment()));
case E_te_VisEnvironment:
return ((pEnv)&&(pElem == pEnv->GetVisEnvironment()));
case E_te_SndEnvironment:
return ((pEnv)&&(pElem == pEnv->GetSndEnvironment()));
case E_te_NoType:
return FALSE;
}
return FALSE;
}
*/
/*----------------------------------------
----------------------------------------*/
/*
BOOL SECT_EnvParamListBox::fn_bIsSelectedElement (CPA_BaseObject *pElem)
{
// no dialog => no selected element
if (!m_pDialog)
return FALSE;
switch (m_eType)
{
case E_te_MecEnvironment:
return (pElem == ((SECT_DialogEnv *) m_pDialog)->GetSelectedMecEnv());
case E_te_VisEnvironment:
return (pElem == ((SECT_DialogEnv *) m_pDialog)->GetSelectedVisEnv());
case E_te_SndEnvironment:
return (pElem == ((SECT_DialogEnv *) m_pDialog)->GetSelectedSndEnv());
case E_te_NoType:
return FALSE;
}
return FALSE;
}
*/
/*----------------------------------------
----------------------------------------*/
/*
BOOL SECT_EnvParamListBox::fn_bIsAlreadyUsed (CPA_BaseObject *pElem)
{
return FALSE;
}
*/